220 likes | 418 Views
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
E N D
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 • Qual é o cenário? • O que fazer?
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!!
Introdução • O que fazer? • Pagar um “servidor seguro”; • Aplicar técnicas recomendadas para tornar o seu servidor mais seguro; • Combinação de ambos.
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
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
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
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 httpd drwxrwxr-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/
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 httpd drwxr-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/
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)
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)
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ágina webdist.cgi 1.0-1.2 Distribui software php.cgi Até 2.0 Ling. de scripts nph-test.cgi Todas ? nph-publish 1.0-1.1 ? AnyForm 1.0 Cria formulários FormMail 1.0 Envia dados/e-mail phf Todas Phone Book
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
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
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
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.
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)
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
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
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
Referências • Referências (cont.) • Listas: • - www-security: Enviar e-mail para • www-security-request@nsmx.rutgers.edu • 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