Upload
ward
View
20
Download
0
Embed Size (px)
DESCRIPTION
Web Seguro Configurando um servidor WWW seguro Novembro de 1998. Centro de Atendimento a Incidentes de Segurança - CAIS. PAL0103. Índice:. Introdução Técnicas recomendadas Recomendações Gerais Problemas de segurança com alguns servidores WWW Referências. Introdução. Introdução - PowerPoint PPT Presentation
Citation preview
PAL0103©1998 – RNP
Web Seguro
Centro de Atendimento a Incidentes de Segurança - CAIS
Web Seguro
Configurando 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óriosPermissõesArquivos de configuração
Escrevendo scripts CGI de maneira seguraScripts CGI com conhecidos furos de segurançaScripts 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 http
Group 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 arquivoscgi-binconfhtdocslogs
Arquivos de configuraçãoaccess.confhttpd.confsrm.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
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