Você está na página 1de 35

Hardening Segunda Aula

Gustavo C. Lima

Agenda
S.O.
O Sistema operacional escolhido foi ????? CentOS 6.2 64bits mas, e o lance de opensource versus servidor RedHat (suporte pago) (ex...) ????? Antes de mais nada, voc j atualizou o seu ambiente ? Quais repositrios voc utilizou ? Este servidor instalado ser o que mesmo ? Bind Web MySQL E-mail Servidor de Counter-Strike O que pode rodar e o que no pode rodar no seu servidor? Instalao boas prticas vamos l Rede ela j foi configurada ?

Agenda
S.O ... 2
Resolvido o que o servidor ser, est na hora de comear a instalar os pacotes ? No, vamos procurar pelo que est errado primeiro.... Usurios desnecessrios Permisses desnecessrias Utilizar ou no utilizar huge pages, eis a questo ? Desabilitando servios desnecessrios Remoo de pacotes desnecessrios

Que Hardening ? (j esqueceram ?)

Vulnerabilidade

Download do S.O.

CentOS ou RedHat No importa, tudo agora pela rede !!!

Repositrios de Pacotes

http://packages.sw.be/rpmforge-release/rpmforgerelease-0.5.2-2.el6.rf.x86_64.rpm ftp://rpmfind.net/linux/epel/6/x86_64/epel-release-6-5.noarch.rpm Sendo este ltimo de fud. http://www6.atomicorp.com/channels/atomic/centos/6/x86_64/RPMS/ atomic-release-1.0-14.el6.art.noarch.rpm Repositrio do Atomic Linux uma srie de pacotes focados em segurana

Atualizao do ambiente
Repositrios preparados, vamos ento para atualizao de pacotes Yum update na cabea Antes de dar Yes, que tal olharmos o que ser instalado Tudo ok ? Ento vamos ao yes.. Finalizado ok, mas devo ou no colocar algo na crontab do tipo * 23 * * * /usr/bin/yum update y ??????

J sabe o que este servidor ser ?


Web MySQL Bind E-mail Servidor de Counter-Strike ??????

WEB Apache ou Nginx ????


Apache iremos instalar o Mod_security e mais alguns outros modulos Nginx iremos instalar o naxsi (http://code.google.com/p/naxsi/) Compilando versus Pacotes ????

Instalao Boas Prticas


Pacotes Com ou sem ambiente grfico ? LVM versus Particionamento convencional / /boot 200MB /var /var/tmp bind para o /tmp /var/log /var/log/audit /usr /tmp Swap memria /opt Diretrio para instalao de produtos

Instalao Boas Prticas


Instalao do S.O. completada, agora vamos iniciar a instalao dos pacotes para para para, primeiro, ns analizaremos o que est de errado neste ambiente.. Servios que no devem rodar ?? chkconfig - -list service <nome do servio> stop service gpm stop service apmd stop service atd stop service xinetd stop service sendmail stop service cups stop service iptables stop service ip6tables stop

service --status-all

Instalao Boas Prticas


Todos podem dar boot no sistema ? isso mesmo ? ls -ltr restart reboot init -rwxr-xr-x. 1 root root 14832 Jul 18 2011 reboot -rwxr-xr-x. 1 root root 146240 Jul 18 2011 init lrwxrwxrwx. 1 root root 7 May 3 08:55 restart -> initctl -rwxr-xr-x. 1 root root 60400 Jul 18 2011 shutdown

Vamos procurar por permisses especiais ?


find / \( -perm -4000 -o -perm -2000 \) -mount -type f -print > /tmp/ suids #See all set user id files: find / -perm +4000 # See all group id files find / -perm +2000 # Or combine both in a single command find / \( -perm -4000 -o -perm -2000 \) -print find / -path -prune -o -type f -perm +6000 ls find /dir -xdev -type d \( -perm -0002 -a ! -perm -1000 \) print find /dir -xdev \( -nouser -o -nogroup \) -print

Vamos procurar por permisses especiais ?


# /sbin/pwdb_chkpwd # /sbin/unix_chkpwd # /sbin/pam_timestamp_check # /bin/su # /usr/bin/passwd # /usr/bin/sudo # /usr/bin/crontab sed -e '/\/sbin\/pwdb_chkpwd/ d' \ -e '/\/sbin\/unix_chkpwd/ d'\ -e '/\/sbin\/pam_timestamp_check/ d'\ -e '/\/bin\/su/ d'\ -e '/\/usr\/bin\/passwd/ d'\ -e '/\/usr\/bin\/sudo/ d'\ -e '/\/usr\/bin\/crontab/ d'\ /tmp/suids > /tmp/suids2 for arquivo in $(cat /tmp/suids2); do chmod -s $arquivo done rm /tmp/suids /tmp/suids2

Vamos procurar por permisses especiais ?

Usurios Cada macaco no seu galho

Usurios Tamanho mnimo de senha


sed -i s/PASS_MIN_LEN.*/PASS_MIN_LEN\ 8/ /etc/login.defs Mas qual o melhor tamanho para uma senha ? Que tal? sed '/^PASS_MIN_LEN/c \ PASS_MIN_LEN 8 /^PASS_MAX_DAYS/c \ PASS_MAX_DAYS 30 ' /etc/login.defs > tmp.01 mv tmp.01 /etc/login.defs

Usurios Cada macaco no seu galho


nobody:x:99:99:Nobody:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin abrt:x:173:173::/etc/abrt:/sbin/nologin haldaemon:x:68:68:HAL daemon:/:/sbin/nologin saslauth:x:498:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin ntp:x:38:38::/etc/ntp:/sbin/nologin apache:x:48:48:Apache:/var/www:/sbin/nologin avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin pulse:x:497:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin gdm:x:42:42::/var/lib/gdm:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin

Linux e seus limites


ulimit a Open Files para o usurio open files (-n) 1024 sysctl fs.file-max quantidade de openfiles para o S.O. fs.file-max = 97877 cat /proc/sys/fs/file-max Alterao no /etc/security/limits.conf echo usurio soft nofile 50000 usurio hard nofile 150000 usurio soft nproc 20000 usurio hard nproc 50000' >> /etc/security/limits.conf Alterao no /etc/sysctl.conf kern.maxfilesperproc=166384 kern.maxfiles=8192 *****

Linux e seus limites


Verificando se o processo subiu com os parmetros de ulimit corretos cat /proc<pid>/limits
Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 10485760 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 1024 7791 processes Max open files 1024 1024 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 7791 7791 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us ***mais infos sobre o /proc no link http://www.kernel.org/doc/man-pages/online/pages/man5/proc.5.html

Pontos de montagem - FileSystem

noexec - Do not set execution of any binaries on this partition (prevents execution of binaries but allows scripts). nodev - Do not allow character or special devices on this partition (prevents use of device files such as zero, sda etc). nosuid - Do not set SUID/SGID access on this partition (prevent the setuid bit).

Para Prxima Aula


CentOS 6.2 64 btis Todos os pacotes instalados E muita disposio

Continuao...
Tuning S.O Kernel Systcl.conf Kernel Patch Todos os pacotes instalados

Ferramentas

Precisa de mais ?

Ferramentas - ALL

Nmon / htop

Ferramentas - Rede

IFTOP

Memory - Cache
[root@host]# echo 1 > /proc/sys/vm/drop_caches To free dentries and inodes: [root@host]# echo 2 > /proc/sys/vm/drop_caches To free pagecache, dentries and inodes: [root@host]# echo 3 > /proc/sys/vm/drop_caches

E a, vale a pena ?! Depende da quantidade de memria da sua mquina

Tuning Kernel - Sysctl


TCP/IP https://www.shell-tips.com/wp-content/uploads/sysctlconfig.sh.txt http://blog.corujadeti.com.br/wp-content/uploads/ 2012/05/tuning_tcp_kernel.txt S.O. Kernel Grsecurity ????? Hardening Syn Attack (ex.) net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 2048 net.ipv4.tcp_synack_retries = 2

Oracle

Oracle...2

Huge Pages

Shared Memory

Shared Memory

Hardening SSH
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bkp
/etc/motd

Colocar uma mensagem bem bonita

Hardening LES
LES ( Linux Environment Security )
cd /usr/local/src wget http://www.r-fx.ca/downloads/lescurrent.tar.gz tar -zxvf les-current.tar.gz cd les-0.* ./install.sh rm -Rf /usr/local/src/les* /usr/local/sbin/les /usr/local/sbin/les ea Options: -da | --disable-all Disable all options -ea | --enable-all Enable all options -sb | --secure-bin Set root only execution of critical binaries -sp | --secure-path Set root only traversal of critical paths -sr | --secure-rpmpkg Set immutable on core rpm package binaries -so | --secure-prof Set immutable on interactive login profiles -sd | --secure-devel Set access to devel utils for group deva & root

Você também pode gostar