Copyright© 1997 Hugo Cisneiros, hugo@netdados.com.br
Versão 3.3






Eu botei aqui algumas informacoes basicas para ajudar voce a manter seu sistema seguro. Como voce vai ver, as informacoes a seguir sao escritas num meio nao-tecnico.




Limite o numero de programas que necessitem SUID root no seu sistema.
Programas SUID root sao programas que quando rodam, rodam no nivel de root (Deus no mundo do UNIX). Algumas vezes e' preciso mas muitas vezes nao. Os programas SUID root podem fazer qualquer coisa que o root pode tendo um alto nivel de responsabilidade a nivel de seguranca. As vezes eles fazem, as vezes nao e quando nao fazem, usuarios podem as vezes pegar o root para fazer coisas que nem pode imaginar. Aqui e' onde entram os exploits. Um exploit e' um programa ou script que vai pegar o SUID root para fazer muita coisa ruim. (Dar shells de root, pegar arquivos de senhas, ler mails de outras pessoas, deletar arquivos).

Rodando programas com privilegio minimo no acesso.
Como foi dito antes, alguns programas nao precisam de root para roda-los , mas precisam de um alto acesso para o usuario normal. Aqui e' onde comeca a ideia do privilegio minimo de acesso. Por exemplo, a LP (linha de impressora) possui comandos que precisam de alto acesso para o usuario normal (para acessar a impressora), mas nao precisa roda-los como root. Entao, uma pequena coisa a fazer e' criar um usuario (/bin/true como shell) e um grupo chamado lp e fazer com que qualquer usuario possa rodar qualquer dos comandos de LP e fazer tudo com os comandos LP que tiverem como owner e grupo o lp. Isto fara com que o lp possa fazer seu trabalho (administre as impressoras). Entao se o usuario lp estiver compromissado, o invasor realmente nao vai dar um passo de root no seu sistema. Agora paraalguns programas que sao SUID root, crie um usuario e um grupo para o programa. Entretanto, algumas pessoas se enro lam quando botam a maioria desses programas SUID no mesmo usuario e grupo. Isto e' ruim! Realmente ruim!. O que voce precisa fazer e' botar todo o pro grama que inicie como root para usuario de privilegio minimo.

Desabilitando servicos que voce nao precisa ou nao usa.
Se voce nao usa rpc.mountd, rpc.nfsd ou outros daemons parecidos, nao rode-os. Simplesmente kill -9 nele e va nos scripts em /etc/rc.d e comente-os. Isto aumentara a memoria, CPU e e' um meio de se prevenir de invasores que tentam obter informacoes sobre seu sistema e, claro, pegar root nele.

Tenha sempre os mais recentes /lib's.
Os arquivos em /lib's sao codigos share, quando um programa precisa de uma certa peca do codigo, ele simplesmente vai e pega este codigo (assumindo que este nao esta compilado no codigo). A vantagem nao seria outra; Programas sao compilados menores, se uma peca do codigo lib esta desaparecida, vc pode simplesmente fazer um upgrade. Desvantagens; o codigo desaparecido em /lib vai afetar alguns programas e se um invasor por suas maos no lib's, vc realmente estara com dificuldades.
A melhor coisa a fazer corretamente os upgrades para as lib's e checar o tamanho e data frequentemente nas alteracoes.

Encriptando nas conexoes.
O pacote Sniffing e' simplesmente o melhor meio para pegar passwords. O sniffer se acomoda em uma maquina, em uma subrede nao encriptada e o rendimento sera centenas de passwords. Nao somente dos computadores locais, mas tambem de outras redes de computadores. Agora voce pode dizer para voce mesmo, "Mas eu tenho Firewall na minha rede, entao estou seguro". "Besteira". Um estudo recente mostrou que uma parte dos sniffers atacam por tras dos firewalls. (O "bom lado"). Veja alguns programas seguros da lista de pacotes de encriptacao fora daqui.

Instale wrappers para /bin/login e outros programas.
Wrappers sao programas pequenos mas muito eficientes que filtram o que esta sendo enviado para o programa. O login wrapper "remove todas as instancias de varias variaveis do ambiente" e o wrapper do sendmail faz mais ou menos o mesmo.
Mantenha seu Kernel na ultima versao estavel.
Esta dica realmente e' aplicada a pessoas que possuem usuarios no seu sistema. Kernels antigos possuem seus bugs conhecidos por qualquer pessoa e as vezes sao muito instaveis. Veja o ldt-exploit.c. Kernels 2.0.X tendem a serem mais rapidos que os 1.2.X e, e' claro, mais estaveis.

Quando estiver configurando seu kernel somente compile no codigo o que voce precisar.
Quantro razoes vem em mente: O Kernel vai ficar mais rapido (menos codigos para rodar), voce vai ter mais memoria, ficara mais estavel e partes nao necesarias poderao ser usadas por um invasor para obter acesso em outras maquinas.

Deixe o pessoal do lado de fora saber o minimo possivel sobre seu sistema.
Um simples finger para o sistema da vitima pode revelar muitas coisas sobre seu sistema; Quantas usuarios, quando o admin esta dentro, ver o que ele esta fazendo, quem ele e', quem usa o sistema e informacoes pessoais que podem ajudar um invasor a conseguir senhas de usuarios. Voce pode usar um po tente finger daemon e limitar quem pode conectar ao seu sistema e exibir o minimo possivel sobre seu sistema.

Escolha boas senhas.
Simplesmente ponha, senhas ruins e' a chave para penetrar em seu siste ma. Se voce instalar o shadow em uma Box, voce pode escolher para filtrar senhas ruins, tipo login: kewl, password: kewl, esta senha ja nao seria aceita, e isto e' uma boa ideia.
Sempre que voce tiver uma pequena quantidade de pessoas no seu sistema, e eles sao amigos, algum usuario nao convidado pode obter root e fazer um `rm -rf /'.

Se voce puder, limite quem pode conectar ao seu Linux.
Se possivel, bloqueie o acesso telnet de fora da subrede. Certamente que seja mais seguro e voce vai ter a sorte de nao ter seu sistema danifica do por estranhos.






Voltar ao Índice principal