Projeto Integrador III
Tema: Planejamento de Segurança da Informação
Disciplina: ​
Serviços IP​
. Prof. Dinaílton
Serviços IP's:
● Levantamento.
● Descrição.
● Recomendações para segurança nos Serviços IP.
Levantamento:
A disciplina “Serviços IP” por meio de experimentos em uma rede de computadores ofereceu
subsídios para o conhecimento, configuração e controle de serviços IP inclusive remotamente. Os
protocolos de serviços IP's estão na camada de aplicação e os abordados no semestre foram:
HTTP → Apache (logs webalizer)→ proxy (conf. squid - logs com Sarg; SquidGuard)
SSH → protocolo de login remoto
NFS → acesso a arquivos remotos por meio da rede
SMTP → protocolo que gerencia envio de mensagens através de correio eletrônico
DHCP → protocolo de configuração dinâmica em redes
SMB → protocolo de compartilhamento de arquivos e impressoras de rede.
As vulnerabilidades surgem de erros em aplicativos de software ou de ativos mal­configurados; eles são imperfeições inerentes do software ou más configurações de sistema permitindo que código malicioso comprometa o sistema.Se exploradas, as vulnerabilidades podem causar impacto sobre as organizações em miríades de modos – desde afetar a continuidade dos negócios até influenciar a confiança dos clientes. SSH (Secure Shell)
Descrição:
É uma interface de comando baseado em Unix e protocolo de segurança para obter acesso a um
computador remoto, bastante flexível em relação a algoritmos usados na conexão que são
negociados entre cliente e servidor. Versão mais recente SSH2 (IETF).
O SSH usa criptografia de chave pública RSA tanto para conexão e autenticação. São usados
algoritmos de criptografia Blowfish, DES e IDEA (padrão).
Recomendações de segurança:
●
●
●
●
●
●
●
●
●
●
●
Escolher uma senha forte;
Instalar o DenyHosts para bloqueio automático de intrusos;
Modificar a porta padrão;
Desabilitar protocolo inseguro;
Desabilitar login como root;
Reduzir o número da conexões autenticadas;
Reduzir o tempo de espera para login;
Autorizar somente específicos usuários e/ou grupos;
Autorizar conexões de um único IP;
Somente autorizar usuários com chaves, proibir o uso de senhas;
Ligar o SSH a uma interface de rede específica. Referências
SECURE SHELL (SSH).​
Disponível em:
<​
http://searchsecurity.techtarget.com/definition/Secure-Shell​
>. Acesso em: 28/05/2015. SSH Completo​
. Disponível em: <www.vivaolinux.com.br>. Acesso em: 26/05/2015. HTTP (Hypertext Transfer Protocol)
Descrição:
É um protocolo de comunicação para a troca ou transferência de hipertexto, base para
comunicação de dados da World Wide Web. O conceito básico é o seguinte: as páginas web se
encontram em um servidor web, onde podem estar várias outras páginas. O cliente ou usuário
acessa essa página através de um navegador que interpreta o código HTML e constrói a página a
ser visualizada por ele. O cliente faz uma requisição de uma página ao servidor através do
protocolo HTTP e o servidor responde ao cliente com a página solicitada.
Um navegador é um programa que pode exibir uma página web, localizando a página por meio da
URL (identificadores universais da página) que são como ponteiros que apontam para um
determinado local (página da web).
Segundo (TANEMBAUM, 2003) quando um usuário clica em um Hyperlink, o navegador executa
uma série de etapas realizadas em sequência, para buscar a página indicada pelo Hyperlink. A
sequência de passos que o navegador realiza é a seguinte:
1. O navegador determina o URL (verificando o que foi selecionado).
2. O navegador pergunta ao DNS qual e o endereço IP de ​
www.unematcolider.org​
. 3. O DNS responde com 200.140.76.75.
4. O navegador estabelece uma conexão TCP com a porta 80 em 20.140.76.75.
5. Em seguida, o navegador envia um comando solicitando o arquivo /site/.
6. O servidor ​
www.unematcolider.org ​
envia o arquivo ​
/site/. 7. A conexão TCP e encerrada
8. O navegador exibe todo o texto de ​
/site/​
. 9. O navegador busca e exibe todas as imagens que o arquivo contém.
As mensagens de requisição e resposta do protocolo HTTP seguem um padrão (GET HEAD e POST), uma requisição e constituída de uma linha informando o método a ser executado em seguida de um cabeçalho que pode ter mais de uma linha e por último o corpo da mensagem caso seja necessário. Segundo (TANEMBAUM, 2003) o método GET é uma solicitação ao servidor de envio de página ou objeto exemplo: GET /index.html HTTP/1.1//tipo do método, arquivo solicitado e modelo HTTP Host: ​
www.unemat.br
//endereço do host, onde está hospedado o objeto Connection: close
//tipo de conexão não persistente User­agent: Mozilla/4.0
//browser utilizado Accept­language: fr
//linguagem solicitada A resposta do servidor deve ser:
HTTP/1.1 200 OK
//estado Ok enviando o objeto Connection: close
//conexão não persistente Date: Mon, 12 Dec 2005 04:15:03 GMT
//Data de acesso ao objeto Server: Apache/1.3.0 (Unix)
//tipo de servidor web Last­Modified: Sun. 5 May 2005 09:25:23 GMT//data da última alteração Content­Length: 6821
//tamanho do arquivo Content­Type: text/html
//tipo de arquivo A relação dos métodos usados:
GET: Método que solicita algum recurso ou objeto ao servidor
HEAD: Solicita informações de um determinado objeto sem que esse seja enviado ao cliente
apenas para testa a validade do último acesso.
POST: Método usado para envio de arquivo dados ou formulário HTML ao servidor.
OPTIONS: Por meio desse método o cliente obtém as propriedades do servidor.
DELETE: Informa por meio do URL o objeto a ser deletado.
TRACE: Para enviar mensagens do tipo loopback para teste.
PUT: Aceita criar ou modificar algum objeto do servidor.
CONNECT: Comunicar com servidores Proxy.
SQUID
Conforme Silva (2015), é um programa proxy HTTP que faz cache, pois armazena os dados
visitados, faz filtragem mas não pode ser considerado como um sistema firewall. Seu benefício é
evidente quando o mesmo dado é requisitado várias vezes, pois armazena uma cópia num cache
de disco local.
Vantagens:
● É suportado em vários sistemas operacionais;
● Diminuição do uso de largura de banda;
● Rapidez de carregamento de páginas guardadas na cache;
● Filtragem de conteúdo usando o SquidGuard;
● Possibilidade de verificar a utilização da rede através dos geradores de relatórios (SARG);
● Autenticação de usuários;
● Controle de acesso à internet centralizado.
Desvantagens:
● Consome bastante recursos;
● Demora no carregamento de páginas que não estejam guardadas no cache;
● Configura complexa;
● Otimização difícil.
SARG e Webalizer:
Ferramenta para administradores obter maiores informações sobre como os usuários estão
acessando a rede. É um interpretador de logos para o Squid, assim como o Webalizer é para o
Apache. Sempre que executado, ele cria um conjunto de páginas, divididas por dia, com uma lista
de todas as páginas que foram acessadas e a partir de que máquina da rede veio cada acesso.
Recomendações de Segurança:
De forma semelhante ao sistema operacional a configuração de um servidor HTTP (apache ou IIS)
pode ser ajustada em termos de segurança limitando a quantidade de informações exibidas sobre
o servidor. ● Utilização do protocolo HTTPS Os acessos a páginas da internet geralmente são realizados pelo protocolo HTTP, onde as
informações trafegam em texto claro, sem o uso de criptografia e podem ser interceptados,
coletados, modificados ou retransmitidos. O HTTP não é indicado para transmissões que
envolvem informações sigilosas, como senhas, números de cartão de crédito e dados
bancários, e deve ser substituído pelo HTTPS, que oferece conexões seguras, que utiliza
certificados digitais para assegurar a identidade, tanto só site d destino como a sua própria. Também utiliza métodos criptográficos e outros protocolos, como o SSL (Secure Sockets Layer)
e o TLS (Transport Layer Security), para assegurar a confidencialidade e a integridade das
informações. ● Remover funcionalidades desnecessárias
Em sua instalação, servidores HTTP irão habilitar uma série de funcionalidades e configurações
nem sempre necessárias: módulos para autenticação, redirecionamentos, páginas pessoais de
usuários. Uma falha de segurança em um módulo ou configuração desnecessária pode por em
risco a segurança de todo o servidor. ● Configurar corretamente o LOG O registro de funcionamento (acessos), bem como dos erros ocorridos em um servidor HTTP é
de extrema importância. Um LOG bem configurado armazena o máximo de informações, em
arquivos independentes para cada VirtualHost existente no servidor. ● Mitigando Ataques de HPP (Parameter Pollution) ● Em linhas gerais, os ataques baseados em HPP são falhas no processo de validação de
entradas de dados (como os * Injection), tendo o processo de mitigação que passar pela
análise dos delimitadores de “query strings”;
● Todas as tentativas de mitigação passam pelo conhecimento de como cada aplicação trata
as “query strings”;
● Escolha (e conhecimento) da tecnologia utilizada;
● Validação de dados (análise de entradas “estranhas”);
● Filtragem (nível de aplicação) = WAF (Firewalls de Aplicações Web);
● Atualizar serviços e aplicar patches sempre é uma das ações obrigatórias.
Referências HTTP​
. Disponível em: <http://pt.wikipedia.org/wiki/Hypertext_Transfer_Protocol>. Acesso em:
26/05/2015. CARTILHA DE SEGURANÇA PARA INTERNET​
. Disponível em: <​
http://cartilha.cert.br/​
>. Acesso em:
26/05/2015. GALVÃO, Ricardo Kléber M. ​
Entendendo e Mitigando Ataques Baseados em HTTP. Rio Grando
Norte : ​
IFECTRN, 2009. TANEMBAUM, Andrew S. ​
Redes de Computadores,​
7a Edicao, Editora Campus, Rio de ​
Janeiro – RJ, 2003.
TEIXEIRA, Mário A. M., Suporte a serviços diferenciados em servidores web: modelos e algoritmos​
. Disponivel em:
<​
http://www.deinf.ufma.br/~mario/producao/tese_swds.pdf​
>. Acesso em: 29/05/2015. SILVA, Dinailton José da. ​
Proxy – Squid.​
Laboratório de Administração de Redes. 12/02/2015. NFS
Descrição:
Segundo informação da Red Hat, computadores mostram seu poder quando estão em rede,
compartilhando arquivos. Os arquivos centralizados em rede, podem fornecer acesso aos mesmos
por um número ilimitado de usuários em qualquer lugar do mundo como se fossem locais. NFS é
o núcleo do compartilhamento de arquivos e diretórios do sistema Linux, tornando o trabalho sem
limites físicos, mais fácil e produtivo. No entanto, exige-se uma configuração adequada para
mitigar os riscos de usá-lo.
Figura 1: Representação de compartilhamento de estrutura de pasta de arquivos
NFS opera usando o comum ​
modelo cliente-servidor​
. Servidores NFS pode exportar sistemas de
arquivos inteiros, eventualmente tornando-os disponíveis publicamente. Clientes NFS em seguida,
montar os sistemas de arquivos exportados.
Uma vez montado, sistema de arquivos remoto do servidor está ligado ao sistema de arquivos
local do cliente. Quando ocorrer qualquer alteração de arquivos no sistema de arquivos NFS, o
cliente NFS envia as modificações para o servidor NFS para processamento. Recomendações de Segurança: NFS evoluiu em uma época em que a segurança não era a principal preocupação.
Consequentemente, há pouco mecanismo dentro NFS para proteger contra o uso indevido.
Problemas de segurança comuns associados com NFS:
1. Especificando incorretamente as informações de acesso tcpd. O Linux envolve portmap (e, portanto, NFS) com acesso ​
tcpd​
, permitindo que o administrador identifique determinados hosts ou redes que têm acesso. Especificar incorretamente as informações de acesso tcpd é uma exposição comum. tcpd:​
um programa que oferece segurança baseada em host para muitas aplicações de Internet do Linux. Suponha que um usuário com um ID de 242 possui alguns arquivos em seu servidor NFS. Qualquer cliente NFS com um ID do usuário de 242 pode acessar esses arquivos, independentemente de saber se é o mesmo usuário 242 ou não. É muito mais fácil evitar problemas de segurança do que tentar resolvê-los uma vez que eles
aparecem. Algumas sugestões, poderá ajudar a evitar intrusões:
1. Criar restrições de acesso sensatas em / etc / exports . Pense sobre seus usuários NFS e apenas dar o mínimo de acesso apropriado aos usuários. 2. Nunca exportar a raiz ( / filesystem) porque este expõe muito da configuração do seu sistema. Se você absolutamente deve exportar o diretório raiz, exportá­lo somente leitura. 3. Use curingas somente quando absolutamente necessário. Meliantes poderiam ter acesso aos seus arquivos por ​
falsificação de​
DNS, e um curinga só aumenta suas chances de ser bem sucedido. Spoofing: Fingindo um nome de host para ignorar um ou mais mecanismos de segurança. 4. Em /etc/hosts.deny , negar todo o acesso ao portmap serviço. Em /etc/hosts.allow , permitir o acesso apenas aos hosts e redes para a qual você quer dar serviços NFS. 5. Certifique­se de IDs de usuário e grupo são iguais tanto no servidor NFS e clientes. Referências
Network File System (NFS). ​
Disponível em:
<​
http://www.redhatlinuxsysadmin.com/redhat-linux-system-administration/module5/intro-netw
orkFile-services.php​
>. Acesso em: 01/06/2015. SILVA, Dinaílton José da. ​
NFS: Network File System.​
Serviço IP – Fundamentação Teórica. Arquivo
em PDF. 23/03/2015. SMTP (Simple Mail Transfer Protocol)
Descrição:
Trata-se de um protocolo padrão que permite transferir o correio de um servidor a outro em
conexão ponto a ponto. As mensagens podem então ser recuperadas como um cliente de e-mail
usando POP ou IMAP uma vez que o SMTP é limitado em sua capacidade de fila de mensagens no
final de recebimento. A utilização do POP e IMAP permite ao usuário salvar mensagens em uma
caixa de correio servidor e transferi-los periodicamente a partir do servidor. Em suma, usuários
usam um programa que usa SMTP para o envio de e-mail e POP ou IMAP para receber e-mail.
Normalmente é implementado utilizando a porta 25. Segundo a RFC 821, o objetivo do SMTP é a
transferência de correio confiável e eficiente. É independente do subsistema de transmissão e
requer apenas um canal de fluxo de dados.
Figura 1: Como ocorre uma comunicação utilizando o protocolo SMTP
Existem diversos tipos de Ataques ao Servidor/Cliente de Correio Eletrônico, por exemplo: ● Denial of Service (DoS) Attacks​
(Negação de Serviço → tornar o serviço indisponível) ● Mailbox stuffing or rejection overloads​
(Enchimento de caixa → envio de inúmeros emails) ● SMTP Auth Attacks ​
(​
usar um servidor de email qualquer para enviar mensagens) ● Mail Relay ● Open Mail Relay​
(​
MTAs disponíveis na rede para uso externo) ● Bounce Attack​
(​
quando alguém envia um spam de uma conta externa, usando um domínio existente, porem chegando como mensagens de notificação) ● Directory Harvest Attack​
(​
um spammer envia diversos testes para saber quais contas de email são existente e bombardear a conta existente de mensagens) ● Email Spoofing​
(​
um spammer envia diversos mensagens para contas aleatórias de um determinado domínio se passando por uma conta de email valida) ● Spam​
(publicidade em massa) ● Phishing​
(E­mail falso, solicitando que acesse algum site para alterar cadastro → coleta de dados) Recomendações de Segurança: Por padrão, o protocolo SMTP​
não é seguro, o que permite que um usuário envie mensagens,
​
fazendo-se passar por outro usuário, prática conhecida como "forjar os cabeçalhos das
mensagens". ​
Geralmente, quem utiliza­se dessa prática são usuários mal intencionados, os quais pretendem burlar sistemas de segurança para fazer com que suas mensagens cheguem ao seu destino como se fossem originadas em uma fonte confiável. Um exemplo de quem utiliza­se de tal recurso são os praticantes de SPAM (envio de mala direta comercial não solicitada através de correio eletrônico). ● Autenticação de acesso ao serviço SMTP Dessa forma ao conectar a um servidor SMTP para enviar mensagens, será preciso se identificar
fornecendo credenciais de acesso (login e senha), certificando-se que as mensagens encaminhas
pelos servidores tiveram origem em um cliente legítimo com registro de qual conta foi utilizada
para a autenticação em cada sessão de envio de mensagens.
● Utilizar o protocolo SSMTP SSMTP envia a mensagem de uma forma segura utilizando TLS (Transport Layer Security (São protocolos utilizados para verificar a segurança da Internet.) ● Medidas anti-spam (filtragem de mensagens não solicitadas)
Configurar os servidores de e-mail, mais exatamente, os agentes de transporte de e-mails
(MTA – Mail transporte agentes), para despachar somente mensagens oriundas de
máquinas pertencentes ao seu domínio.
● Análise de subject Para identificar com maior precisão mensagens Spam não basta analisar seus endereços,
mas também o seu subject (assunto) e o corpo. Por exemplo, se o subject se repetir em
muitas mensagens, é bastante provável que se trata de spam. Isso pode ser feito através
de programas denominados de ​
E-mail Proxies​
, que interceptam e analisam as mensagens.
Exemplo: spam assassin, maildrop, freewares e mailsweeper. ● Medidas técnicas de orientação a usuários quanto a utilização de e-mail.
Ignorar mensagens de spam, nunca se deve responde-las ou mesmo abri-las pois isso pode
confirmar a validade de seu e-mail. Não participar de listas abertas. Evitar divulgar o
endereço de e-mail em páginas públicas. Informar o e-mail como uma pequena imagem.
Criar e-mail auxiliar, para preencher cadastros temporários, se inscrever em listas e entrar
em discussões públicas, etc.
● Medidas anti-vírus
Fazer configurações adicionais ao MTA e interceptação por um E-mail Proxy. O MTA
executa um programa adicional para fazer a varredura da mensagem, o vírus scanner,
antes de processá-la.
● Proteção e segurança através de filtragem de mensagens
Definir em que horários as mensagens são despachadas de acordo com o seu tamanho.
Proibir anexos de alguns tipos de arquivos (.exe, .zip, .gif, etc) por serem normalmente
portadores de vírus.
Referências
SMTP Autenticado​
. Disponível em: <​
http://www.pss.com.br/smtp_autenticado.php​
>. Acesso em:
29/05/2015. SMTP.​
Disponível em: <​
http://www.webopedia.com/TERM/S/SMTP.html​
>. Acesso em:
29/05/2015. SMTP. ​
Disponível em: <​
http://searchexchange.techtarget.com/definition/SMTP​
>. Acesso em:
29/05/2015. POSTEL, Jonathan B. ​
Simple Mail Transfer Protocol.​
RFC 821. University Sciences Institute
California, 1982. TÓPICOS AVANÇADOS DE REDE. ​
Correio Eletrônico e suas Vulnerabilidades. ​
Disponível em:
http://topicosavancadosredes.blogspot.com.br/2012/03/correio-eletronico-e-suas.html​
. Acesso
em: 29/05/2015. DHCP (Dynamic Host Configuration Protocol) Descrição:
Conforme a Technet (site) trata­se de um protocolo cliente / servidor que fornece automaticamente um endereço IP a um host na rede e outras informações de configuração relacionadas, como a máscara de sub­rede e um gateway padrão. Em seguida, o DHCP libera e renova esses endereços conforme os dispositivos saem e voltam a aderir à rede. Ambientes DHCP requer um ​
servidor DHCP, ​
em ambientes domésticos provavelmente o roteador serve a esse propósito. O DHCP deve ser configurado com os parâmetros de configuração adequados para a rede dada. O banco de dados do servidor incluem o intervalo de DHCP ou "pool" de ​
endereços IP disponíveis​
, ​
máscaras de sub­rede corretas, além de ​
gateway de rede​
e endereços de servidor de nome. No Linux o serviço do Dhcpd (servidor dhcpd) implementa este protocolo. A possibilidade da aplicação dinâmica de endereços IP leva a vantagem de que as máquinas
podem ser movidas de uma rede DHCP para outra rede DHCP sem a necessidade de qualquer
configuração nos computadores movidos, bastando conectar o cabo de rede na máquina e liga-la
para tudo funcionar sem que o administrador de redes necessite reconfigurar cada máquina
movida.
Recomendações de Segurança:
Ataques DHCP consiste em enviar pedidos DHCP com um endereço MAC falso. Se forem enviados pedidos suficientes é possível levar à exaustão o espaço existente nos servidores DHCP por um certo período. Isto pode fazer com que o atacante possa criar o seu servidor DHCP e ter acesso ao tráfego da rede. ● Recomenda-se que os administradores mantenham seus sistemas e aplicativos sempre
atualizados, de acordo com as últimas versões e correções oferecidas pelos fabricantes.
● Verificar se o servidor DHCP não está presente na instalação padrão.
● Habilitar se o registro de logs do DHCP está ativo na instalação padrão.
● Bloquear portas 67/UDP e 68/UDP no firewall de borda de rede.
● Mover os serviços de DHCP para Windows 2000 Server ou versões mais novas.
● O serviço DHCP só deverá estar disponível para a rede interna. Por isso só deverá aceitar
ligações pela interface interna (eth0, neste caso), o que é definido no arquivo de
configuração /etc/default/isc-dhcp-server.
Referências
What is DHCP?​
Disponível em:
https://technet.microsoft.com/en-us/library/cc781008%28v=ws.10%29.aspx​
. Acesso em:
01/06/2015.
DHCP.​
Disponível em: ​
http://compnetworking.about.com/cs/protocolsdhcp/g/bldef_dhcp.htm​
.
Acesso em: 01/06/2015.
Ataques DHCP​
. Disponível em: ​
http://www.hacks.pt/ferramentas/redes/ataques-dhcp/​
. Acesso
em: 01/06/2015.
SMB (Server Message Block) Descrição:
Microsoft desenvolveu o seu primeiro protocolo de compartilhamento de arquivos, o Server
Message Block (SMB), para permitir que os serviços de arquivo e impressão de rede para todos os
sistemas operacionais da Microsoft. Este protocolo é por vezes referido como LanManager ou
NetBIOS​
. Depois de ser reformulado para que pudesse ser encapsulado no mais popular do TCP /
IP, foi rebatizado o Common Internet File System (CIFS). O ​
Samba​
é uma coleção de programas
que implementa SMB no Linux. Embora a suíte Samba consiste de vários programas, dois
componentes principais do Samba são smbd e nmbd.
SMBD é o Samba Server Message Block Daemon, que fornece todos os serviços de arquivos e
impressão de rede para sistemas operacionais Windows. O /etc/smb.conf arquivo descreve os
serviços smbd oferece, e ele deve ser configurado de forma adequada para a sua rede. Figura 1: representação da comunicação do protocolo SMB. Conforme Russo (2003), toda sua configuração se concentra em apenas um único arquivo
smb.conf, além de ser totalmente configurável e pode ser refeita remotamente.
Recomendações de Segurança: Todas as atuais versões do samba 4.x.x são vulneráveis a execução de código remoto no daemon
do serviço nmbd NetBios. Um usuário malicioso pode enviar pacotes que podem reescrever na
heap do daemon do serviço de nome nmbd NetBios. Com isso pode ser possível gerar uma
vulnerabilidade de execução remota de código como superusuário (Root). A maioria das recomendações de segurança para o Samba é manter a versão instalada sempre
atualizada.
Referências
SAMBA ​
SERVER. Disponível em:
<​
http://www.redhatlinuxsysadmin.com/redhat-linux-system-administration/module6/install-sam
ba-server.php​
>. Acesso em: 01/06/2015. RUSSO, Bruno T. ​
Configurando o Samba.​
Mackenzie, SP. 2003. 
Download

Serviços IP