Sea un servidor o sea un
equipo de escritorio a veces con variaciones por distribución,
aquí les dejo una guía de como asegurar Linux/Unix (por lo menos
aplica para Linux: Debian, ubuntu, RedHat, Centos, etc,
sobre Unix: Muchas aplican para oracle-solaris y HP-UX), lo que yo llamo una
“Receta mínima de Seguridad", ojo no con esto estoy diciendo que tu
maquina esta blindada, pero si esta mas protegida y/o sera mas
difícil de penetrar.
Es importante recordar que
a veces los que usamos Linux (desde el laptop), andamos en la calle,
nos conectamos desde sitios con poca seguridad, por eso vale la pena
tomarse una hora quizás y aplicar estos pasos y podremos andar en
la calle mucho mas tranquilos.
1.- Asegurate de eliminar
cuentas de usuarios que no uses (aplica Linux/Unix):
more /etc/shadow (recuerda
que esta protegido solo para que sea leído por root).
news, games, gopher, son
algunas cuentas que segunel caso pordemos pensar en salir de ellas.
2.- Edad de los passwords
(aplica Linux/Unix):
Obliga a los usuarios a
cambiar sus claves con regularidad, ejecuta el siguiente comando:
passwd -n 40 -x 60 -w 45
user_instalado (parametrizalo a tu antojo).
Afecta:
Min Change: Mínimo de
días en que el password es valido.
Max Change: Máximo de
días en que el password es valido.
Warning: A los cuantos días avisara
que debes cambiar la clave.
3.- Desconfigura el
usuario root (Aplica Linux/Unix):
No lo uses para conexiones
remotas, muchos sistemas tienen un usuario que llama a root (como
dice el adagio, si sabes que el login es root y quieres entrar en un
sistema sin permiso, la mitad del camino esta hecho).
4.- Configura sudo (aplica Linux/Unix):
El archivo es /etc/sudoers
Para editarlo se usa
visudo
Ejemplo: /etc/sudoers
maestro: ALL=(ALL) ALL
maestro es el usuario.
5.- Verifica servicios
activos y desactiva los que no uses:
nmap localhost (nos
muestra los servicios y el puerto en uso, no esta instalado en todos
los linux por defecto, en Unix rara vez)
netstat -an | egrep
'Proto|LISTEN'
Coteja la salida con
/etc/services, este te dirá el programa o servicio dueño del puerto que viste con netstat
puedes deshabilitar el servicio ejecutando p.ej:
/etc/init.d/sendmail stop
(Sobre casi todos los Linux/Unix)
Un archivo a revisar
(Todos los Linux/Unix casi todos):
/etc/inetd.conf
Busca el servicio a
bloquear:
Ejemplo: telnet, ftp, etc.
Si colocas un "#" delante del servicio lo estarás desactivando. Pero recuerda que necesitas
reiniciar el servicio para que funcione:
Nota: Solaris hasta su
versión 9 funcionaba de la misma manera, a partir de la versión 10,
usas inetadm | grep servicio, ej inetadm | grep telnet, cierras el
servicio usando inetadm -d telnet (ejemplo), inetadm -e telnet (abre
el servicio).
Este ultimo servicio se
termina combinando con la recomendación 6 de nuestra receta mínima
de seguridad.
6.- Configura tcp wrapper
(aplica Linux/Unix, muchos lo traen instalados)
Esto se basa en configurar
un host.allow y/o un host.deny (primero lee host.allow, si no existe
o esta desconfigurado se va para host.deny)
Los parámetros dentro del
archivo son mas o menos así:
demon.list [client.list
options]
daemon.list: Es
simplemente el servicio ej: sshd, telnetd, etc
client.list dir ip o
nombre del equipo (debes tener un dns o colocados los nombres en
/etc/hosts)
Options: Dice si enviá un
correo, si usa un archivo cuando accesa, etc.
Un ej sencillo:
host.allow
ftpd: 192.168.1.4
7.- Configura OpenSSh
(aplica Linux/Unix):
Yo por lo menos manejo
esta configuración:
/etc/ssh/sshd_config
AllowTcpForwarding
no
X11Forwarding
no
StrictModes
yes
IgnoreRhosts
yes
HostbasedAuthentication
no
RhostsRSAAuthentication
no
PermitEmptyPasswords
no
Banner
/etc/issue
Reinicia
el servicio luego de configurado:
/etc/init.d/sshd
restart
8.-
Comprueba la fuerza de los passwords (aplica Linux/Unix):
Usa
ejemplo John the Ripper (recuerda que debes descargarlo)
/usr/sbin/john
/etc/shadow
9.-
Búsqueda y desactivacion de los setuid y setgid sobre el sistema
(aplica Linux/Unix):
find
/ \( -perm -4000 -o -perm -2000 \) -print
Luego
basta con aplicar ejemplo:
chmod
0755 /usr/bin/ejemplo (setuid por ejemplo)
10.-
Actualiza paquetes (Aplica Linux/Unix):
Los
paquetes casi siempre en las actualizaciones tienen mejoras de
seguridad.
11.-
Configura el firewall en tu maquina personal o servidor:
Dependiendo
del sistema operativo sea (Linux o Unix), muchos de ellos vienen con
un firewall por defecto instalado, configura las reglas que apliquen
para tu red, Niega aquellos servicios y o direcciones que no te sean
relevantes y habilita un log para ver el comportamiento del firewall.
Unas
Recomendaciones para cada persona (sea un sysadmin o un simple
usuario final):
Esto
es tarea de todos los días:
Entrena
a tu personal con talleres y mantenlos actualizados
Entrena
a tu grupo técnico en seguridad, asesorate con expertos para que te ayuden a configurar tu servidor.
Inscribete
en CERT
Dejanos saber tus comentarios.
Enjoy!!



No hay comentarios:
Publicar un comentario