Configurando um servidor
Transcript of Configurando um servidor
PAL0103©1998 – RNP
Web Seguro
Centro de Atendimento a Incidentes de Segurança - CAIS
Web SeguroConfigurando um servidor WWW seguro
Novembro de 1998
PAL0103
PAL0103©1998 – RNP
Web Seguro
Índice:
• Introdução• Técnicas recomendadas• Recomendações Gerais• Problemas de segurança com alguns
servidores WWW• Referências
PAL0103©1998 – RNP
Web Seguro
Introdução
Introdução
• Qual é o cenário?
• O que fazer?
PAL0103©1998 – RNP
Web Seguro
Introdução
Qual é o cenário?
• Pedidos anônimos;• Usuários não autenticados;• Código fonte complexo;• Em muitos casos, código amplamente divulgado;• Não são poucos os usuários inexperientes em
programação CGI.
Seu servidor Web se torna um fácil ponto de ataque!!
PAL0103©1998 – RNP
Web Seguro
Introdução
O que fazer?
• Pagar um “servidor seguro”;• Aplicar técnicas recomendadas para tornar o seu servidor
mais seguro;• Combinação de ambos.
PAL0103©1998 – RNP
Web Seguro
Técnicas recomendadas
Técnicas recomendadas
• Configurando o User ID / Group ID do servidor• Entendendo a estrutura de diretórios
−Permissões−Arquivos de configuração
• Escrevendo scripts CGI de maneira segura−Scripts CGI com conhecidos furos de segurança−Scripts CGI: Recomendações
PAL0103©1998 – RNP
Web Seguro
Técnicas recomendadas
Configurando UID/GID do servidor
• Servidor (processo pai) precisa ser inicializado como root, para “ouvir” na porta 80 (padrão)
• Já os processos filhos NÃO devem, de maneira alguma, rodar como root (configurável através do arquivo conf/httpd.conf)
User httpGroup http
PAL0103©1998 – RNP
Web Seguro
Técnicas recomendadas
Entendendo a estrutura de diretórios
Especial cuidado, no que diz respeito a:• Permissões de diretórios e arquivos
−cgi-bin−conf−htdocs−logs
• Arquivos de configuração−access.conf−httpd.conf−srm.conf
PAL0103©1998 – RNP
Web Seguro
Técnicas recomendadas
Estrutura de diretórios: Permissões
Esquema 1:drwxr-xr-x 5 www www 1024 Aug 8 00:01 cgi-bin/drwxr-x--- 2 www www 1024 Jun 11 17:21 conf/-rwx------ 1 www www 109674 May 8 23:58 httpddrwxrwxr-x 2 www www 1024 Aug 8 00:01 htdocs/drwxrwxr-x 2 www www 1024 Jun 3 21:15 icons/drwxr-x--- 2 www www 1024 Aug 8 00:01 htdocs/
PAL0103©1998 – RNP
Web Seguro
Técnicas recomendadas
Estrutura de diretórios: Permissões (cont.)
Esquema 2:drwx--x--x 5 root www 1024 Aug 8 00:01 cgi-bin/drwx------ 2 root www 1024 Jun 11 17:21 conf/-rwx------ 1 root www 109674 May 8 23:58 httpddrwxr-xr-x 2 root www 1024 Aug 8 00:01 htdocs/drwxr-xr-x 2 root www 1024 Jun 3 21:15 icons/drwx------ 2 root www 1024 Aug 8 00:01 htdocs/
PAL0103©1998 – RNP
Web Seguro
Técnicas recomendadas
Estrutura de diretórios: arquivos de configuração
• Permissões:
-rw------- 5 root wheel 954 Aug 6 00:01 access.conf-rw------- 2 root wheel 2840 Aug 6 17:21 httpd.conf-rw------- 1 root wheel 3290 Aug 6 23:58 myme.types-rw------- 2 root wheel 4106 Aug 6 00:01 srm.conf
• Especial atenção no que diz respeito a:- Listagem automática de diretórios- Links simbólicos- Server Side Includes (SSI)
PAL0103©1998 – RNP
Web Seguro
Técnicas recomendadas
Escrevendo scripts CGI seguros
• O maior problema dos scripts CGI:
- podem incluir erros de codificação sutis
• Estes erros podem permitir:
- vazamento de informações do servidor/sistema
- executar comandos arbitrários (INPUT DATA)
PAL0103©1998 – RNP
Web Seguro
Técnicas recomendadas
Scripts CGI com conhecidos furos de segurança
Script Versões Afetadas Uso
Count.cgi 1.0-2.3 Contador de páginawebdist.cgi 1.0-1.2 Distribui softwarephp.cgi Até 2.0 Ling. de scriptsnph-test.cgi Todas ?nph-publish 1.0-1.1 ?AnyForm 1.0 Cria formuláriosFormMail 1.0 Envia dados/e-mailphf Todas Phone Book
PAL0103©1998 – RNP
Web Seguro
Técnicas recomendadas
Scripts CGI: recomendações
• Colocar todos os scripts num único diretório
- configurar no arquivo conf/srm.conf
• Usar Tripwire para monitorar mudanças nos scripts
• Permissões dos scripts: 755
• Permissão do diretório: 711
• Desativar todos os scripts não usados
PAL0103©1998 – RNP
Web Seguro
Técnicas recomendadas
Scripts CGI: recomendações (cont.)
• No que diz respeito à codificação:- Evite dar maiores informações- Não assuma nenhum tamanho de dados de entrada- Analise sempre dados de entrada do usuário (executados por algum comando shell)
Ex.: Tem algum “;” no meio?
• Invocar programas usando caminhos absolutos
Ex.: Em vez de ls -l, utilize: /bin/ls -l
PAL0103©1998 – RNP
Web Seguro
Recomendações gerais
Recomendações gerais
• Isolar o servidor Web (firewalls);
• Monitorar freqüentemente:• Arquivos de log Ex.: Pedidos de URL muito longas
• Usando Tripwire Ex.: Alterações não autorizadas
• Para quem usa autenticação via Web, garanta que o arquivo de senhas não esteja acessível a usuários comuns
PAL0103©1998 – RNP
Web Seguro
Recomendações gerais
Recomendações gerais (cont.)
• Seja ciente dos possíveis problemas de integrar serviços Web e Ftp: nada de uploads!
• Acompanhe os alertas de segurança.
PAL0103©1998 – RNP
Web Seguro
Problemas de segurança com alguns servidores WWW
Problemas de segurança com alguns servidores WWW
• Netscape Communicator para NT (versão 1.12) Netscape Commerce para NT (versão 1.12)
• Microsoft IIS (versões anteriores a 05/03/96)- É possível fazer download de scripts e lê-los
Microsoft IIS (versão 3.0)- Vulnerável a ataque DoS (URL longa)
PAL0103©1998 – RNP
Web Seguro
Problemas de segurança com alguns servidores WWW
Problemas de segurança com alguns servidores WWW (cont.)
• Servidor NCSA - Buffer overflow em versões anteriores a 1.4
- cgi_src/util.c e src/util.c nas versões 1.5a e anteriores permitem executar comandos remotos
• Servidor Apache- Módulo “mod_cookies” na versão 1.1.1 (Buffer overflow)- cgi_src/util.c e src/util.c nas versões 1.02 e anteriores permitem executar comandos remotos
PAL0103©1998 – RNP
Web Seguro
Problemas de segurança com alguns servidores WWW
Problemas de segurança com alguns servidores WWW (cont.)
- Vulnerabilidade na versão 1.1.1 que permite a listagem automática de diretórios, mesmo com o arquivo index.html presente!
• Servidor Netscape para Unix- Sistema de criptografia no NS Commerce foi “crackeado”- Sistema de geração de chaves é quase previsível
PAL0103©1998 – RNP
Web Seguro
Referências
Referências
• Links:- http://www.go2net.com/people/paulp/cgi-security- http://hoohoo.ncsa.uiuc.edu/cgi/security.html- http://www.cs.purdue.edu/coast/hotlist.html#securi01
• FAQs:- http://www.w3.org/Security/Faq
PAL0103©1998 – RNP
Web Seguro
Referências
Referências (cont.)
• Listas:- www-security: Enviar e-mail para
[email protected] colocando na mensagem o seguinte:
subscribe www-security < seu e-mail >
• Livros:- Practical Unix & Internet Security - 2nd. Edition Simsom Garfunkel and Gene Spafford O’Reilly & Associates