Asegurando RED HAT LINUX
Autor: jamesjara.com @jamesjara
Esta Linux Security HOWTO está dirigido a un público más técnico, los administradores de sistemas Linux, y la gente de seguridad en las empresas y organizaciones que tienen que utilizar las distribuciones comerciales de Linux para su entorno de producción. Si usted es un experto en Linux, puede que encuentre material familiar aquí, pero usted tendrá dificultades para encontrar documentación sobre diversos temas, como la restricción del acceso del sistema y su para cuentas compartidas sólo como se explica en este artículo, vea Restringir el acceso del sistema y su para cuentas compartidas .
Si usted necesita para hacer que los sistemas de producción compatibles con Linux con diferentes requisitos de auditoría, entonces este artículo le ofrece una buena base y punto de partida. El objetivo principal de esta guía de seguridad de Linux es discutir los requisitos básicos de seguridad de Linux, incluyendo las directivas de cuentas para los sistemas de producción que están siendo auditados. Este documento cubre varios servicios del sistema, como SSH que suelen ser habilitada y es necesaria en todos los servidores de producción Linux. Sin embargo, no cubre los servicios o aplicaciones como Apache, Samba, etc, ya que estas aplicaciones / servicios generalmente no son necesarios en todos los servidores de Linux y no debería estar instalado en todos los sistemas. De hecho, estas aplicaciones se garantiza su propia seguridad . Además, este artículo no cubre las medidas de seguridad que requieren parches del kernel. Esta no es una opción para la mayoría de las empresas debido a problemas de soporte técnico del proveedor.
• Minimizar la cantidad de software instalado y en ejecución con el fin de minimizar la vulnerabilidad. Utilice la seguridad de mejora del software y las herramientas siempre que sea disponible (por ejemplo, SELinux e IPTables).
• Ejecute cada servicio de red en un servidor independiente cuando posible. Esto minimiza el riesgo de que un compromiso de un servicio podría conducir a un compromiso de otros.
• Mantener las cuentas de usuario. Crear una política de contraseñas y hacer cumplir su uso. Elimine las cuentas de usuario no utilizadas.
• Revisión del sistema y registros de aplicación en forma rutinaria. Enviar registros a un servidor dedicado. esto evita intrusos fácilmente evitar la detección mediante la modificación los registros locales. Nunca iniciar la sesión directamente como root, a menos que sea absolutamente necesario.
• Los administradores deben usar sudo para ejecutar comandos como root cuando sea necesario. Las cuentas capaces de usar sudo se especifican en /etc/ sudoers, que se edita con el visudo utilidad. De forma predeterminada, los registros correspondientes se escriben en /var/log/secure.
escribibles por el usuario directorios como el siguiente se montan en particiones separadas: /home, /tmp, /var /tmp.
Durante la configuración del sistema, cambie las opciones de montaje en /etc/fstab para limitar el acceso de los usuarios en sistemas de archivos apropiados.
La opción por defecto es igual a rw, suid, dev, exec, auto , nouser, async. Usando noexec lugar impide la ejecución de binarios en un sistema de archivos (aunque no evitará guiones de marcha). Usando nosuid evitará que el bit setuid de tener efecto. La opción nodev impide el uso del dispositivo archivos en el sistema de archivos
disquetes y dispositivos externos, y establecer una contraseña para proteger
estos ajustes.
A continuación, establezca una contraseña para el gestor de arranque GRUB. Generar un hash de la contraseña usando el comando /sbin/grub-md5-crypt.
Añadir el picadillo a la primera línea del archivo /etc/grub.conf como sigue:
password - md5 PasswordHash
Esto evita que los usuarios entren en modo de usuario único o cambiar la configuración en el arranque.
Mantenga actualizado el software:
Puede descargar actualizaciones de forma manual a través de Red Hat
Red (http://rhn.redhat.com) o registrar cada sistema con RHN para aplicar las actualizaciones de forma automática. Las actualizaciones de seguridad deben aplicarse tan pronto como sea posible.
La versión predeterminada de yum-updatesd no funciona con fiabilidad. Una mejor solución es aplicar las actualizaciones a través de un cron trabajo. En primer lugar, desactivar el servicio con:
/ sbin / chkconfig yum-off updatesd
Segundo, cree el archivo yum.cron, lo convierten en lugar ejecutable,
en /etc/cron.daiy o /etc/cron.weekly, y asegurar que se lea como sigue:
#! /bin/sh
/usr/bin/ yum R-120-E 0-d 0-y update yum
/usr/bin/ yum R-10-0-d e 0-y update
Deshabilitar los servicios innecesarios
Para una lista de los servicios configurados para iniciarse en el arranque, ejecute el
el siguiente comando:
/sbin/chkconfig - list
Encuentre la columna para el nivel de ejecución actual para ver qué
servicios han sido habilitadas. El nivel de ejecución predeterminado es 5. Para desactivar un
servicio, ejecute el comando siguiente:
/sbin/chkconfig off servicename
A menos que se le pide, deshabilitar lo siguiente:
anacron
haldaemon
messagebus
apmd
hidd
microcode_ctl
autofs `
hplip *
pcscd
avahi-daemon *
isdn
readahead_early
bluetooth
kdump
readahead_later
tazas *
kudzu
rhnsd *
Firstboot
mcstrans
setroubleshoot
gpm
mdmonitor
xfs
servicios, por lo retire si es posible:
yum groupremove "X iwndows"
La instalación de X Windows también pueden evitarse completamente durante la instalación inicial del sistema.
comunicaciones de red necesarios. Para estaciones de trabajo, esto
puede implicar el bloqueo de todas las comunicaciones entrantes, con excepción de
los relacionados con el sistema de conexiones iniciado. Si Iptables se está ejecutando, ver la política de firewall actual con el el siguiente comando:
/sbin/iptables-L
Por defecto, la salida debe corresponder a reglas almacenadas en el archivo /etc/sysconfig/iptables. Comprender y editar estas reglas, la eliminación de las líneas que permiten innecesario comunicaciones. Para activar las reglas actualizadas, reinicie el servicio.
También configurar la biblioteca TCP Wrapper para proteger la red demonios que apoyan su uso mediante la adición de reglas apropiadas para /etc/hosts.allow y /etc/hosts.deny.
SELINUX = enforcing
SELINUXTYPE = targeted
Fuertes políticas como mls estricto y se puede utilizar si apropiado. Sin embargo, éstas requieren la personalización para operar con éxito durante muchos escenarios de uso de propósito general. Establecer parámetros del kernel Al inicio, el sistema lee y aplica un conjunto de núcleo parámetros de / etc / sysctl.conf. Agregue el siguiente líneas a ese archivo para prevenir ciertos tipos de ataques:
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
encima de la cabeza. En su lugar, llame a su utilidad de actualización, ntpdate, directamente
a través de un trabajo cron. Cree el archivo /etc/cron.d/ntpdate
con la siguiente línea:
15 **** root/usr/sbin/ntpdate servidor
Sustituir un servidor NTP adecuado para el servidor. una red deben sincronizar su tiempo a partir de un PNT local servidor y, a continuación, sólo este servidor NTP local debe adquirir la tiempo desde una fuente externa, de confianza.
Configurar o desactivar SSH SSH es a menudo necesario, pero si no es así, desactivarlo:
/sbin/chkconfig sshd off
Si SSH, es conveniente asegurarse el archivo de configuración de SSH
/etc/ssh/sshd_config incluye las siguientes líneas:
PermitRootLogin no
Protocol 2
Si es posible, limitar el acceso SSH a un subconjunto de usuarios. crear un grupo llamado sshusers y sólo agregar los usuarios que necesitan acceso remoto. A continuación, agregue la siguiente línea a /etc/ssh/sshd_config:
AllowGroups sshusers
Reinicie el servicio para que los cambios surtan efecto.
deshabilitar IPv6. Para ello, evitar que el módulo de núcleo
carga añadiendo la siguiente línea al
/etc/modprobe.conf:
instalar ipv6/bin/true
A continuación, agregar o cambiar las siguientes líneas en
/etc/sysconfig/network:
NETWORKING_IPV6 = sin
IPV6INIT = sin
Bueno gracias por su lectura, james jara costa rica
Autor: jamesjara.com @jamesjara
Asegurando RED HAT LINUX
Enfoque de este artículo
Esta Linux Security HOWTO está dirigido a un público más técnico, los administradores de sistemas Linux, y la gente de seguridad en las empresas y organizaciones que tienen que utilizar las distribuciones comerciales de Linux para su entorno de producción. Si usted es un experto en Linux, puede que encuentre material familiar aquí, pero usted tendrá dificultades para encontrar documentación sobre diversos temas, como la restricción del acceso del sistema y su para cuentas compartidas sólo como se explica en este artículo, vea Restringir el acceso del sistema y su para cuentas compartidas .
Si usted necesita para hacer que los sistemas de producción compatibles con Linux con diferentes requisitos de auditoría, entonces este artículo le ofrece una buena base y punto de partida. El objetivo principal de esta guía de seguridad de Linux es discutir los requisitos básicos de seguridad de Linux, incluyendo las directivas de cuentas para los sistemas de producción que están siendo auditados. Este documento cubre varios servicios del sistema, como SSH que suelen ser habilitada y es necesaria en todos los servidores de producción Linux. Sin embargo, no cubre los servicios o aplicaciones como Apache, Samba, etc, ya que estas aplicaciones / servicios generalmente no son necesarios en todos los servidores de Linux y no debería estar instalado en todos los sistemas. De hecho, estas aplicaciones se garantiza su propia seguridad . Además, este artículo no cubre las medidas de seguridad que requieren parches del kernel. Esta no es una opción para la mayoría de las empresas debido a problemas de soporte técnico del proveedor.
Principios Generales
• Cifrar todos los datos transmitidos por la red. Autenticación de cifrado de la información (como contraseñas) es particularmente importante.
• Minimizar la cantidad de software instalado y en ejecución con el fin de minimizar la vulnerabilidad. Utilice la seguridad de mejora del software y las herramientas siempre que sea disponible (por ejemplo, SELinux e IPTables).
• Ejecute cada servicio de red en un servidor independiente cuando posible. Esto minimiza el riesgo de que un compromiso de un servicio podría conducir a un compromiso de otros.
• Mantener las cuentas de usuario. Crear una política de contraseñas y hacer cumplir su uso. Elimine las cuentas de usuario no utilizadas.
• Revisión del sistema y registros de aplicación en forma rutinaria. Enviar registros a un servidor dedicado. esto evita intrusos fácilmente evitar la detección mediante la modificación los registros locales. Nunca iniciar la sesión directamente como root, a menos que sea absolutamente necesario.
• Los administradores deben usar sudo para ejecutar comandos como root cuando sea necesario. Las cuentas capaces de usar sudo se especifican en /etc/ sudoers, que se edita con el visudo utilidad. De forma predeterminada, los registros correspondientes se escriben en /var/log/secure.
Particiones y montaje
Durante la instalación inicial, asegúrese de que los sistemas de archivos con
escribibles por el usuario directorios como el siguiente se montan en particiones separadas: /home, /tmp, /var /tmp.
Durante la configuración del sistema, cambie las opciones de montaje en /etc/fstab para limitar el acceso de los usuarios en sistemas de archivos apropiados.
La opción por defecto es igual a rw, suid, dev, exec, auto , nouser, async. Usando noexec lugar impide la ejecución de binarios en un sistema de archivos (aunque no evitará guiones de marcha). Usando nosuid evitará que el bit setuid de tener efecto. La opción nodev impide el uso del dispositivo archivos en el sistema de archivos
Seguridad Física
Configure el BIOS para desactivar el arranque desde CD / DVD,
disquetes y dispositivos externos, y establecer una contraseña para proteger
estos ajustes.
A continuación, establezca una contraseña para el gestor de arranque GRUB. Generar un hash de la contraseña usando el comando /sbin/grub-md5-crypt.
Añadir el picadillo a la primera línea del archivo /etc/grub.conf como sigue:
password - md5 PasswordHash
Esto evita que los usuarios entren en modo de usuario único o cambiar la configuración en el arranque.
Mantenga actualizado el software:
Puede descargar actualizaciones de forma manual a través de Red Hat
Red (http://rhn.redhat.com) o registrar cada sistema con RHN para aplicar las actualizaciones de forma automática. Las actualizaciones de seguridad deben aplicarse tan pronto como sea posible.
La versión predeterminada de yum-updatesd no funciona con fiabilidad. Una mejor solución es aplicar las actualizaciones a través de un cron trabajo. En primer lugar, desactivar el servicio con:
/ sbin / chkconfig yum-off updatesd
Segundo, cree el archivo yum.cron, lo convierten en lugar ejecutable,
en /etc/cron.daiy o /etc/cron.weekly, y asegurar que se lea como sigue:
#! /bin/sh
/usr/bin/ yum R-120-E 0-d 0-y update yum
/usr/bin/ yum R-10-0-d e 0-y update
Deshabilitar los servicios innecesarios
Para una lista de los servicios configurados para iniciarse en el arranque, ejecute el
el siguiente comando:
/sbin/chkconfig - list
Encuentre la columna para el nivel de ejecución actual para ver qué
servicios han sido habilitadas. El nivel de ejecución predeterminado es 5. Para desactivar un
servicio, ejecute el comando siguiente:
/sbin/chkconfig off servicename
A menos que se le pide, deshabilitar lo siguiente:
anacron
haldaemon
messagebus
apmd
hidd
microcode_ctl
autofs `
hplip *
pcscd
avahi-daemon *
isdn
readahead_early
bluetooth
kdump
readahead_later
tazas *
kudzu
rhnsd *
Firstboot
mcstrans
setroubleshoot
gpm
mdmonitor
xfs
Retire X Windows
Un servidor no necesitará típicamente X Windows para proporcionar su
servicios, por lo retire si es posible:
yum groupremove "X iwndows"
La instalación de X Windows también pueden evitarse completamente durante la instalación inicial del sistema.
Configurar y utilizar iptables y TCP Wrapper
El firewall Iptables debe estar configurado para permitir sólo
comunicaciones de red necesarios. Para estaciones de trabajo, esto
puede implicar el bloqueo de todas las comunicaciones entrantes, con excepción de
los relacionados con el sistema de conexiones iniciado. Si Iptables se está ejecutando, ver la política de firewall actual con el el siguiente comando:
/sbin/iptables-L
Por defecto, la salida debe corresponder a reglas almacenadas en el archivo /etc/sysconfig/iptables. Comprender y editar estas reglas, la eliminación de las líneas que permiten innecesario comunicaciones. Para activar las reglas actualizadas, reinicie el servicio.
También configurar la biblioteca TCP Wrapper para proteger la red demonios que apoyan su uso mediante la adición de reglas apropiadas para /etc/hosts.allow y /etc/hosts.deny.
Configurar y utilizar SELinux
La política predeterminada de SELinux, llamada selectiva, proporciona protección contra el sistema comprometido o mal configurado servicios. Esta política no debe interferir con el sistema normal operación. Asegúrese de que el archivo /etc/selinux/config incluye la las siguientes líneas:
SELINUX = enforcing
SELINUXTYPE = targeted
Fuertes políticas como mls estricto y se puede utilizar si apropiado. Sin embargo, éstas requieren la personalización para operar con éxito durante muchos escenarios de uso de propósito general. Establecer parámetros del kernel Al inicio, el sistema lee y aplica un conjunto de núcleo parámetros de / etc / sysctl.conf. Agregue el siguiente líneas a ese archivo para prevenir ciertos tipos de ataques:
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
NTP
Para la mayoría de los sistemas, el servicio ntpd introduce innecesario
encima de la cabeza. En su lugar, llame a su utilidad de actualización, ntpdate, directamente
a través de un trabajo cron. Cree el archivo /etc/cron.d/ntpdate
con la siguiente línea:
15 **** root/usr/sbin/ntpdate servidor
Sustituir un servidor NTP adecuado para el servidor. una red deben sincronizar su tiempo a partir de un PNT local servidor y, a continuación, sólo este servidor NTP local debe adquirir la tiempo desde una fuente externa, de confianza.
Configurar o desactivar SSH SSH es a menudo necesario, pero si no es así, desactivarlo:
/sbin/chkconfig sshd off
Si SSH, es conveniente asegurarse el archivo de configuración de SSH
/etc/ssh/sshd_config incluye las siguientes líneas:
PermitRootLogin no
Protocol 2
Si es posible, limitar el acceso SSH a un subconjunto de usuarios. crear un grupo llamado sshusers y sólo agregar los usuarios que necesitan acceso remoto. A continuación, agregue la siguiente línea a /etc/ssh/sshd_config:
AllowGroups sshusers
Reinicie el servicio para que los cambios surtan efecto.
Deshabilitar IPv6
A menos que su política o la configuración de red lo necesite,
deshabilitar IPv6. Para ello, evitar que el módulo de núcleo
carga añadiendo la siguiente línea al
/etc/modprobe.conf:
instalar ipv6/bin/true
A continuación, agregar o cambiar las siguientes líneas en
/etc/sysconfig/network:
NETWORKING_IPV6 = sin
IPV6INIT = sin
Bueno gracias por su lectura, james jara costa rica
Autor: jamesjara.com @jamesjara
Comentarios
Publicar un comentario