Upload
guilherme-borba-neumann
View
929
Download
4
Embed Size (px)
DESCRIPTION
Citation preview
MINICURSO DE REDES
Servidores, vulnerabilidades e segurança
Instrutores : Angela Lemos
Gabriele Vieira
Guilherme Neumann
Mariane Batista
- Introdução
Servidores:
- Apache;
- FTP;
- SSH;
- SFTP;
- DNS;
- Introdução
Vulnerabilidades:
- Wireshark;
- Nmap;
- Introdução
Segurança:
Firewall
- Servidores
0
- Apache
O apache é um servidor web. Nele que estão presentes as páginas em html dos sites.
Talvez você nunca tenha parado para pensar, mas toda vez que você acessa uma página na internet, você está acessando um servidor web.
- Apache
Instalando:
Para começar você tem que estar como sudo ou como root
Para instalar ou remover um servidor você sempre utilizará o comando apt-get, nesse caso: sudo apt-get install apache2 sudo apt-get install apache2
- Apache
Para verificar se tudo ocorreu corretamente abra uma guia no navegador com o IP da sua máquina.
Se na sua tela aparecer: significa que está tudo pronto!
- Apache
Caso você queira colocar mais páginas html disponíveis em sua rede, estas serão armazenadas no diretório /var/www./var/www.
Para visualizar suas novas páginas é necessário colocar a estrutura: http://ipdo servidor/nomedanovapágina.html
- Apache
Criando uma página
No terminal estando como sudo sudo digite gedit. gedit.
Salve a pasta em /var/www/var/www
Depois digite no navegador o ip do ip do servidor/onomedapáginaservidor/onomedapágina
- Wireshark
É um programa que analisa o tráfego da rede, organizando-o através de protocolos
Tempo de transmissão
Espionagem
- Wireshark
Arquivos seguros e não-seguro
Filtrar ips específicos
ICMP
- Wireshark
- Apache
Configuração
Para configurar seu servidor digite no seu terminal:
sudo gedit /etc/apache2/apache2.confsudo gedit /etc/apache2/apache2.conf
- Apache
Para mudar o número de conexões que seu servidor terá altere as linhas :
Timeout 1Timeout 1
KeepAlive OnKeepAlive On
MaxKeepAliveRequests 3MaxKeepAliveRequests 3
KeepAliveTimeout 1000KeepAliveTimeout 1000
- Apache
<IfModule mpm_prefork_module><IfModule mpm_prefork_module>
StartServers 1StartServers 1
MinSpareServers 1MinSpareServers 1
MaxSpareServers 1MaxSpareServers 1
MaxClients 1MaxClients 1
MaxRequestsPerChild 0MaxRequestsPerChild 0
</IfModule></IfModule>
- Apache
<IfModule mpm_worker_module><IfModule mpm_worker_module>
StartServers 1 StartServers 1
MinSpareThreads 1MinSpareThreads 1
MaxSpareThreads 1 MaxSpareThreads 1
ThreadLimit 64ThreadLimit 64
ThreadsPerChild 1ThreadsPerChild 1
MaxClients 1MaxClients 1
MaxRequestsPerChild 0MaxRequestsPerChild 0
</IfModule></IfModule>
- Apache
<IfModule mpm_event_module><IfModule mpm_event_module>
StartServers 1StartServers 1
MaxClients 1MaxClients 1
MinSpareThreads 25MinSpareThreads 25
MaxSpareThreads 75 MaxSpareThreads 75
ThreadLimit 64ThreadLimit 64
ThreadsPerChild 25ThreadsPerChild 25
MaxRequestsPerChild 0MaxRequestsPerChild 0
</IfModule></IfModule>
- Apache
Prática
- configurar
- restart no Apache
- limpar cache dos navegadores
- abrir wireshark e filtrar pelo ip do servidor
- colocar no navegador o ip/nome do servidor
- DNS
O DNS (Domain Name Server) surgiu da necessidade de traduzir nomes mais fáceis de serem lembrados para seus respectivos endereços na rede, algo bem mais difícil de lembrar.
Ex: 200.35.88.14 ou minicurso.com
- DNS
Bind 9:
- É o servidor para o protocolo DNS mais utilizado na Internet, especialmente em sistemas do tipo UNIX
- DNS
Instalação:
- iniciamos com a instalação do bind pelo prompt : apt-get install bind9apt-get install bind9
- DNS
Adicionando uma zona:
- Definição: é o espaço que você utiliza para fazer as conversões de nome para ip.
- As seguintes zonas já devem aparecer como padrão, então iremos adicionar a zona ”minicurso” para nosso teste.
gedit /etc/bind/named.conf.default-zonesgedit /etc/bind/named.conf.default-zones
-DNS
As primeiras 5 zonas são padrão, a partir daí você pode criar suas zonas.
No nosso caso criamos a zona minicurso.
-DNS
Criando uma zona...
- é necessário que você abra o gedit pelo prompt e crie o arquivo.dns, onde estarão os ips e respectivos nomes.
-DNS
PING
- Quando vocês pingarem "minicurso" serão redirecionados para o IP 192.168.58.133
Utilizando o comando /etc/init.d/bind9/etc/init.d/bind9 reloadreload você estará pronto para usufruir de seu servidor
Entretanto, você precisará configurar as máquinas da rede, para que elas reconheçam o seu DNS como servidor padrão.
-DNS
Configurando as máquinas
-DNS
Toda máquina que a partir de agora pingar outra máquina ,entrar na internet ou acessar uma página que está no servidor apache, estará passando pelo DNS.
-DNS
Comando: NSLOOKUP
É um comando para consulta dos nomes de domínios de uma rede;
MINICURSO DE REDES
Servidores, vulnerabilidades e segurança
Segundo dia
Instrutores : Angela Lemos
Gabriele Vieira
Guilherme Neumann
Mariane Batista
- Vulnerabilidades
- FTP
O FTP (File Transfer Protocol), é um protocolo para transferência de arquivos.
- FTP
Fácil
Rápido
Vulnerável
- FTP
Instalação em diferentes distribuições:
- Debian, Ubuntu : Através do comando no prompt : apt-get install proftpd apt-get install proftpd
- Fedora, Red Hat : Através do comando no prompt : yum install proftpd yum install proftpd ou yum search yum search proftpd proftpd
- FTP
Configurando o proftpd
Digite o comando gedit /etc/proftpd.confgedit /etc/proftpd.conf
Então aparecerá
- FTP
Neste arquivo de configuração você poderá realizar algumas configurações como:
#Nome do Servidor
ServerName ''Nome do seu servidor''
#Modo no qual rodará (standalone ou inetd)
ServerType standalone
#Define o login anônimo como sinônimo do login ftp
UserAlias anonymous ftp
- FTP
Login anônimo:
Clientes que não possuem login no ftp
Só podem ver arquivos , mas não podem fazer download dos mesmos
- FTP
#Porta para socket de controle
Port 21
#Máximo de usuários autenticados
MaxClientesPerHost 4 ''Mensagem de erro para usuário''
- FTP
#Tempo Máximo sem transferência de dados
TimeoutNoTransfer 600s
#Tempo Máximo com transferência parada(travada)
TimeoutStalled 600s
#Tempo Máximo conectado mas sem troca de dados
TimeoutIdle 1200s
- FTP
Depois de instalado, reinicie-o através do comando /etc/init.d/proftpd restart /etc/init.d/proftpd restart
Agora crie usuários linux através do comando adduser abelardo adduser abelardo
Terminado, abra qualquer browser e digite
ftp://ipdoservidorftp://ipdoservidor
Ele irá pedir um usuário e senha, agora você entra com "abelardo" e sua senha.
- FTP
- FTP
- FTP
- FTP
- FTP
Para pegar um arquivo no servidor
get nomedoarquivoget nomedoarquivo
Para enviar um arquivo para o servidor
put/send nomedoarquivoput/send nomedoarquivo
- SSH
O SSH (Secure Shell), desenvolvido em 1995 por Tatu Ylonen, permite administrar máquinas remotamente. Permite transferir arquivos e também encapsular outros protocolos.
- ênfase na segurança
- utiliza a porta 22 mas pode ser modificada
- SSH
O SSH é dividido em dois módulos:
- SSHD: módulo do servidor
- SSH: módulo do cliente
- SSH
Para instalar o SSH no servidor, iremos utilizar o comando : apt-get install apt-get install openssh-server openssh-server
Para ativar (ubuntu): /etc/init.d/ssh start /etc/init.d/ssh start ou
service sshd startservice sshd start
- SSH
A configuração do servidor SSH é feita no arquivo : /etc/ssh/sshd_config /etc/ssh/sshd_config e a do cliente : /etc/ssh/ssh_config/etc/ssh/ssh_config
- SSH
Configurando o cliente :
- para que o SSH permita rodar aplicativos gráficos basta modificar a linha: ForwardX11 ForwardX11 no no ,trocando o no para yes ;
- para,no uso de um servidor acessível à internet, redução do consumo de banda (compressão dos dados via gzip) adiciona-se a linha: Compression = yesCompression = yes
- SSH
- para que o cliente envie pacotes periodicamente para o servidor, adiciona-se a linha: ServerAliveInterval 120ServerAliveInterval 120 ( no caso a cada 120 segundos)
- SSH
Configuração do servidor :
- controle de acesso : no caso de um servidor em uma máquina com duas ou mais placas de rede (roteador) onde se é desejável limitar o acesso ao servidor a apenas uma interface, para isso adicona-se a linha : ListenAddress ListenAddress ipdaredeipdarede
- para restringir o acesso ao servidor, criando uma lista de quem pode acessá-lo, adiciona-se a linha : AllowUsers fulano1 fulano 2AllowUsers fulano1 fulano 2
- SSH
- invertendo a lógica, é possível também criar uma lista de quem não pode acessar o servidor, adicionando a linha: DenyUsers DenyUsers fulano3 fulano4fulano3 fulano4
- para restringir o acesso de usuários sem senha : PermitEmptyPasswords noPermitEmptyPasswords no
- antes do cliente, é possível também determinar se o servidor permitirá que os clientes executem aplicativos gráficos, na linha : X11Forwarding yesX11Forwarding yes
- SSH
Utilizando o SSH : ao ser ativado, o SSH, por padrão, permite acesso de qualquer conta de usuário cadastrado no sistema ( a não ser que se tenha restringido o acesso ).
- SSH
logando no servidor : ssh usuário@ip do ssh usuário@ip do servidor. servidor. Logo após o servidor pedirá a senha do usuário
- SSH
Utilizando o comando help help dentro do ssh, ele nos lista vários comandos possíveis nele.
- SSH (SFTP)
O SFTP, assim como o FTP, é um protocolo para transferência de arquivos, mas dentro do SSH e utilizando a segurança oferecida por ele.
- ele é ativado através da linha : Subsystem sftp Subsystem sftp /usr/lib/sftp-server /usr/lib/sftp-server (no arquivo de configuração do servidor SSH)
- SSH (SFTP)
Utilizando o SFTP: muito parecido com o modo se logar no SSH : sftp usuário@ip do servidorsftp usuário@ip do servidor , e logo depois a senha.
- o comando help help também é utilizado no SFTP.
Enviando e baixando arquivos do servidor:
- enviando : put nomedoarquivoput nomedoarquivo
- baixando : get nomedoarquivo get nomedoarquivo
- Nmap
PortScan (escaneador de portas)
Possui diferentes funções entre elas :
verificação de topologias
fazer mapeamento da rede
verificação de sistema operacional
verificação de serviços
- Nmap
A saída do Nmap é uma lista de alvos escaneados.
Uma informação chave é a tabela de portas:
- Essa tabela lista o número da porta e o protocolo, o nome do serviço e o estado.
- Nmap
O estado pode ser:
- Aberto (open)
- Filtrado (filtered)
- Fechado (closed)
- Não-filtrado (unfiltered)
O Nmap também reporta combinações como: Aberta|filtrada e fechada|filtrada.
- Nmap
- Nmap: Comandos
Descoberta de Hosts:
-sL (Scan Listagem)
-sP (Scan usando ping)
-P0 (Sem ping)
-PS (Ping usando TCP SYN)
-PA (Ping usando TCP ACK)
-PU (Ping usando UDP)
-PE; PP; PM (Tipos de ping do ICMP)
- Nmap: Comandos
Descoberta de Hosts:
-PR (Ping usando ARP)
- Nmap: Comandos
Técnicas de escaneamento de portas:
-sS: scan TCP SYN
-sT: scan TCP connect
-sU: scans UDP
-sA: scan TCP ACK
-s0: Scans do protocolo IP
- Nmap: Comandos
-T: Estabelece um padrão de temporização
Ex: -T4 proibe que o atraso dinâmico de escaneamento exceda 10ms para portas TCP;
- Nmap: Comandos
Outros comandos:
-p (Escaneia apenas as portas especificadas
-F (Scan Rápido – portas limitadas)
-r (Não usa portas de forma aleatória)
-A (Detecção tanto de SO como de versão)
-O (Detecção de SO)
-v (Aumenta o nível de verbosidade)
- Nmap
IMPORTANTE : não utilizar o portscan para serviços na internet, pois pode ser considerado ataque de hacker.
- Firewall
É uma ferramenta utilizada para o controle da sua máquina pessoal ou da rede.
Com ela você pode permitir e bloquear diversas ações da sua máquina com o mundo externo(rede).
Pode trabalhar em conjunto com o anti-vírus
- Firewall : COMODO
Interface mais intuitiva (amigável)
Além de firewall ele é um IPS(sistema de proteção contra intrusos) que faz com que processos que acessem a internet sejam identificados.
- Firewall : COMODO
Garante o controle completo dos programas que permitem acesso a internet
Fique protegido contra novas ameaças via atualizações online automáticas
O monitoramento do tráfego em tempo real possibilita sua reação instantânea as ameaças
Gratuito - proteção completa para redes ou usuários domésticos, sem nenhum custo