quarta-feira, 1 de junho de 2011

IPTABLES / FIREWALL
















  • OBS: O IPTABLES ja vem intalado 
Insira um política do iptables: 
  • política ACCEPT (libera tudo e proibe algo) 
iptables -P INPUT ACCEPT
  • política DROP (Proibe tudo e libera algo)
iptables -P INPUT DROP
Insira regras no iptables:
  • Bloqueando acesso a um site:
iptables -A INPUT -s www.chat.com.br -j DROP
  • Liberando acesso ao DNS SERVER: 
iptables -A OUTPUT -d 200.135.37.65 -j ACCEPT  
iptables -A INPUT -s 200.135.37.65 -j ACCEPT
  • Liberando acesso ao site: 
iptables -A OUTPUT -d www.google.com -j ACCEPT  
iptables -A INPUT -s www.google.com -j ACCEPT
  •  Proibir ping para localhost
iptables -A INPUT -d localhost -p icmp -j DROP
  • Proibir acesso a porta 22 (ssh):
iptables -A OUTPUT -d tele.sj.edu.br -p tcp --dport 22 -j DROP
Chains:
  • INPUT: utilizada quando o destino final é a própria máquina firewall;
  • OUTPUT: qualquer pacote gerado na máquina firewall e sai para a rede
  • FORWARD: qualquer pacote que atravessa o firewall 
Opções:
  • -P - Policy (política): ACCEPT ou DROP
  • -A - Append (anexar): Adicionar uma regra
  • -D - Delete (apagar): Deletar uma regra
  • -L - List (listar): Listas as regras
  • -F - Flush (esvaziar): Deleta todas as regras existentes
Dados:
  • -s - Source (origem)                                     ex: -s 172.20.5.10
  • -d - Destination (destino)                              ex: -d 172.20.5.10
  • -p - Protocol (protocolo)                               ex: -p icmp
  • -i - In-Interface (interface de entrada)            ex: -i ppp0
  • -o - Out-Interface (interface de saída)            ex: -o eth1
  • --sport - Source Port (porta de origem)          ex: -p tcp --sport 80
  • --dport - Destination Port (porta de destino)   ex: -p tcp --dport 80
Salvando regras:
  • Salvando regra:
iptables-save > /etc/firewall
  • Recuperando regra:
iptables-restore < /etc/firewall
 IPTABLES no boot:
  • Pelo arquivo "vi /etc/rc.local" adicionar na ultima linha:
iptables-restore < /etc/firewall
  • Pelo crontab: 
crontab -r
crontab -e
@reboot iptables-restore < /etc/firewall

Squid





















Instalar e serviço Squid:
apt-get install squid
Iniciar serviço Squid:
service squid start
Desbloquear rede local: 
  • Por padrão a rede local é bloqueada,desbloqueamos descomentando uma linha do arquivo "vi /etc/squid/squid.conf":
#http_access allow localnet                          (descomentar esta linha)
  • Após editar este aquivo o squid ja tem a função de CACHE
Filtrando sites com squid:
  • Para configurar filtros editamos "vi /etc/squid/squid.conf":
  • Exemplos:
                                                                 

Liberando o acesso à internet a um único computador ou à uma rede:
acl permitir_computadores src 192.168.2.5/255.255.255.0
192.168.2.14/255.255.255.0 192.168.5.0/255.255.255.0
http_access allow permitir_computadores

Bloqueando o acesso à internet a um único computador ou à uma rede:
acl proibir_computadores src 192.168.2.7/255.255.255.0
192.168.9.0/255.255.255.0
http_access deny proibir_computadores

Bloqueando acesso à sites indesejados:
acl proibir_sites dstdomain “/etc/squid/listas/proibidos”
http_access deny proibir_sites
OBS: Aqui devemos criar o arquivo /etc/squid/listas/proibidos e inserir os sites
indesejados, um por linha.


Bloqueando ou liberando o acesso a sites com palavras chaves:
acl proibir_palavras url_regex -i “/etc/squid/listas/palavras”
http_access deny proibir_palavras
OBS:Aqui devemos criar o arquivo /etc/squid/listas/palavras e inserir as palavras
indesejadas, uma por linha.


Restringindo o horário de acesso:
acl horario time MTWHF 08:00-18:00
http_access allow permitir_computadores horario
http_access deny permitir_computadores
OBS: S=domingo, M=segunda, T=terça, W=quarta, H=quinta, F=sexta e
A=sábado

                                                                     
  
Testes na maquina real:
  • Abrir o navegador e configurar proxy:
















  • Teste entrando em sites bloqueados pelo filtro.
  • Arquivo de log "tail /var/log/squid"

terça-feira, 31 de maio de 2011

DenyHosts



  Instalar e configurar o DenyHosts:

  • Fazer o download do DenyHosts:
wget http://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz/download
  • Desempacote o DenyHosts com o comando: 
tar -zxvf DenyHosts-2.6.tar.gz
  • Mover o DenyHosts para dentro do /sbin:
mv DenyHosts-2.6 /sbin/DenyHosts
  • Criar o arquivo de config baseado no config original:
cd /sbin/DenyHosts
cp denyhosts.cfg-dist denyhosts.cfg
  • Editar o arquivo de configuração "vi denyhosts.cfg":
 OBS: Apostila Página 189
  Rodar o programa DenyHosts:
  • Rodar utilizando deamon:
/sbin/DenyHosts/denyhosts.py --config=/sbin/DenyHosts/denyhosts.cfg --daemon
  • Caso ocorra erro, criar o arquivo "touch /var/log/secure"
  • Para iniciar no boot, adicionar este comando ao final do arquivo "/etc/rc.local"
SSH



  Instalar o servidor SSH:
apt-get install openssh-server
  Configurar o servidor SSH: 
  • Editar "/etc/ssh/sshd_config":
                                                                                         
PermitRootLogin no                         # (yes/no) Logar diretamente como root
X11Forwarding yes                          # (yes/no) Programa em modo gráfico
AllowUsers root user1 user2           # Somente estes usuários poderão conectar
DenyUsers root user1 user2            # Usuarios listados não poderão conectar
AllowGroups grupo                         # Idem AllowUsers para grupo
DenyGroups grupo                          # Idem DenyUsers para grupo
UsePAM yes                                     # Login utilizando contas de máquina
                                                                                          

  Reiniciar o servidor SSH:
service openssh-server restart
   Testes:
  • Acessar servidor vi SSH:
ssh usuario@192.168.1.X
  • Acessar servidor vi SSH:
scp -r usuario@192.168.1.X:diretorio ./
  •  Sair da conexão SSH:
 exit
FTP





  Instalar o servidor FTP:
apt-get install proftpd
   (Re) Iniciar o serviço FTP:
 service proftpd restart
 Testes:
  •  Acessar maquina cliente:
ftp 192.168.1.1
  •  Informar o usuário e a senha:
Name (192.168.2.1:odilson): odilsonPassword: *****

  •  Comandos:
Comandos no servidor: "comando"
Comandos na maquina local: "!comando"
put “arquivo”  (envia arquivo da maquina local para o servidor)
get “arquivo”  (envia arquivo da servidor para o maquina local)
bye (sair do ftp)
 Enjaular o usuário FTP:
  •  Editar "vi /etc/proftpd/proftpd.conf"
Descomentar a linha "#DefaultRoot ~"
  •  Reiniciar o servidor FTP:
 service proftpd restart
DHCP


 
Configurar a interface de rede
    • Editar "vi /etc/network/interfaces":
    iface eth0 inet static
            address 192.168.1.108
           netmask 255.255.255.0
           gateway 192.168.1.1
    • Reboot na maquina ou reboot na interface.
    • Editar "vi /etc/resolv.conf" (serverDNS):
    nameserver 200.65.37.2
    • Teste com um ping para fora da rede:
    ping www.google.com.br
      Instalar o servidor DHCP:
    apt-get install dhcp3-server
     Editar "vi /etc/dhcp3/dhcpd.conf":
                                                                                                                         
    subnet 192.168.x.0 netmask 255.255.255.0 {
    option domain-name-servers 200.135.37.65;               # Servidor DNS
    option domain-name "redesX.edu.br"                           # Nome do domínio
    option routers 192.168.1.1;                                            # Roteador padrão
    option subnet-mask 255.255.255.0;                                # Máscar de rede
    range dynamic-bootp 192.168.8.20 192.168.8.40;       # A faixa de endereços default-lease-time 21600                                               # Tempo de aluguel
    max-lease-time 43200;                                                    # Tempo máximo/aluguel
    }
                                                                                                                          

       Reiniciar o servidor DHCP:
     service dhcp3-server restart
     OBS: Erros no arquivo de log "tail /var/log/syslog"

     Testes na maquina cliente:
    •  Na maquina cliente, instalar cliente dhcp3
    apt-get install dhcp3-cliente
    •  Buscar novo ip: "dhclient eth0"
    •  Largar novo ip: "dhclient -r eth0"