![]() |
Segurança em rede
| Linux in Brazil Documentação original e de qualidade em bom português |
Sabendo que o Linux é um sistema capaz de ser administrado remotamente, e
que muitas configurações default de distribuições habilitam muitos
processos servidores para iniciar automaticamente após a instalação, estes
novos usuários acabam se transformando em uma ameaça a si próprios, pois
expõem à Internet uma máquina aberta, devido à sua falta de conhecimento
técnico.
Para piorar a situação, há abundância de textos sobre "segurança"
disponíveis na internet, "ensinando" que para garantir uma configuração
segura da sua máquina, tudo o que você tem a fazer é "comentar as linhas do
inetd.conf" - conselho enganoso, mas infelizmente muito divulgado.
Não sou a pessoa certa para escrever sobre técnicas avançadas de segurança,
mas certamente quero fazer a minha parte em difundir a consciência sobre a
importância de uma configuração segura. Neste artigo, estarei apresentando
uma breve lista do que você deve fazer para ter uma máquina (workstation -
se você precisa configurar um servidor, vai ter que se informar muito mais)
minimamente segura, a ponto de expô-la à Internet sem grandes preocupações.
Não serão apresentadas as técnicas, mas apenas a descrição genérica dos
passos. Existe muita documentação disponível na Internet para que você
aprenda as técnicas e sequências de comandos. Comece procurando pelos howtos
e guias do LDP, busque os
softwares citados no Freshmeat e
procure informações detalhadas no Security Focus.
A segurança começa pela instalação do seu sistema Linux. Se você tem uma
máquina sem configurações especiais de segurança e quer torná-la segura, uma
opção interessante é reinstalá-la completamente, suprimindo assim qualquer
erro que tenha sido cometido no passado; lembre-se que uma máquina invadida
e onde estranhos obtiveram privilégios de superusuário jamais poderá ser
considerada segura novamente, exceto se totalmente reinstalada a partir de
uma mídia original (e se você corrigir as falhas que permitiram a invasão
original!)
Ao instalar o sistema, lembre-se dos seguintes itens:
Uma instalação padronizada de sistema operacional costuma habilitar uma
série de serviços dos quais você não precisa, e que podem vir a servir como
ponto de acesso para um invasor. Removê-los é relativamente fácil, e um
passo essencial.
Editar corretamente o arquivo /etc/inetd.conf é básico. Este
arquivo define quais os serviços básicos de internet estarão habilitados na
sua máquina, e portanto acessíveis a partir de outras máquinas. Verifique
atentamente quais destes serviços estão habilitados, e retire os que você
não tiver uma boa justificativa para manter. Na dúvida, retire!
Retirar um serviço do inetd.conf é simples - basta acrescentar um caracter
# no início da linha, transformando-a em um comentário. Se
posteriormente você precisar habilitar novamente o serviço, basta retirar o
#.
Máquinas domésticas em geral não precisam de nenhum serviço habilitado no
inetd.conf - e podem até mesmo deixar de carregar o serviço inetd
(inetd) na inicialização, veremos mais sobre isto a seguir.
Usuários de serviços online (como o irc) podem querer habilitar apenas o
serviço auth. Não se deixe enganar pela ilusão de rodar servidores
telnet, ftp e finger na sua máquina doméstica, exceto se você realmente
tiver uma boa justificativa.
Após definir a sua configuração do inetd.conf, reinicie o processo do inetd,
comandando killall -HUP inetd
Em seguida, você precisa verificar os serviços de rede standalone,
que não são gerenciados pelo inetd.conf, mas sim pelos init scripts,
de modo geral localizados abaixo do diretório /etc/rc.d. Cada
distribuição de Linux lida com estes scripts de uma maneira um pouco
diferente, então você terá que ler um pouco da documentação da sua
preferida. Ferramentas como o ntsysv, o ksysv e o tksysv podem ajudar, e a
sua distribuição pode ter oferecido algum outro pacote adicional que permita
selecionar os scripts facilmente.
De modo geral, os init scripts definem quais serviços serão inicializados no
momento do boot. Alguns serviços são aparentemente inócuos do ponto de vista
de uma possível invasão (e.g. sound, random, apmd), enquanto outros
claramente oferecem algum raio de ação para o potencial invasor (e.g.
portmap, xntpd, netfs, rstatd, rusersd, rwalld, rwhod, bootparamd, squid,
yppasswd, ypserv, dhcpd, snmpd, named, routed, lpd, gated, httpd, xfs,
linuxconf e muitos outros).
Ao definir quais scripts você executará no boot, use o mesmo critério da
seleção dos serviços do inetd; na dúvida, retire - se mais tarde você
precisar, adicione novamente (após avaliar o impacto sobre a segurança).
Particularmente evite rodar o servidor do linuxconf, rstatd, rusersd,
rwalld, rwhod, os serviços do NIS (yp*) e os daemons de roteamento (como o
gated). Se você for rodar um servidor web para uso interno, ou para testes,
certifique-se de configurá-lo para aceitar requests apenas da sua rede
interna, ou de sua máquina pessoal - segurança de servidores não será
coberta neste texto.
Cuidado ao mexer nos scripts de inicialização - você pode ter problemas
sérios! Leia sempre a documentação antes, e tenha à mão um disquete de
inicialização completa, como o tomsrtbt para emergências, já que provavelmente
o disquete de boot gerado durante a sua instalação do Linux não resolverá o
problema. Outra boa dica é aprender a iniciar o sistema em modo monousuário
quando tudo falhar.
Agora vem o balaio de gatos. Todos estes passos são importantes, e podem ser
executados de muitas maneiras - consulte a documentação existente.
Seguindo os passos acima, você terá condições de obter um razoável nível de
confiança em sua instalação de Linux. Com o tempo, talvez eu tenha condições
de escrever outros artigos detalhando os procedimentos acima. Até lá, você
está convidado a pesquisar a documentação adicional (links no início do
texto) para resolver seus próprios problemas. Depois, que tal sintetizar o
que você aprendeu na forma de um artigo ou mesmo uma dica? Entre em contato,
poderemos publicar seu trabalho.
Checklist de segurança
Introdução
Mais e mais novos usuários de Linux surgem todos os dias, e graças à
facilidade de acesso à Internet nos dias de hoje, a maior parte deles
conecta suas máquinas pessoais a redes abertas sem maiores dificuldades.
Primeiros passos
Serviços desnecessários
Os detalhes
Conclusão