Hardening Debian Squeeze & Wheezy
Posted by Unknown | Posted on 15:15
0
Saludos a todos, tiempo sin escribir.
Por aquí tengo una pequeña guía de ayuda para prevenir un poco la intrusión a nuestro servidor, un pequeño hardening para debian que sirve para squeeze y para wheezy.
Agunas cosas las consegui en la web, con la ayuda de otros blog y algunas notas que tenia por alli.
Claramente lo primero que debemos hacer es tener nuestro servidor montado e instalado.
# netstat -putan |grep LISTEN
Instalamos rcconf para bajar servicios que no utilizamos:
# aptitude install rcconf
# rcconf
Destildar todos los servicios que no vayamos a utilizar, como por ejemplo exim4, portmap, etc...
# reboot
Volvemos a verificar los servicios que escuchan luego de deshabilitar los que no son necesarios:
# netstat -putan|grep LISTEN
# cp -pf /etc/ssh/sshd_config /etc/ssh/sshd_config.orig
# vim /etc/ssh/sshd_config
Port 2222
ListenAddress 192.168.1.x (colocamos esta opción en caso de solo utilizar ipv4)
Protocol 2
PermitRootLogin no
PermitEmptyPasswords no
# /etc/init.d/ssh restart
Volvemos a verificar que ahora no esta escuchando SSH en ipv6, fue cambiado el puerto y además restringida a una determinada ip:
# netstat -putan |grep LISTEN
Ips desde donde permitimos acceso ssh:
# vim /etc/hosts.allow
sshd : 192.168.1.0/255.255.255.0 : allow
# vim /etc/hosts.deny
sshd : ALL : deny
Eliminamos paquetes innecesarios como exim4, dhcpclient:
# aptitude remove --purge exim4-config exim4-base dhcp-client isc-dhcp-client isc-dhcp-common eject setserial fdutils discover info nano telnet makedev perl gcc libdiscover lighttpd sendmail
Deshabilitar el reinicio con ctrl+alt+del:
Comentamos la linea en el inittab
# vim /etc/inittab
#ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
# telinit q
Eliminamos la linea de la disquetera del fstab:
# vim /etc/fstab
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
Y si no usamos la lectora de cd:
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
Deshabilitamos las shells para los usuarios que no lo necesitan:
# vipw
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/false
bin:x:2:2:bin:/bin:/bin/false
sys:x:3:3:sys:/dev:/bin/false
games:x:5:60:games:/usr/games:/bin/false
man:x:6:12:man:/var/cache/man:/bin/false
lp:x:7:7:lp:/var/spool/lpd:/bin/false
mail:x:8:8:mail:/var/mail:/bin/false
news:x:9:9:news:/var/spool/news:/bin/false
uucp:x:10:10:uucp:/var/spool/uucp:/bin/false
proxy:x:13:13:proxy:/bin:/bin/false
www-data:x:33:33:www-data:/var/www:/bin/false
backup:x:34:34:backup:/var/backups:/bin/false
list:x:38:38:Mailing List Manager:/var/list:/bin/false
irc:x:39:39:ircd:/var/run/ircd:/bin/false
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/false
nobody:x:65534:65534:nobody:/nonexistent:/bin/false
libuuid:x:100:101::/var/lib/libuuid:/bin/false
sshd:x:103:65534::/var/run/sshd:/usr/sbin/nologin
Eliminar bits suid y guid:
# find / -path /proc -prune -o -type f -perm +6000 -ls
1646604 72 -rwsr-xr-x 1 root root 68316 Jan 25 16:19 /bin/mount
1646635 32 -rwsr-xr-x 1 root root 31360 Oct 14 2010 /bin/ping
1646602 48 -rwsr-xr-x 1 root root 47304 Jan 25 16:19 /bin/umount
1646686 32 -rwsr-xr-x 1 root root 29152 Feb 15 17:50 /bin/su
1646636 36 -rwsr-xr-x 1 root root 35252 Oct 14 2010 /bin/ping6
1741025 12 -rwxr-sr-x 1 root mail 10164 Feb 13 2010 /usr/bin/dotlockfile
1738793 36 -rwsr-xr-x 1 root root 34740 Feb 15 17:50 /usr/bin/passwd
1739777 32 -rwxr-sr-x 1 root crontab 30248 Dec 18 20:46 /usr/bin/crontab
1738792 56 -rwsr-xr-x 1 root root 50388 Feb 15 17:50 /usr/bin/gpasswd
1737577 28 -rwsr-xr-x 1 root root 25184 Feb 15 17:50 /usr/bin/newgrp
1739927 40 -rwsr-sr-x 1 daemon daemon 40704 Nov 30 2009 /usr/bin/at
1738796 36 -rwsr-xr-x 1 root root 36372 Feb 15 17:50 /usr/bin/chfn
1741800 80 -rwsr-sr-x 1 root mail 75896 Apr 26 2010 /usr/bin/procmail
1738797 28 -rwsr-xr-x 1 root root 27956 Feb 15 17:50 /usr/bin/chsh
1739731 8 -rwxr-sr-x 1 root tty 7784 Jun 17 2010 /usr/bin/bsd-write
1741801 16 -rwxr-sr-x 1 root mail 13172 Apr 26 2010 /usr/bin/lockfile
1741277 32 -rwxr-sr-x 1 root mlocate 30492 Nov 4 2009 /usr/bin/mlocate
1737470 12 -rwxr-sr-x 1 root tty 9944 Jan 25 16:19 /usr/bin/wall
1741309 8 -rwxr-sr-x 1 root mail 7768 Jan 14 12:08 /usr/bin/mutt_dotlock
1738795 56 -rwxr-sr-x 1 root shadow 49556 Feb 15 17:50 /usr/bin/chage
1738794 16 -rwxr-sr-x 1 root shadow 14840 Feb 15 17:50 /usr/bin/expiry
1741396 100 -rwxr-sr-x 1 root ssh 95564 Dec 26 15:12 /usr/bin/ssh-agent
1777703 196 -rwsr-xr-x 1 root root 194680 Dec 26 15:12 /usr/lib/openssh/ssh-keysign
1737861 12 -rwsr-xr-x 1 root root 9676 Jan 23 21:10 /usr/lib/pt_chown
1433660 28 -rwxr-sr-x 1 root shadow 27900 Oct 19 2010 /sbin/unix_chkpwd
1433707 84 -rwsr-xr-x 1 root root 80600 Aug 26 2010 /sbin/mount.nfs
# chmod ug-s /usr/bin/wall /usr/bin/newgrp /usr/bin/chsh............
Permitir su - solo a los usuarios que pertenezcan al grupo wheel:
# addgroup --system wheel
# usermod -G wheel usuario_para_elevar_a_root
# vim /etc/pam.d/su
Descomentar:
auth required pam_wheel.so
Bloquear las TTY para no acceder directamente como root
# aptitude install tiger
# tiger


