viernes, 2 de diciembre de 2011

Hardening Debian Squeeze

Luego de una instalacion por defecto verificamos que servicios tenemos escuchando:

root@pdc:~# netstat -ano |grep LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN off (0.00/0/0)
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN off (0.00/0/0)
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN off (0.00/0/0)
tcp 0 0 0.0.0.0:49216 0.0.0.0:* LISTEN off (0.00/0/0)
tcp6 0 0 :::22 :::* LISTEN off (0.00/0/0)
tcp6 0 0 ::1:25 :::* LISTEN off (0.00/0/0)
unix 2 [ ACC ] STREAM LISTENING 3564 /var/run/acpid.socket


Instalamos rcconf para bajar servicios que no utilizamos:

root@pdc:~# apt-get install rcconf

root@pdc:~# rcconf
Destildar todo menos ssh



root@pdc:~# reboot

Volvemos a verificar los servicios que escuchan luego de deshabilitar los que no son necesarios:

root@pdc:~# netstat -ano |grep LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN off (0.00/0/0)
tcp6 0 0 :::22 :::* LISTEN off (0.00/0/0)


Todavia SSH nos queda escuchando en todas las ips y en ipv6, lo cambiamos:

root@pdc:~# cp -pf /etc/ssh/sshd_config /etc/ssh/sshd_config.orig

root@pdc:~# vim /etc/ssh/sshd_config
Port 2222
ListenAddress 192.168.1.101
Protocol 2
PermitRootLogin no
PermitEmptyPasswords no

root@pdc:~# /etc/init.d/ssh restart


Volvemos a verificar que ahora no esta escuchando SSH en ipv6, fue cambiado el puerto y ademas restringida a una determinada ip:

root@pdc:~# netstat -ano |grep LISTEN
tcp 0 0 192.168.1.100:2222 0.0.0.0:* LISTEN off (0.00/0/0)


Ips desde donde permitimos acceso ssh:

root@pdc:~# vim /etc/hosts.allow
sshd : 192.168.1.0/255.255.255.0 : allow

root@pdc:~# vim /etc/hosts.deny
sshd : ALL : deny

root@pdc:~# netstat -ano |grep LISTEN
tcp 0 0 192.168.1.100:2222 0.0.0.0:* LISTEN off (0.00/0/0)


Eliminamos paquetes innecesarios como ser exim, dhcpclient:

root@pdc:~# apt-get remove --purge exim4-config exim4-base dhcp-client isc-dhcp-client isc-dhcp-common aptitude
eject setserial fdutils discover info nano telet makedev perl gcc libdiscover lighttpd sendmail

root@pdc:~# apt-get autoremove


Deshabilitar el reinicio con ctrl+alt+del:

Comentamos la linea en el inittab

root@pdc:~# vim /etc/inittab
#ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

root@pdc:~# telinit q


Eliminamos la linea de la disquetera del fstab:

root@pdc:~# 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:

root@pdc:~# 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:

root@pdc:~# 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


root@pdc:~# chmod ug-s /usr/bin/wall /usr/bin/newgrp /usr/bin/chsh ............


Permitir su - solo a los usuarios que pertenezcan al grupo wheel:

root@pdc:~# addgroup --system wheel

root@pdc:~# usermod -G wheel usuario_para_elevar_a_root

root@pdc:~# vim /etc/pam.d/su
Descomentar:
auth required pam_wheel.so


Chequeo de seguridad:

root@pdc:~# apt-get install tiger

root@pdc:~# tiger

Fuente: http://www.arcert.gov.ar/ncursos/material/hardening-v2.pdf

No hay comentarios: