En este breve tutorial explicaremos los pasos para fortalecer la Seguridad en nuestros Servidores bajo el Sistema Operativo GNU/Linux Debian.
* Lo primero que debemos hacer es, crear los usuarios que tendrán acceso a los servidores:
#adduser usuario
Este proceso se debe realizar para todo los usuarios a crear, tener en cuenta que el comando adduser tiene otras opciones; el cual pueden consultarlas con un man adduser.
* Crear el grupo de administradores “wheel”
#addgroup --system wheel
luego agregamos los usuarios al grupo wheel:
#useradd -m -G wheel usuario
o podemos agregarlos manualmente por /etc/group; además debemos editar el id del grupo “wheel” el cual lo cambiaremos por 2000; el comando addgroup tiene muchas opciones, así que seria bueno revisar el man.
Lo que también podemos hacer para evitar que cualquier usuario no agregado al grupo wheel pueda hacer su (obtener privilegios de administrador); es editar el archivo /etc/pam.d/su y buscamos la siguiente linea:
# auth required pam_wheel.so <----- descomentamos esta linea.
* Configurar maximo retries, tiempo máximo de login y Habilitar
opción para registrar logins fallidos
Comandos:
vi /etc/login.defs
---En el archivo
login.defs se cambian los tiempos de las siguientes lineas:
---Maximos
reintentos
---LOGIN_RETRIES
3
---TimeOut Login
---LOGIN_TIMEOUT
30
---Registra lo
logins fallidos
---LOG_UNKFAIL_ENAB
yes
* Bloquear las TTY para no acceder directamente como root
con el editor de texto vi, nos dirigimos a la siguiente ruta /etc/securetty y comentamos todas las consolas; el cual podemos hacer mediante la expresión regular: 1,$s/tty/#tty
* Configuración de SSH
primero que nada procedemos a instalar ssh, mediante aptitude:
#aptitude install ssh
luego de su instalación nos dirigimos al archivo de configuración /etc/ssh/sshd_config y modificamos los siguientes parámetros:
AddressFamily inet ----> deshabilitar ipv6
# Authentication:
LoginGraceTime 30 --->cantidad de segundos en que la pantalla de login estará disponible.
PermitRootLogin no ---> no permite el logueo como root.
StrictModes yes
MaxAuthTries 2 ----> cantidad de veces que podemos equivocarnos en ingresar el usuario y password.
MaxStartups 2 ----> cantidad de conexiones simultanea.
AllowUsers usuario ---> permite el acceso a ciertos usuarios.
AllowGroups wheel ---> permite el acceso solo al grupo wheel.
También
podemos modificar el puerto, el cual viene por defecto el 22, y
agregar el puerto 22365 <---- (puerto de ejemplo).
También
podemos agregar un Banner al ssh, el cual esta en la misma
configuración del ssh; solo buscar donde dice Banner y colocar la
ruta donde esta el Banner.
NOTA: no es recomendable utilizar los 2 parametros (AllowUsers y AllowGroups)
* Instalar rcconf, para bajar servicios que no sean necesarios.
#aptitude install rcconf
podemos bajar servicios que no utilicemos como ppp lpr portmap.
* Eliminar paquetes innecesarios para el rendimiento del equipo
#aptitude remove –-purge ppp wget eject lpr info ibritish ipchains nano mtools python tasksel procmail dhcp-client telnet ftp mtr-tiny
* Editar los Wrapper en los archivos /etc/hosts.allow y hosts.deny
Editaremos primero el archivo hosts.allow y colocaremos algo como esto:
ALL: LOCAL
sshd: x.x.x.x
esto es un ejemplo, ya seria cuestión de aceptar las IP, dominios a permitir el acceso en una red local o una red LAN.
Ahora editamos el hosts.deny y colocaríamos algo como esto:
sshd: ALL
* Instalación de Postfix como servidor de correo local
#aptitude install postfix
En plena instalación te solicitara el tipo de configuración, y se seleccionara Internet Site; luego nos dirigimos al archivo de configuración en /etc/postfix/main.cf y hacemos cambio de los parámetros que según sea necesario.
Seria bien importante ya que tenemos configurado el postfix, editar el archivo /etc/aliases y agregar la siguiente linea al final (si es que ya no la tiene)
root: miusuario@midominio.com
guardamos, salimos y le damos: newaliases
Para comprobar que nuestro Postfix esta enviando correo, podemos comprobar enviar un correo por la consola, ejecutando el siguiente comando:
echo "correo prueba" | mail -s "prueba" micorreo@dominio.com
Recordar que tienen que tener instalado el paquete: mailutils
* Una aplicación bien interesante que nos mantiene el sistema limpio es “deborphan”
#aptitude install deborphan
podemos utilizar el deborphan en conjunto con aptitude como se muestra abajo en el ejemplo
ejemplo:
#aptitude purge `deborphan --libdevel` `deborphan --find-config` `deborphan --guess-all`
* Deshabilitando Ctrl-Alt-Del
Esto es muy importante, ya que cualquiera que tenga acceso a la consola puede ejecutar esta opción; bueno lo que haremos es deshabilitarla, nos dirigimos a la siguiente ruta:
#vi /etc/inittab
y dejamos la siguiente linea comentada:
# What to do when CTRL-ALT-DEL is pressed.
# ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now <------ linea que se comenta.
Podemos
agregar esta linea para dar un mensaje cuando utilicen la combinación
de teclas Crtl – Alt -Del
ca:12345:ctrlaltdel:/usr/bin/logger
-s -p auth.notice -t [INIT] "La combinacion de teclas CRTL ALT
DEL esta desactivada"
Y reiniciamos el servicio:
#telinit q
* Usuarios con shell interactivos
durante el proceso de instalación se crean diferentes usuarios, el cual podemos verificarlos en /etc/passwd
Entonces observando el archivo, verificamos que existen muchos usuarios todos considerados del sistema y se denotan por tener un user id menor que 1000 y poseen la shell /bin/sh; entonces lo que haremos es evitar que hagan login ya que estos usuarios no serán utilizados de manera interactiva:
Entonces observando el archivo, verificamos que existen muchos usuarios todos considerados del sistema y se denotan por tener un user id menor que 1000 y poseen la shell /bin/sh; entonces lo que haremos es evitar que hagan login ya que estos usuarios no serán utilizados de manera interactiva:
#chsh -s /bin/false daemon
y esto para todo los usuarios, claro esta que no sea root, ni la de los usuario. Podemos utilizar esta expresion regular del vi para cambiarlos todos de una vez:
:%s/\/bin\/sh/\/bin\/false/g
* Sincronizar la hora con NTP
En
este paso lo que haremos es instalar el paquete de ntpdate.
Luego
de haberse instalado, colocamos lo siguiente para sincronizar la
hora:
#ntpdate
-u ip-servidor-ntp
y
nos arrojaría algo como esto:
17
May 07:44:57 ntpdate[13641]: step time server 192.168.0.21 offset
0.628878 sec
Ahora
procedemos a instalar el paquete NTP:
#aptitude
install ntp
ya
instalado, nos dirigimos al archivo de configuración del ntp, que
esta en la ruta: /etc/ntp.conf
y
modificamos la linea que dice: Server osea la linea 16,
y
agregamos la ip del servidor NTP, el cual debería de quedar así:
server
192.168.0.21
* Otras aplicaciones bien interesantes para detectar rootkit, es
chkrootkit
y rkhunter
. La misma se encuentra en los repositorios de Debian, la manera
de instalarla es:
#
aptitude install chkrootkit
o
#
aptitude install rkhunter
para
ejecutarlo solo colocamos chkrootkit en la consola y listo, hace un
chequeo general, dando resultados.
* Realizar auditoría y/o seguridad del servidor:
Existe una aplicación bien interesante llamada tiger; la cual se encuentra en los repositorios de Debian Squeeze; este aplicativo realiza auditoría del sistema y/o detecta intrusiones no autorizadas.
#aptitude install tiger
Ya instalado, ejecutamos el tiger como root; una opción para que nos muestre la información en html seria así;
#tiger -H -l /home/miusuario/log-tigers
* Proteger los scripts de inicio.
#chmod
-R 700 /etc/init.d/*
* Mensajes de inicio de sesión
Se
recomienda editar los /etc/motd y /motd.tail ya que estos archivos
muestran información del sistema, cada vez que un usuario establece
comunicación con el equipo.
Comandos:
mv
/etc/motd /etc/motd.original
touch
/etc/motd
Nota: esto es una información bien general; pero nos sirve para establecer politicas de seguridad en un sistema GNU/Linux Debian; aunque no comente sobre IPTABLES;es importante también tenerlo instalado.
Y recordemos siempre crear una copia de seguridad de los archivos de configuración que se vayan a editar y así evitar una catástrofe.
Y recordemos siempre crear una copia de seguridad de los archivos de configuración que se vayan a editar y así evitar una catástrofe.
Paginas web consultadas:
www.arcert.gov.ar/ncursos/material/hardening-v2.pdf
https://www.debian.org/doc/manuals/securing-debian-howto/
http://garciavictor.blogspot.com/2012/11/hardening-debian-squeeze-wheezy.html
https://www.debian.org/doc/manuals/securing-debian-howto/
http://garciavictor.blogspot.com/2012/11/hardening-debian-squeeze-wheezy.html
No hay comentarios.:
Publicar un comentario