configurando um servidor

22
Centro de Atendimento a Incidentes de Segurança - CAIS Web Seguro Configurando um servidor WWW seguro Novembro de 1998 PAL0103

Upload: tiago

Post on 23-Jan-2017

21 views

Category:

Education


0 download

TRANSCRIPT

Page 1: 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

Page 2: Configurando um servidor

PAL0103©1998 – RNP

Web Seguro

Índice:

• Introdução• Técnicas recomendadas• Recomendações Gerais• Problemas de segurança com alguns

servidores WWW• Referências

Page 3: Configurando um servidor

PAL0103©1998 – RNP

Web Seguro

Introdução

Introdução

• Qual é o cenário?

• O que fazer?

Page 4: Configurando um servidor

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!!

Page 5: Configurando um servidor

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.

Page 6: Configurando um servidor

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

Page 7: Configurando um servidor

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

Page 8: Configurando um servidor

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

Page 9: Configurando um servidor

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/

Page 10: Configurando um servidor

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/

Page 11: Configurando um servidor

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)

Page 12: Configurando um servidor

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)

Page 13: Configurando um servidor

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

Page 14: Configurando um servidor

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

Page 15: Configurando um servidor

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

Page 16: Configurando um servidor

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

Page 17: Configurando um servidor

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.

Page 18: Configurando um servidor

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)

Page 19: Configurando um servidor

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

Page 20: Configurando um servidor

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

Page 21: Configurando um servidor

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

Page 22: Configurando um servidor

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