Red Hat Enterprise Linux 3: Guia de Segurança | ||
---|---|---|
Anterior | Capítulo 4. Segurança da Estação de Trabalho | Próxima |
Enquanto o acessso a controles administrativos é uma questão importante para administradores de sistema dentro de uma empresa, manter controle de quais serviços de rede estão ativos é de suma importância para qualquer um que instalar e operar um sistema Linux.
Muitos serviços comportam-se como servidores de rede sob o Red Hat Enterprise Linux. Se um serviço de rede estiver rodando em uma máquina, então uma aplicação de servidor chamada daemon está escutando conexões em uma ou mais portas de rede. Cada um destes servidores deve ser tratado como uma via potencial de ataque.
Serviços de rede podem apresentar muitos riscos a sistemas Linux. Veja abaixo uma lista com as principais questões:
Ataques de Sobrecarregamento do Buffer (Buffer Overflow) — Serviços que se conectam a portas numeradas de 0 a 1023 devem ser executados por um usuário administrativo. Se a aplicação tiver um sobrecarregamento explorável do buffer, um atacante pode obter acesso ao sistema como o usuário rodando o daemon. Devido à existência de sobrecarregamento explorável do buffer, os crackers usam ferramentas automatizadas para identificar sistemas com vulnerabilidades, e após obterem acesso ao sistema, utilizam rootkits automatizados para mantê-lo.
Ataques de Denial of Service (DoS) — Ao inundar um serviço com pedidos, um ataque de denial of service pode trazer ao sistema uma parada terrível ao tentar registrar e responder à cada pedido.
Ataques à Vulnerabilidade do Script — Se um servidor estiver usando scripts para executar ações no lado do servidor, como servidores Web geralmente fazem, um cracker pode montar um ataque com scripts escritos inapropriadamente. Estes ataques à vulnerabilidade do script podem acarretar na condição de sobrecarregamento do buffer ou permitir que o atacante altere arquivos no sistema.
Para limitar a exposição a ataques através da rede, todos os serviços não utilizados devem ser desligados.
Para aumentar a segurança, a maioria dos serviços instalados com o Red Hat Enterprise Linux são desligados por default. No entanto, há algumas exceções notáveis:
cupsd — O servidor de impressão default do Red Hat Enterprise Linux.
lpd — Um servidor de impressão alternativo.
portmap — Um componente necessário para o NFS, NIS e outros protocolos.
xinetd — Um super servidor que controla as conexões para uma máquina de servidores subordinados, como vsftpd, telnet e sgi-fam (necessário para o gerenciador de arquivos Nautilus).
sendmail — O agente de transporte Sendmail é ativado por default, mas escuta apenas conexões a partir do localhost.
sshd — O servidor OpenSSH, um substituto seguro para o Telnet.
Ao determinar se estes serviços devem ou não ser deixados rodando, é melhor usar bom senso e pecar pela precaução. Por exemplo: se uma impressora não está disponível, não deixe o cupsd rodando. O mesmo vale para o portmap. Se você não monta volumes NFS ou usa o NIS (o serviço ypbind), então o portmap deve ser desativado.
O Red Hat Enterprise Linux é distribuído com três programas desenvolvidos para ligar e desligar serviços. Eles são: Ferramenta de Configuração dos Serviços (redhat-config-services), ntsysv e chkconfig. Para informações sobre o uso destas ferramentas, consulte o capítulo Controlando Acesso aos Serviços do Guia de Administração de Sistemas do Red Hat Enterprise Linux.
Se você não está certo sobre o propósito de um serviço específico, a Ferramenta de Configuração dos Serviços tem um campo de descrição, ilustrado na Figura 4-3, que pode lhe ser útil.
Mas verificar quais serviços de rede estão disponíveis para iniciar no momento de ligar a máquina (boot) não é suficiente. Bons administradores de sistema também devem verificar quais portas estão abertas e escutando. Veja a Seção 5.8 para mais detalhes sobre o assunto.
Potencialmente, qualquer rede é insegura. Por este motivo, desligar serviços não usados é tão importante. Exploits de serviços são revelados e consertados rotineiramente. Portanto é importante manter atualizados os pacotes associados a qualquer serviço de rede. Veja o Capítulo 3 para mais detalhes sobre este assunto.
Alguns protocolos de rede são essencialmente mais inseguros que outros. Estes incluem quaisquer serviços que façam o seguinte:
Passem Nomes de Usuário e Senha Não Criptografados por uma Rede — Muitos protocolos antigos, como Telnet e FTP, não criptografam a seção de autenticação e devem ser evitados sempre que possível.
Passar Dados Importantes por uma Rede Não-Criptografada — Muitos protocolos passam dados através da rede não-criptografada. Estes protocolos incluem o Telnet, FTP, HTTP e o SMTP. Muitos sistemas de arquivo de rede, como o NFS e o SMB, também passam informações através da rede não-criptografada. É responsabilidade do usuário limitar o tipo de dados transmitidos ao utilizar estes protocolos.
Serviços dump de memória remota, como o netdump, passam o conteúdo da memória não criptografado através da rede. Dumps de memória podem conter senhas ou pior, informações de banco de dados ou outras informações delicadas.
Outros serviços como finger e rwhod revelam informações sobre os usuários do sistema.
Exemplos de serviços essencialmente inseguros incluem os seguintes:
rlogin
rsh
telnet
vsftpd
Todos os programas de login e shell (rlogin, rsh e telnet) devem ser evitados em favor do SSH. (Veja a Seção 4.7 para mais informações sobre o sshd).
O FTP não é essencialmente tão perigoso à segurança do sistema quanto janelas de comando (shells) remotas, mas os servidores FTP devem ser configurados e monitorados cuidadosamente para evitar problemas. Veja a Seção 5.6 para mais informações sobre a proteção de servidores FTP.
Serviços que devem ser implementados cuidadosamente e por trás de um firewall incluem os seguintes:
finger
identd
netdump
netdump-server
nfs
portmap
rwhod
sendmail
smb (Samba)
yppasswdd
ypserv
ypxfrd
Você pode consultar mais informações sobre a proteção de serviços de rede em Capítulo 5.
A próxima seção aborda as ferramentas disponíveis para configurar um firewall simples.