Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
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ó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 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 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 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/ 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 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/ 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á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 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 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