Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

Proviene del artículo: 25 trucos de seguridad para servidores Linux (1 de 2)

Escriba primero:

chkconfig --list

# chkconfig --list | grep :on

O simplemente utilizar el siguiente comando para ver los servicios que se activan sólo para el nivel de ejecución 3.


# chkconfig --list | grep 3:on

A continuación, podría utilizar un comando como este para eliminar el servicio de puesta en marcha.


# chkconfig --del 'service-name'

Consejo # 13 - Desinstale X Windows
Considere la posibilidad de la eliminación total de X Windows en su sistema, y utilice sólo la línea de comandos para la gestión. No hay nada que usted pueda hacer en la interfaz gráfica que no se puede hacer desde la línea de comandos y la eliminación no sólo va a mejorar la seguridad, sino también el rendimiento porque no se desperdician los recursos del sistema cuando se muestra la interfaz gráfica de usuario.

Consejo # 14 - Secure Kernel Linux
Usted puede asegurar su Kernel Linux modificando el archivo / etc / sysctl.conf, este archivo es leído por el núcleo durante el arranque y puede ser editado con los siguientes valores para añadir seguridad adicional.

# Turn on execshield
 kernel.exec-shield =1
 kernel.randomize_va_space =1
# Don't reply to broadcasts. Prevents joining a smurf attack
 net.ipv4.icmp_echo_ignore_broadcasts =1
# Enable protection for bad icmp error messages
 net.ipv4.icmp_ignore_bogus_error_responses =1
# Enable syncookies for SYN flood attack protection
 net.ipv4.tcp_syncookies =1
# Enable IP spoofing protection
 net.ipv4.conf.all.rp_filter =1
 net.ipv4.conf.default.rp_filter =1
# Log spoofed, source routed, and redirect packets
 net.ipv4.conf.all.log_martians =1
 net.ipv4.conf.default.log_martians =1
# Don't allow source routed packets
 net.ipv4.conf.all.accept_source_route =0
 net.ipv4.conf.default.accept_source_route =0
# Don't allow outsiders to alter the routing tables
 net.ipv4.conf.all.accept_redirects =0
 net.ipv4.conf.default.accept_redirects =0
 net.ipv4.conf.all.secure_redirects =0
 net.ipv4.conf.default.secure_redirects =0
# Don't pass traffic between networks or act as a router
 net.ipv4.ip_forward =0
 net.ipv4.conf.all.send_redirects =0
 net.ipv4.conf.default.send_redirects =0

Consejo # 15 - Instalar los parches del kernel Linux
Debe tener una política de seguridad para el manejo de los parches del kernel Linux, la cual debe incluir los parches de seguridad de Linux para recibir las actualizaciones y probarlos para asegurar que los problemas no se plantean y que los parches se han instalado en el sistema. Asegúrese siempre de que los servidores en producción se actualizan con regularidad para evitar cualquier posible vulnerabilidad conocida de la explotación en el sistema.

Consejo # 16 - particiones separadas
Debe crear particiones separadas para los directorios, modificables sólo por usuarios permitidos y bloquear el acceso de escritura y ejecución a las particiones que no sean necesarios. Usted debe considerar la colocación de los siguientes sistemas de archivos en particiones diferentes.

 /usr 
/home
/var y /var/tmp
/tmp

A continuación, puede editar el archivo /etc/fstab para impedir la ejecución de archivos binarios, desactivar los dispositivos de bloques en la partición y evitar que poner SUID / SGID en los archivos. He aquí una entrada fstab común para limitar el acceso del usuario al directorio ftpdata.


/dev/sda5 /ftpdata ext3 defaults,noexec,nodev,nosuid 1 2

Consejo # 17 - Use las extensiones de seguridad de Linux
Hacer uso de software como SELinux, AppArmor o GRSecurity para proporcionar endurecimiento adicional a su Kernel Linux. Estos productos proporcionan las políticas adicionales para restringir los procesos y servicios basados en listas de control de acceso.

Consejo # 18 - servidores separados para distintos servicios
Considerar la creación de diferentes servidores físicos o virtuales para diferentes funciones, es decir, separar su servidor de correo y el servidor web, o el servidor de base de datos y el servidor de aplicaciones. Esto garantiza que si un determinado servicio se ve comprometido, está contenido en un solo servidor.

Consejo # 19 - Seguridad física de los servidores
Usted puede proteger su servidor lo más posible de los ataques a distancia, pero si no hacen nada para proteger el hardware físico no tiene sentido. Si alguien tiene acceso a su servidor físico, puede eliminar el disco duro y acceder a los datos confidenciales o arrancar desde un CD y acceder a sus datos. Considerar la creación de una contraseña de BIOS y deshabilitar el arranque desde CD o USB. También se debe proteger con contraseña el gestor de arranque (GRUB o LILO, etc) para evitar que los usuarios accedan a modo de usuario único o entornos de recuperación, donde no se requieren contraseñas.

Consejo # 20 - Configuración de NTP
Contar con un sistema de reloj preciso es importante para la revisión de los archivos de registro y determinar cuándo se produjo un evento. A menudo, los relojes del sistema, pueden producirse problemas de sincronización o de ser puesto a una fecha más antigua y esto puede causar estragos en el seguimiento de los errores. Considere la posibilidad de crear una tarea programada en lugar de ejecutar ntpd (ver el consejo # 12) para actualizar la hora del día o por hora con una fuente común para todos los servidores.

Consejo # 21 - Monitor de todos los registros
Configuración de registro y software de auditoría de seguimiento de errores y cambios en sus servidores, tales como auditd y Logwatch / Logcheck. Considere la posibilidad de configurar un servidor de registro remoto que se actualiza regularmente para protegerse de un intruso poner en peligro los archivos de registro sin su conocimiento.

Consejo # 22 - Desactivar IPv6
IPv6 muy rara vez se necesita en esta etapa ya que la mayoría sólo utiliza el tráfico IPv4 e IPv6 es permitido sólo una red que necesita controlar y proteger.

Deshabilitar IPv6 es la opción más fácil, pero si por alguna razón que lo requiere, entonces debería configurar un firewall IPv6.

Consejo # 23 - Elimina SUID y SGID de archivos
Después de haber instalado y configurado el sistema y el software que deben ejecutar los siguientes comandos para buscar todos los archivos y carpetas con el conjunto de SUID, SGID:

Puede escribir estos comandos.
Para encontrar todos los archivos SUID:


# find / -xdev -type f -perm +u=s -print

Para encontrar todos los archivos SGID:


# find / -xdev -type f -perm +g=s -print

Para encontrar riesgos globales:


# find / -xdev -perm +o=w ! ( -type d -perm +o=t ) ! -type l -print

Para buscar ficheros (y directorios) que el grupo puede escribir:

# find . -perm /g+w

Para buscar idem, que "otros" puede escribir

# find . -perm /o+w

# Para buscar directorios en los que "otros" puede escribir:

find . -type d -perm /o+w

# Para evitar justo lo anterior, quitando los permisos a aquellos directorios en los que "otros" puede escribir:

chmod o-x `find . -type d -perm /o+w`

A continuación, debe inspeccionar cada archivo y carpeta para determinar si tienen la configuración correcta y si no se utiliza el comando chmod para realizar cambios en ellos.

Consejo # 24 - Cifrar los datos confidenciales
Sus datos se suelen almacenar en un disco duro en un formato no cifrado por lo que cualquier usuario que tenga acceso al servidor puede quitar el disco duro e instalarlo en otro sistema y leer todos sus datos. Usted debe considerar la configuración del disco Linux o cifrar la carpeta ya sea su HOME o directorios / carpetas sensibles (es decir, archivos de bases de datos, correos electrónicos, etc.) Si bien se puede cifrar todo el disco se trata de una gran cantidad de trabajo y no suele valer la pena.

Consejo # 25 - Seguridad del software
Es bueno tener un servidor Linux de alta seguridad, pero el sistema sólo es seguro, como el software que se ejecutan en él. Siempre se debe instalar las últimas versiones de software y asegurese de que está al día. También la mayoría de los programas tienen la manera de hacerlos más seguros mediante la edición de sus archivos de configuración y desactivar las partes innecesarias del software. El siguiente es un ejemplo para el endurecimiento de la configuración del servidor OpenSSH, sólo tiene que añadir lo siguiente a su fichero de configuración de OpenSSH.


# Use only SSH Protocol Ver 2
Protocol 2
# Only allow the following users SSH Access
AllowUsers User1 User2 etc
# Deny access to the following users
DenyUsers admin etc
# Set the timeout period for idle sessions (in seconds)
ClientAliveInterval 300
ClientAliveCountMax 0
# Disable .rhosts files
IgnoreRhosts yes
# Disable Host-Based Authentication
HostbasedAuthentication no
# Remove ability to login as Root
PermitRootLogin no
# Change the default SSH Port (Not essential but can help uncomment if you want)
#Port 22
#ListenAddress 192.168.1.1
# Consider CHRooting users to their own directories.
# Subsystem sftp internal-sftp
#Match group sftponly
# ChrootDirectory /home/%u
# X11Forwarding no
# AllowTcpForwarding no
# ForceCommand internal-sftp
# Disable empty passwords from login
PermitEmptyPasswords no
# Set your required Log Level (Either INFO or DEBUG)
LogLevel INFO
# Turn on privilege separation
UsePrivilegeSeparation yes
# Prevent the use of insecure home directory and key file permissions
StrictModes yes
# Turn on reverse name checking
VerifyReverseMapping yes
# Do you need port forwarding?
AllowTcpForwarding no
X11Forwarding no
# Specifies whether password authentication is allowed. The default is yes.
PasswordAuthentication no