Hoje, à medida que as redes informáticas se tornam cada vez mais populares, a segurança informática não requer apenas a prevenção de vírus informáticos, mas também a melhoria da capacidade do sistema de resistir a invasões ilegais de hackers. Este artigo discute apenas algumas situações que podem ocorrer durante a construção de um servidor Web, na esperança de atrair a atenção.
1. Vulnerabilidades de segurança
Vulnerabilidades no servidor web podem ser consideradas a partir dos seguintes aspectos:
1. Arquivos secretos, diretórios ou dados importantes no servidor web que você não permite que outras pessoas acessem.
2. Ao enviar informações de um usuário remoto para o servidor, principalmente ao enviar informações como cartões de crédito, elas são interceptadas ilegalmente por criminosos no meio do caminho.
3. Existem algumas vulnerabilidades no próprio servidor Web, que permitem que algumas pessoas invadam o sistema host, destruam alguns dados importantes e até causem paralisia do sistema.
4. As vulnerabilidades de segurança CGI incluem:
(1) A omissão intencional ou não intencional de bugs no sistema host cria condições para hackers ilegais.
(2) Programas escritos com scripts CGI podem fornecer Web Hazard ao sistema host.
5. Existem também alguns servidores web simples baixados da Internet sem levar em consideração alguns fatores de segurança e que não podem ser usados para aplicações comerciais.
Portanto, esteja você configurando o servidor ou escrevendo programas CGI, você deve prestar atenção à segurança do sistema. Tente colmatar quaisquer lacunas existentes e criar um ambiente seguro.
2. Melhore a segurança e estabilidade do sistema
Precauções de segurança do servidor Web:
1. Limite a abertura de contas no servidor web e exclua regularmente alguns usuários que interrompem o processo.
2. Para contas abertas no servidor Web, estabeleça requisitos quanto ao comprimento da senha e alterações regulares para evitar roubo.
3. Tente separar FTP, MAIL e outros servidores deles e remova alguns aplicativos irrelevantes, como ftp, sendmail, tftp, NIS, NFS, finger, netstat e assim por diante.
4. Remova alguns interpretadores absolutamente desnecessários, como SHELL, no servidor Web. Ou seja, quando o PERL não for usado em seu programa CGI, tente excluir o PERL no interpretador do sistema.
5. Verifique regularmente o arquivo de logs no servidor e analise quaisquer eventos suspeitos. Quando registros como rm, login, /bin/perl, /bin/sh, etc. aparecem no log de erros, seu servidor pode ter sido invadido por alguns usuários ilegais.
6. Defina as permissões e atributos dos arquivos do sistema no servidor Web, atribua um grupo público, como WWW, ao documento que pode ser acessado por outras pessoas e atribua a ele apenas direitos somente leitura. Todos os arquivos HTML pertencem ao grupo WWW e o grupo WWW é gerenciado pelo administrador da Web. Somente administradores da Web têm acesso de gravação aos arquivos de configuração da Web.
7. Quando alguns servidores da Web apontam o diretório de documentos da Web e o diretório FTP para o mesmo diretório, você deve tomar cuidado para não especificar o diretório FTP e o CGI-BIN no mesmo diretório. Isto evita que alguns usuários carreguem alguns programas como PERL ou SH através de FTP e usem o CGI-BIN da Web para executá-los, causando consequências adversas.
8. Acesse o IP ou DNS do usuário restringindo a permissão, como adicionando: ao access.conf no NCSA:
"Diretório/completo/caminho/para/diretório"
"Limite OBTER POST"
ordenar falha mútua
negar de todos
permitir de 168.160.142.
"/Limite"
"/Diretório"
Desta forma, apenas clientes com nome de domínio abc.net.cn ou IP pertencente a 168.160.142 podem acessar o servidor Web.
Para servidores CERN ou W3C, adicione isto ao httpd.conf:
Proteção USUÁRIOS LOCAIS {
GetMask @(*.capricorn.com, *.zoo.org, 18.157.0.5)
}
Proteger /relativo/caminho/para/diretório/* USUÁRIOS LOCAIS
9.HTTPD no WINDOWS
(1)Netscape Communications Server para NT
Vulnerabilidades do interpretador PERL:
O Netscape Communications Server não pode reconhecer a extensão e seu relacionamento de aplicativo no CGI-BIN. Por exemplo, o arquivo .pl é um arquivo de interpretação chamado automaticamente pelo programa de código PERL. Mesmo agora, o arquivo perl.exe só pode ser armazenado no CGI. -BIN diretório. Execute como: /cgi-bin/perl.exe? &meu_script.pl. Mas isso é
É possível que alguém execute PERL quando alguém adiciona algo como: /cgi-bin/perl.exe ao URL do navegador? -e unlink <*> pode causar o risco de exclusão de arquivos no diretório atual do servidor. No entanto, outros como O'Reilly WebSite ou Purveyor não possuem esta vulnerabilidade.
Vulnerabilidades na execução CGI de arquivos em lote:
O conteúdo do arquivo test.bat é o seguinte:
@eco desligado
echo Tipo de conteúdo: texto/simples
eco
eco Olá, mundo!
E se o URL do navegador do cliente for:/cgi-bin/test.bat? &dir, então o interpretador de comandos é executado para completar a lista DIR. Isto dá ao visitante a possibilidade de executar outros comandos.
(2) Servidor O′Reilly WebSite para Windows NT/95
A mesma vulnerabilidade do Netscape existe ao usar arquivos em lote em versões anteriores ao WebSite1.1B. Porém, a nova versão fecha a função do .bat no CGI. Suporta PERL e a nova versão usa VB e C como ferramentas de desenvolvimento CGI.
(3) Servidor Web IIS da Microsoft
O IIS antes de 5 de março de 1996 apresentava sérios bugs no NT e você pode usar o comando comando arbitrariamente. No entanto, a vulnerabilidade já foi corrigida e você pode verificar a data de criação do seu executável. Ainda existem alguns bugs de segurança no IIS 3.0, principalmente a concessão de direitos sob CGI-BIN. Além disso, muitos servidores web apresentam algumas vulnerabilidades de segurança, que são continuamente atualizadas durante o processo de atualização de versão. Não vou listá-las uma por uma aqui.
[Página cortada]
3. Considere a segurança da perspectiva da programação CGI
1. É mais seguro usar linguagem compilada do que linguagem interpretada, e os programas CGI devem ser colocados em CGI-BIN independente do diretório de armazenamento HTML. Isso evita que alguns visitantes ilegais obtenham a fonte da linguagem interpretada no navegador. no código.
2. Ao escrever programas CGI em C, você deve tentar usar popen(), system(), todos os comandos SHELL envolvendo /bin/sh, bem como system(), exec(), open(), eval( em PERL) e outros comandos como exec ou eval.
Quando o formulário preenchido pelo usuário for retornado ao CGI, não chame diretamente funções como system().
Além disso, para criptografia e transmissão de dados, existem atualmente SSL, SHTTP, SHEN e outros protocolos para que todos possam estudar.
4. Firewall
1. O conceito de firewall
Firewall refere-se a um dispositivo composto por software ou uma combinação de dispositivos de software e hardware. Ele está localizado entre os computadores de uma empresa ou grupo de rede e o canal externo (Internet). gerencia o acesso dos usuários internos à rede externa.
2. Medidas de firewall
(1)Host proxy
"Rede Interna - Gateway Proxy - Internet"
Desta forma, a rede interna não se comunica diretamente com a Internet. Ou seja, os usuários do computador da rede interna e o gateway proxy adotam um método de comunicação, ou seja, fornecem protocolos de rede internos (Netbios, TCP/IP, etc.), e o protocolo de comunicação de rede TCP/IP padrão é adotado entre o gateway e a Internet. Isso evita que pacotes de dados de rede viajem diretamente entre redes internas e externas. Os computadores internos devem acessar a Internet por meio de um gateway proxy, o que facilita a restrição do acesso de computadores da rede interna a computadores externos no servidor proxy. Além disso, como o servidor proxy usa diferentes padrões de protocolo em ambas as extremidades, ele também pode impedir diretamente invasões ilegais do mundo exterior. Além disso, o gateway do servidor proxy pode realizar controles de segurança, como verificação de pacotes de dados e confirmação de senhas. Desta forma, os usuários de ambas as extremidades podem ser melhor controlados e gerenciados, funcionando como um firewall.
Como esta medida de firewall é implementada por meio de um servidor proxy, a eficiência será inevitavelmente afetada quando houver muitos usuários online. O servidor proxy está muito sobrecarregado, portanto, muitos softwares clientes que acessam a Internet podem não conseguir acessar a Internet normalmente internamente. computadores em rede.
(2) O filtro de adição do roteador foi concluído
"Rede Interna - Filtro - Roteador - Internet"
Essa estrutura usa roteadores e filtros para restringir conjuntamente o acesso de computadores externos à rede interna com base em endereços IP ou nomes de domínio. Ela também pode especificar ou restringir o acesso à Internet a partir da rede interna. O roteador roteia apenas a comunicação de dados em uma PORTA específica no host, enquanto o filtro realiza filtragem, filtragem, verificação e monitoramento de segurança, o que pode isolar amplamente logins de acesso anormais entre redes internas e externas.
[Página cortada]3. Considere a segurança da perspectiva da programação CGI
1. É mais seguro usar linguagem compilada do que linguagem interpretada, e os programas CGI devem ser colocados em CGI-BIN independente do diretório de armazenamento HTML. Isso evita que alguns visitantes ilegais obtenham a fonte da linguagem interpretada no navegador. no código.
2. Ao escrever programas CGI em C, você deve tentar usar popen(), system(), todos os comandos SHELL envolvendo /bin/sh, bem como system(), exec(), open(), eval( em PERL) e outros comandos como exec ou eval.
Quando o formulário preenchido pelo usuário for retornado ao CGI, não chame diretamente funções como system().
Além disso, para criptografia e transmissão de dados, existem atualmente SSL, SHTTP, SHEN e outros protocolos para que todos possam estudar.
4. Firewall
1. O conceito de firewall
Firewall refere-se a um dispositivo composto por software ou uma combinação de dispositivos de software e hardware. Ele está localizado entre os computadores de uma empresa ou grupo de rede e o canal externo (Internet). gerencia o acesso dos usuários internos à rede externa.
2. Medidas de firewall
(1)Host proxy
"Rede Interna - Gateway Proxy - Internet"
Desta forma, a rede interna não se comunica diretamente com a Internet. Ou seja, os usuários do computador da rede interna e o gateway proxy adotam um método de comunicação, ou seja, fornecem protocolos de rede internos (Netbios, TCP/IP, etc.), e o protocolo de comunicação de rede TCP/IP padrão é adotado entre o gateway e a Internet. Isso evita que pacotes de dados de rede viajem diretamente entre redes internas e externas. Os computadores internos devem acessar a Internet por meio de um gateway proxy, o que facilita a restrição do acesso de computadores da rede interna a computadores externos no servidor proxy. Além disso, como o servidor proxy usa diferentes padrões de protocolo em ambas as extremidades, ele também pode impedir diretamente invasões ilegais do mundo exterior. Além disso, o gateway do servidor proxy pode realizar controles de segurança, como verificação de pacotes de dados e confirmação de senhas. Desta forma, os usuários de ambas as extremidades podem ser melhor controlados e gerenciados, funcionando como um firewall.
Como esta medida de firewall é implementada por meio de um servidor proxy, a eficiência será inevitavelmente afetada quando houver muitos usuários online. O servidor proxy está muito sobrecarregado, portanto, muitos softwares clientes que acessam a Internet podem não conseguir acessar a Internet normalmente internamente. computadores em rede.
(2) O filtro de adição do roteador foi concluído
"Rede Interna - Filtro - Roteador - Internet"
Essa estrutura usa roteadores e filtros para restringir conjuntamente o acesso de computadores externos à rede interna com base em endereços IP ou nomes de domínio. Ela também pode especificar ou restringir o acesso à Internet a partir da rede interna. O roteador roteia apenas a comunicação de dados em uma PORTA específica no host, enquanto o filtro realiza filtragem, filtragem, verificação e monitoramento de segurança, o que pode isolar amplamente logins de acesso anormais entre redes internas e externas.