meta data de esta página
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
seguridad:asegurar_linux [2015/04/24 10:20] – luisca | seguridad:asegurar_linux [2023/05/02 09:04] (actual) – [Referencias] lc | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
+ | {{tag> | ||
===== Bastionado de Centos ===== | ===== Bastionado de Centos ===== | ||
- | |||
==== Asegurar la máquina físicamente ==== | ==== Asegurar la máquina físicamente ==== | ||
Línea 11: | Línea 11: | ||
* Proteger el gestor de arranque GRUB mediante contraseña | * Proteger el gestor de arranque GRUB mediante contraseña | ||
* Deshabilita el arranque interactivo en el caso de que la distribución lo soporte | * Deshabilita el arranque interactivo en el caso de que la distribución lo soporte | ||
- | * | + | |
==== Instalación ==== | ==== Instalación ==== | ||
Línea 36: | Línea 36: | ||
< | < | ||
- | En Centos para configurar la red ejecutar <code> | + | En Centos para configurar la red ejecutar <sxh> |
Los DNS hay que especificarlos en el archivo / | Los DNS hay que especificarlos en el archivo / | ||
Línea 42: | Línea 42: | ||
== Deshabilitar IPV6 si no lo utilizamos == | == Deshabilitar IPV6 si no lo utilizamos == | ||
- | Para ver si tenemos IPV6 activo ejecutamos <code> | + | Para ver si tenemos IPV6 activo ejecutamos <sxh> |
Para deshabilitarlo sin reiniciar el sistema, ejecutar: | Para deshabilitarlo sin reiniciar el sistema, ejecutar: | ||
- | <code>echo 1 > / | + | <sxh>echo 1 > / |
- | echo 1 > / | + | echo 1 > / |
otra forma sería: | otra forma sería: | ||
- | <code> | + | <sxh> |
sysctl -w net.ipv6.conf.all.disable_ipv6=1 | sysctl -w net.ipv6.conf.all.disable_ipv6=1 | ||
- | sysctl -w net.ipv6.conf.default.disable_ipv6=1</ | + | sysctl -w net.ipv6.conf.default.disable_ipv6=1</ |
== Deshabilitar Zeroconf == | == Deshabilitar Zeroconf == | ||
- | Comprobar si se está ejecutando [[http:// | + | Comprobar si se está ejecutando [[http:// |
Para deshabilitarlo: | Para deshabilitarlo: | ||
- | Añadir la línea **NOZEROCONF=yes** Al archivo / | + | Añadir la línea **NOZEROCONF=yes** Al archivo / |
== Detectar sevicios en escucha == | == Detectar sevicios en escucha == | ||
- | Ejecutar <code>sudo netstat -tuanp | grep LISTEN</code> | + | Ejecutar <sxh>sudo netstat -tuanp | grep LISTEN</sxh> |
Si tenemos servicios innecesarios en /etc/init.d se encuentran los scripts de gestión del sistema SystenV tradicional y en /etc/init se encuentran los servicios adaptdos al sistema upstart. | Si tenemos servicios innecesarios en /etc/init.d se encuentran los scripts de gestión del sistema SystenV tradicional y en /etc/init se encuentran los servicios adaptdos al sistema upstart. | ||
Para ver que servicios tenemos ejecutamos | Para ver que servicios tenemos ejecutamos | ||
- | <code>ls -1 /etc/init.d > servicios</ | + | <sxh>ls -1 /etc/init.d > servicios</ |
- | Para deshabilitar un servicio determinado <code> | + | Para deshabilitar un servicio determinado <sxh> |
<note warning> | <note warning> | ||
Línea 87: | Línea 87: | ||
Para configurar un servidor de tiempo hay que seguir estos pasos: | Para configurar un servidor de tiempo hay que seguir estos pasos: | ||
- | * Instalar el paquete ntpd <code>yum install ntp</code> | + | * Instalar el paquete ntpd <sxh>yum install ntp</sxh> |
* Editar el archivo/ | * Editar el archivo/ | ||
* chkconfig ntpd on | * chkconfig ntpd on | ||
Línea 103: | Línea 103: | ||
== Crear usuarios con privilegios de administrador == | == Crear usuarios con privilegios de administrador == | ||
Ejecutar el siguiente comando para cada usuario que requiera privilegios de administrador | Ejecutar el siguiente comando para cada usuario que requiera privilegios de administrador | ||
- | <code>usermod -G wheel -a usuario </code> | + | <sxh>usermod -G wheel -a usuario </sxh> |
Editar el archivo / | Editar el archivo / | ||
- | <code>auth required pam_wheel.so use_uid</ | + | <sxh>auth required pam_wheel.so use_uid</ |
== Limitar el uso de sudo a miembros de un grupo de administradores == | == Limitar el uso de sudo a miembros de un grupo de administradores == | ||
Línea 142: | Línea 142: | ||
Para crear usuario sin Shell hay que ejecutar el comando: | Para crear usuario sin Shell hay que ejecutar el comando: | ||
- | <code>useradd -M -s / | + | <sxh>useradd -M -s / |
Donde -M indica que no se creará el directorio HOME del usuario, si es necesario que tenga HOME hay que quitar este parámetro del comando, y -s indica la SHELL que se le asigna al usuario, al especificar / | Donde -M indica que no se creará el directorio HOME del usuario, si es necesario que tenga HOME hay que quitar este parámetro del comando, y -s indica la SHELL que se le asigna al usuario, al especificar / | ||
Línea 157: | Línea 157: | ||
Si se ha denegado la salida del tráfico mediante reglas de iptables habrá que permitir la salida al puerto 514 UDP mediante el comando | Si se ha denegado la salida del tráfico mediante reglas de iptables habrá que permitir la salida al puerto 514 UDP mediante el comando | ||
- | <code> | + | <sxh> |
==== At y Cron ==== | ==== At y Cron ==== | ||
Permitir el uso de cron y at tan solo al usuario root ejecutando los siguientes comandos | Permitir el uso de cron y at tan solo al usuario root ejecutando los siguientes comandos | ||
- | <code>rm / | + | <sxh>rm / |
==== Bastionar el acceso por SSH ==== | ==== Bastionar el acceso por SSH ==== | ||
Línea 209: | Línea 209: | ||
Para instalar y arrancar auditd durante el inicio del sistema ejecutar estos comandos | Para instalar y arrancar auditd durante el inicio del sistema ejecutar estos comandos | ||
- | <code> | + | <sxh> |
yum install auditd | yum install auditd | ||
- | chkconfig auditd on</code> | + | chkconfig auditd on</sxh> |
Una vez instalado y configurado hay que revisar el resultado del comando aureport regularmente | Una vez instalado y configurado hay que revisar el resultado del comando aureport regularmente | ||
Línea 223: | Línea 223: | ||
Para ver los dispositivos ejecutar | Para ver los dispositivos ejecutar | ||
- | <code>lspci -v </code> | + | <sxh>lspci -v </sxh> |
- | <code> | + | <sxh> |
Una vez localizados, | Una vez localizados, | ||
Línea 242: | Línea 242: | ||
Desactivar el bit SUID y SGID en el máximo de programas | Desactivar el bit SUID y SGID en el máximo de programas | ||
Para buscar que archivos tienen el bit SUID/SGID activado ejecutar | Para buscar que archivos tienen el bit SUID/SGID activado ejecutar | ||
- | <code>find / -xdev \( -perm -4000 -o -perm -2000 \) -type f -print </code> | + | <sxh>find / -xdev \( -perm -4000 -o -perm -2000 \) -type f -print </sxh> |
Revisar el listado que aparece por si hay alguno al que podamos quitarselo | Revisar el listado que aparece por si hay alguno al que podamos quitarselo | ||
para desactivar este permiso | para desactivar este permiso | ||
- | <code>chmod -s ruta_al_ejecutable</ | + | <sxh>chmod -s ruta_al_ejecutable</ |
+ | |||
+ | ==== Habilitar la comprobación de integridad ==== | ||
+ | La comprobación de integridad nos ayuda a localiza el punto de entrada de un ataque así como los archivos modificados o a los que han tenido acceso. | ||
+ | Para esta tarea podemos utilizar estas herramientas: | ||
+ | * Amtu (Abstract Machine Test Utility): Realiza comprobaciones de seguridad en CPU, HD, red y memoria | ||
+ | * Aide(Advanced Intrusion Detection Environment): | ||
==== Scripts de bastionado ==== | ==== Scripts de bastionado ==== | ||
Línea 259: | Línea 265: | ||
* www.sans.org/ | * www.sans.org/ | ||
* http:// | * http:// | ||
+ | * https:// | ||
=== Búsqueda de archivos con suid/sgid === | === Búsqueda de archivos con suid/sgid === | ||
- | <code>find / -type t\ (-perm 04000 -o - perm -02000\) -exec ls -la {} \</code> | + | <sxh>find / -type t\ (-perm 04000 -o - perm -02000\) -exec ls -la {} \</sxh> |
=== Buscar otros archivos peligrosos === | === Buscar otros archivos peligrosos === | ||
- | <code>find / name -rhosts -name .netrc</code> | + | <sxh>find / name -rhosts -name .netrc</sxh> |