Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
seguridad:asegurar_linux [28/02/2018 09:28]
lc
seguridad:asegurar_linux [29/04/2019 12:51]
lc
Línea 1: Línea 1:
 {{tag>​centos bastionado seguridad}} {{tag>​centos bastionado seguridad}}
 ===== Bastionado de Centos ===== ===== Bastionado de Centos =====
- 
 ==== Asegurar la máquina físicamente ==== ==== Asegurar la máquina físicamente ====
  
Línea 12: 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 37: Línea 36:
  
 <​note>​ <​note>​
-En Centos para configurar la red ejecutar <code>​system-config-network</​code> o editando el fichero correspondiente a nuestra tarjeta, que se encuentra en la ruta **/​etc/​sysconfig/​networking/​devices**+En Centos para configurar la red ejecutar <sxh>​system-config-network</​sxh> o editando el fichero correspondiente a nuestra tarjeta, que se encuentra en la ruta **/​etc/​sysconfig/​networking/​devices**
  
 Los DNS hay que especificarlos en el archivo /​etc/​resolv.conf Los DNS hay que especificarlos en el archivo /​etc/​resolv.conf
Línea 43: Línea 42:
  
 == Deshabilitar IPV6 si no lo utilizamos == == Deshabilitar IPV6 si no lo utilizamos ==
-Para ver si tenemos IPV6 activo ejecutamos <code>​ifconfig | grep inet6</code>+Para ver si tenemos IPV6 activo ejecutamos <sxh>​ifconfig | grep inet6</sxh>
  
 Para deshabilitarlo sin reiniciar el sistema, ejecutar: Para deshabilitarlo sin reiniciar el sistema, ejecutar:
  
-<code>echo 1 > /​proc/​sys/​net/​ipv6/​conf/​all/​disable_ipv6 +<sxh>echo 1 > /​proc/​sys/​net/​ipv6/​conf/​all/​disable_ipv6 
-echo 1 > /​proc/​sys/​net/​ipv6/​conf/​default/​disable_ipv6</​code>+echo 1 > /​proc/​sys/​net/​ipv6/​conf/​default/​disable_ipv6</​sxh>
  
 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</​code>+sysctl -w net.ipv6.conf.default.disable_ipv6=1</​sxh>
  
 == Deshabilitar Zeroconf == == Deshabilitar Zeroconf ==
-Comprobar si se está ejecutando [[http://​es.wikipedia.org/​wiki/​Zeroconf|Zeroconf]] <code>ps -e | grep avahi</code>Si devuelve algún resultado es que avahi está activo. ​+Comprobar si se está ejecutando [[http://​es.wikipedia.org/​wiki/​Zeroconf|Zeroconf]] <sxh>ps -e | grep avahi</sxh>Si devuelve algún resultado es que avahi está activo. ​
 Para deshabilitarlo:​ Para deshabilitarlo:​
-Añadir la línea **NOZEROCONF=yes** Al archivo /​etc/​sysconfig/​network y eliminar el paquete ​ <code>yum -y remove avahi</code>+Añadir la línea **NOZEROCONF=yes** Al archivo /​etc/​sysconfig/​network y eliminar el paquete ​ <sxh>yum -y remove avahi</sxh>
  
 == 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</​code> o bien <code>ls -1 /etc/init >> servicios</​code>+<sxh>ls -1 /etc/init.d > servicios</​sxh> o bien <sxh>ls -1 /etc/init >> servicios</​sxh>
  
-Para deshabilitar un servicio determinado <code>​chkconfig <​service>​ off</code>+Para deshabilitar un servicio determinado <sxh>​chkconfig <​service>​ off</sxh>
  
 <note warning>​si es posible eliminar los paquetes</​note>​ <note warning>​si es posible eliminar los paquetes</​note>​
Línea 88: 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/​etc/​ntp.conf y poner nuestro servidor de tiempo el primero de la lista <​file>​server X.X.X.X </​file>​   * Editar el archivo/​etc/​ntp.conf y poner nuestro servidor de tiempo el primero de la lista <​file>​server X.X.X.X </​file>​
   * chkconfig ntpd on    * chkconfig ntpd on 
Línea 104: 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 /​etc/​pam.d/​su y asegurarse de que contiene la línea Editar el archivo /​etc/​pam.d/​su y asegurarse de que contiene la línea
-<code>auth required pam_wheel.so use_uid</​code>+<sxh>auth required pam_wheel.so use_uid</​sxh>
  
 == 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 143: 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 /​sbin/​nologin usuario</​code>+<sxh>useradd -M -s /​sbin/​nologin usuario</​sxh>
  
 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 /​sbin/​nologin se asigna una SHELL que impide el inicio de sesión en el sistema 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 /​sbin/​nologin se asigna una SHELL que impide el inicio de sesión en el sistema
Línea 158: 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>​iptables -I OUTPUT -p udp -d X.X.X.X –dport 514 -j ACCEPT</code>+<sxh>​iptables -I OUTPUT -p udp -d X.X.X.X –dport 514 -j ACCEPT</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 /​etc/​{cron.deny,​at.deny}echo root > /​etc/​cron.allowecho root > /​etc/​at.allow</​code>+<sxh>rm /​etc/​{cron.deny,​at.deny}echo root > /​etc/​cron.allowecho root > /​etc/​at.allow</​sxh>
  
 ==== Bastionar el acceso por SSH ==== ==== Bastionar el acceso por SSH ====
Línea 210: 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 224: Línea 223:
  
 Para ver los dispositivos ejecutar ​ Para ver los dispositivos ejecutar ​
-<code>lspci -v </code+<sxh>lspci -v </sxh
-<code>​lsusb</​code>+<sxh>​lsusb</​sxh>
  
 Una vez localizados,​ deshabilitar los módulos innecesarios ​ Una vez localizados,​ deshabilitar los módulos innecesarios ​
Línea 243: 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</​code>+<sxh>chmod -s ruta_al_ejecutable</​sxh>
  
 ==== Habilitar la comprobación de integridad ==== ==== Habilitar la comprobación de integridad ====
Línea 269: Línea 268:
  
 === 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>