Michael Jastremski Sobre o Autor: Michael Jastremski Tem hackeado Unix nos �ltimos quatro anos. Sua p�gina web pode ser acessada no endere�o:http://westphila.net/mike . Ele agradece a Andrew Cont�do: Introdu��o Passos de seguran�a |
Acrescentando Seguran�a a uma Distribui��o LinuxAbstrato: Este artigo discute as formas como um administrador pode prover seu sistema contra a entrada de intrusos. Trata de v�rias maneiras o melhoramento de seguran�as nos sistemas Linux. Introdu��oOs esfor�os em grande escala para sabotear os computadores na internet est�o se tornando uma rotina comum. Os Servidores Linux y FreeBSD tem se transformado em um excelente local nestes recentes ataques, implicando em um desmembramento no buffer e nas fontes imapd y BIND. A cada d�a, vulnerabilidades de todas formas e tamanhos, s�o enviadas sobre os quase 20.000 inscritos na lista de correio BUGTRAQ (se voce procura uma lista de correio com seguran�a, esta � a lista procurada). Ser�a sensato assumir que ao menos um desses 19.305 inscritos v� escrever um loop for() e com um pouco de l�gica com um copy+paste, conseguir eficientemente acesso ilegal a tantos computadores quanto seja poss�vel... Cedo ou tarde, o loop construir� o endere�o de teu computador. N�o h� tempo como o presente para preparar-te. Apesar de que alguns "experts" possam fazer imaginar, instalar e manter um computador seguro n�o � dif�cil, algumas boas pr�ticas em administra��o de sistemas, serve como prote��o das amea�as da rede global. Este artigo descreve algumas das precau��es que geralmente tomo quando configuro um sistema Linux RedHat conectado na rede. ainda que este artigo provenha pautas para proteger seu computador de inten��es maliciosas de outros, n�o � uma referencia completa. Os passos seguintes, s�o alguns que evitar�o que tua instala��o seja v�tima do pr�ximo vazio p�blico eno teu software de rede. CUIDADO!: se n�o estiveres absolutamente seguro do que fazes, n�o fa�a. Alguns destes passos assumem um grau moderado de experiencia de tua parte. Algumas leituras s�o sugeridas no final... 1. Remova todos os servi�os de rede desnecess�rios do sistema. enquanto houver menos arrodeios para conectar o computador, haver� menos oportunidades de que um intruso penetre nela. Apague tudo que n�o necessita em /etc/inetd.conf. N�o precisas de telnet em teu sistema? Desabilita-o, o mesmo para ftpd, rshd, rexecd, gopher ,chargen, echo, pop3d y amigos. N�o deixe de fazer um 'killall -HUP inetd' depois de editar inetd.conf. Tamb�m n�o discuides do diret�rio /etc/rc.d/init.d. Alguns servi�os de rede (BIND, printer daemons) s�o programas iniciados a partir destes scripts.
2. Instale SSH; SSH � uma substitui��o para a maioria dos antiquados comandos
'r' da Berkely, a partir da p�gina http://www.cs.hut.fi/ssh.
Tamb�m realiza muitas outras coisas que qualquer aspirante a hacker acharia interessante. Baixa SSH a partir da p�gina http://ftp.rge.com/pub/ssh. 3. Use vipw(1) para assegurar as contas sem acesso. Note que sob Linux RedHat, as contas com um nome de acesso nulo s�o enviadas para /bin/sh, o que provavelmente voc� n�o quer. Tamb�m, assegure-se que nenhuma das tuas contas tenham senhas nulo. O pr�ximo exemplo, � usado para conseguir um arquivo de oassword saud�vel.
daemon:*:2:2:daemon:/sbin:/bin/sync adm:*:3:4:adm:/var/adm:/bin/sync lp:*:4:7:lp:/var/spool/lpd:/bin/sync sync:*:5:0:sync:/sbin:/bin/sync shutdown:*:6:0:shutdown:/bin:/sync halt:*:7:0:halt:/sbin:/bin:/sync mail:*:8:12:mail:/var/spool/mail:/bin/sync news:*:9:13:news:/var/spool/news:/bin/sync uucp:*:10:14:uucp:/var/spool/uucp:/bin/sync operator:*:11:0:operator:/root:/bin/sync games:*:12:100:games:/usr/games:/bin/sync gopher:*:13:30:gopher:/usr/lib/gopher-data:/bin/sync ftp:*:14:50:FTP User:/home/ftp:/bin/sync nobody:*:99:99:Nobody:/:/bin/sync 4. Remova os bits 's' dos programas root-owned que n�o exijam este previl�gio. Isto pode ser conseguido com o comando 'chmod a-s' com o nome ou os nomes dos arquivos protegidos e seus argumentos. Tais programas incluem mas n�o est�o limitados a:
Coloquei um asterisco (*) ao lado de cada programa que pessoalmente desabilitaria. Lembre-se que seu sistema precisa de alguns programas suid root para trabalhar perfeitamente, assim, tenha cuidado. Opcionalmente, poderia criar um grupo especial chamado 'suidexec', coloca as contas dos usu�rios de confian�a neste grupo. chgrp(1) � duvidoso ou os programas suid duvidosos ao grupo suidexec, e remova as permiss�es de execu��o global. # find / -user root -perm "-u+s" */bin/ping */bin/mount -- s�mente root deve estar montando arquivos do sistema */bin/umount -- o mismo aqui /bin/su -- n�o tocar! /bin/login /sbin/pwdb_chkpwd */sbin/cardctl -- utilidade de controle para placa PCMCIA */usr/bin/rcp -- Usa ssh */usr/bin/rlogin -- idem */usr/bin/rsh -- " */usr/bin/at -- usa cron, ou desabilitado totalmente */usr/bin/lpq -- instala LPRNG */usr/bin/lpr -- " */usr/bin/lprm -- " */usr/bin/mh/inc */usr/bin/mh/msgchk /usr/bin/passwd -- n�o tocar! */usr/bin/suidperl -- a cada nova vers�o do suideperl parece ter um desdobramento do buffer */usr/bin/sperl5.003 -- use se for necess�rio /usr/bin/procmail -- */usr/bin/chfn */usr/bin/chsh */usr/bin/newgrp */usr/bin/crontab */usr/X11R6/bin/dga -- muitos desdobramentos do buffer como no X11 */usr/X11R6/bin/xterm -- " */usr/X11R6/bin/XF86_SVGA -- " */usr/sbin/usernetctl /usr/sbin/sendmail */usr/sbin/traceroute -- pode aceitar escrever a senha do root de vez em quando 5. Atualize sendmail. Baixe as fontes na p�gina ftp://ftp.sendmail.org/pub/sendma il. Descomprima e leia as instru��es. Instale smrsh (comprimido com sendmail) se tiver alfgum tempo extra, este programa mostra muitas coisas importantes sobre sendmail, tais como enviar email a programas distintos. Edite sendmail.cf e coloca a op��o 'PrivacyOptions' em 'goaway': O PrivacyOptions=goaway se n�o planejas receber e-mail, N�O EXECUTE SENDMAIL NO MODO DE RECEBER (sendmail -bd)!. neste caso, desabilita-o em /etc/rc.d/init.d/sendmail.init e realiza um 'killall -TERM sendmail'. Ser� capaz de enviar e-mail para fora.
6. Atualize BIND se o usas. A �ltima vers�o pode ser encontrada na p�gina
7. Recompila o kernel. Geralmente fa�o isto para reduzir o tamanho do kernel.
CONSELHO: Ative todas as op��es do firewall, mesmo que seu computador n�o seje
um firewall.
8. Aplica patches:
Qualquer problema conhecido com o software pode ser encontrado na p�gina
de Erratas do RedHat. (veja em
http://www.redhat.com/support/docs/errata.html
para saber quais patches aplicar em tua vers�o. RedHat faz um excelente trabalho de
manuten��o com estas p�ginas. Elas tamb�m incluem links aos arquivos RPM que voce precisa com instru��es de instala��o.
9. Configura tcp_wrappers:
Os tcp_wrappers s�o m�todos para controlar quais computadores na net(c) tem permiss�o
para falar com teu computador. Este pacote, escrito pelo gur� em seguran�a
Wieste Venema, est� a frente dos programas que executam inetd
(ou aquelescompilados com sua biblioteca) consultando seus arquivos de
configura��o para determinar se permite ou nega uma transa��o na rede. Por exemplo,
para permitir telnet y ftp a partir do teu isp v�a home, enquanto nega os demais,
coloca lo siguiente em /etc/hosts.allow:
SSH, sendmail e outros pacotes podem ser construidos com suporte tcp_wrappers.
Leia a p�gina de manual tcpd(1) para mais informa��es.
Patches de seguran�a Linux por Solar Designer: |
Esta WebPage � mantida por Miguel Angel Sepulveda © Michael Jastremski LinuxFocus 1998 |