Você está na página 1de 32

TPICO 102 UJ.

DO LINUX INSTALAO TPICODE 1 PACOTES ADMINISTRAO

FIREWALL

OBJETIVO: O ALUNO DEVER COMPREENDER: 1.1 Noes do three-way-handshake. 1.2 Instalao personalizada para firewall. 1.3 Segurana local. 1.4 Linguagem do Iptables. 1.5 Firewall como gateway. 1.6 Criando o rc.firewall. 1.7 Controle de fluxo.

TPICO 102 INSTALAO DO TPICO 1 LINUX ADMINISTRAO DE PACOTES

FIREWALL

.
1.

Three-Way Handshake

Host A Solicita sincronia enviando um pacote (SYN) ao Host B. 2. Host B Aloca recursoso para iniciar a conexo e envia ao Host A um pacote (SYN-ACK) contendo informaes sobre a conexo. 3. Host A envia um pacote ACK informando que recebeu as infor maes e que vai iniciar a conexo.

TPICO 102 INSTALAO DO TPICO 1 LINUX ADMINISTRAO DE PACOTES

FIREWALL

Tipos de firewall.

Statefull : Trata todo o cabealho do pacote, todas as partes do protocolo de transporte , aproveita infor maes do estado de conexo. (40 bytes).
End. Tcp/udp 20 bytes 20 bytes Dados 1460 bytes MTU - 1500

Packet Filter :Trata todo o cabealho do pacote, do protocolo de transporte trata apenas da parte de portas de origem e destino. (At 24 bytes).

TPICO 102 INSTALAO DO TPICO 1 LINUX ADMINISTRAO DE PACOTES

FIREWALL

O que proteger ?
A rede interna e seus ativos, assim como tambm controlar o fluxo de dados com destino aos servidores de produo e das maquinas da rede interna com destino a rede externa. Ref: ISO 27001 itens (8.5.1 Segregao da rede) (9.4.2 Sistema de filtros)
SEGURANA RISCO FLEXIBILIDADE

PortScan e ataques de negao de servio/DOS.


SynFlooding : Negao pela espera do ACK. Ataque direto a pilha TCP/IP. UdpFlooding: Explora a falta de controle de fluxo do UDP. O atacante envia vrios pacotes UDP e a maquina tenta determinar o servio, consumindo recursos e por fim travando a maquina.

TPICO 102 INSTALAO DO TPICO 1 LINUX ADMINISTRAO DE PACOTES

FIREWALL

Principais portas de servio.


Nmero mximo de portas: TCP 65.536 UDP 65.536 21 TCP: FTP 22 TCP: SSH 23 TCP: Telnet 25 TCP: SMTP 53 UDP: DNS 67 e 68 TCP: Bootps e Bootpc 69 UDP: TFTP 80 TCP: HTTP 110 TCP: POP3 137 UDP, 138 UDP e 139 TCP: NetBIOS Portas de servio 0 1023 "well known ports"

CENRIO 01 - FIREWALL COMO GATEWAY

10.0.0.X

10.0.0.1 Endereamento de rede e mscara. 10.0.X.1

10.0.X.11 10.0.X.254

TPICO 102 INSTALAO DO TPICO 1 LINUX ADMINISTRAO DE PACOTES

FIREWALL

Instalao do slack.
A instalao do firewall deve ser minimalista e respeitar o esquema de particionamento da tabela abaixo, este segue as boas prticas de segurana, garantindo um firewall mais seguro.

Ponto de montagem
/boot / /var /var/log /home

nosuid

noexec

noatime

x x x x x x x

TPICO 102 INSTALAO DO TPICO 1 LINUX ADMINISTRAO DE PACOTES

FIREWALL

Ps-instalao.
Viso geral do arquivo de interface de rede, status de memria e cpu. Criao de usurio comum. Configurao da rede. Definir os parmetros de montagem das parties e de uso do swap. Comandos teis: who, uptime, top, last, lastlog, history.

Segurana local.
Devemos seguir o check list abaixo para segurana do host local. - Desabilitar servios do inetd -Alterar a porta padro - Desabilitar os binrios do rc.d -Ativar banner de aviso - Remover os SuidBits -Banner /etc/issue.net - Restringir usurio do SSH.

TPICO 102 INSTALAO DO TPICO 1 LINUX ADMINISTRAO DE PACOTES

FIREWALL

Iptables.
Criado pela netfilter. Programa para controle de fluxo de dados (Ori. Des. Nat Snat DNat) Linguagem de programao prpria. O fluxo baseado em regras (pacote permitido ou proibido). Chains Locais de armazenamento de regras (2 tipos(nativos) (customizado) Tabelas Locais que armazenam os chains (filter, nat, mangle).

TPICO 102 INSTALAO DO TPICO 1 LINUX ADMINISTRAO DE PACOTES

FIREWALL

Iptables - chains.

INPU T FORWARD OUTPU T

TPICO 102 INSTALAO DO TPICO 1 LINUX ADMINISTRAO DE PACOTES

FIREWALL

Iptables - chains.
Mdulos /sbin/modprobe ip_tables /sbin/modprobe nf_conntrack_ipv4 /sbin/modprobe nf_conntrack /sbin/modprobe iptable_nat /sbin/modprobe xt_state /sbin/modprobe xt_tcpudp /sbin/modprobe iptable_filter /sbin/modprobe x_tables Mdulo principal Mdulo da tabela nat

TPICO 102 INSTALAO DO TPICO 1 LINUX ADMINISTRAO DE PACOTES

FIREWALL

Iptables - chains.
#iptables (tabela) (politica -A -P ) (chain) (protocolo) (interface) (origem) (destino) (ao) Tabela : -t (filter[padro], nat, mangle) Politica : adicionada (-A) padro (-P) Chain : INPUT OUTPUT Protocolo : tcp udp Interface : Entrada INPUT (-i) Sada OUTPUT (-o) Origem : -s (0.0.0.0/0.0.0.0) Destino : -d (0.0.0.0/0.0.0.0) Ao : (-j) ACCEPT REJECT DROP

TPICO 102 INSTALAO DO TPICO 1 LINUX ADMINISTRAO DE PACOTES

FIREWALL

Iptables - chains.
Protees a serem consideradas.
echo 1 > /proc/sys/net/ipv4/tcp_syncookies Proteo contra ataques SYN. echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses Desabilitar o log de respostas falsas para quadros transmitidos.

echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route Permite estabelecer o caminho que um pacote segue ate chegar a seu destino, e conseqentemente o caminho de volta desse pacote. echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects Decide se o kernel aceita redirecionar mensagens ICMP ou no.

TPICO 102 INSTALAO DO TPICO 1 LINUX ADMINISTRAO DE PACOTES

FIREWALL

Iptables - chains.
Definir variveis das interfaces e IP's # Interface externa EXTIF="eth0" # Interface interna INTIF="eth1" # Rede externa ?? REXT="0.0.0.0/0" # Rede interna RINT="10.0.1.0/24" # Meus Enderecos de Rede EXTIP="192.168.101.192" #DMZ=" ????? A DEFINIR" INTIP="10.0.1.1"

TPICO 102 INSTALAO DO TPICO 1 LINUX ADMINISTRAO DE PACOTES

FIREWALL

Iptables - chains.
Estabeler uma poltica padro para o localhost negar qualquer solicitao ao firewall. $IPT -P INPUT DROP $IPT -F INPUT $IPT -P OUTPUT DROP $IPT -F OUTPUT $IPT -P FORWARD DROP $IPT -F FORWARD $IPT -t nat -F Liberar o loopback iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT Ativar os Logs
$IPT -A INPUT -s 0/0 -j LOG --log-prefix "INPUT-IPT " $IPT -A OUTPUT -d 0/0 -j LOG --log-prefix "OUTPUT-IPT " $IPT -A FORWARD -s 0.0 -j LOG --log-prefix "FORWARD-IPT " iptables -A PREROUTING -t nat -j LOG --log-prefix "PREROUTING-IPT " iptables -A POSTROUTING -t nat -j LOG --log-prefix "POSTROUTING-IPT "

TPICO 102 INSTALAO DO TPICO 1 LINUX ADMINISTRAO DE PACOTES

FIREWALL

echo " FWD: Bloqueando ataques Spoofing for spoofing in /proc/sys/net/ipv4/conf/*/rp_filter; do echo "1" > $spoofing done echo " FWD: Bloqueando ataques de fragmentao de pacotes" iptables -A INPUT -m state --state INVALID -j DROP iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state INVALID -j DROP echo " FWD: Liberando retorno estabelecido e relacionado" $IPT -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT $IPT -A FORWARD -i $INTIF -o $EXTIF -m state --state ESTABLISHED,RELATED -j ACCEPT echo " FWD Ativando MASQUERADE na interface de saida" iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -o $EXTIF -j MASQUERADE

Iptables - chains.

TPICO 102 INSTALAO DO TPICO 1 LINUX ADMINISTRAO DE PACOTES

FIREWALL

Iptables - chains.
#Ativo ICMP echo request partindo do firewall iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT #Ativo roteamento de pacotes pelas interfaces echo 1 > /proc/sys/net/ipv4/ip_forward Definir a mquina da DMZ que ter acesso ao terminal Diga no a tiro no P!! DMZ="10.0.1.192" iptables -A INPUT -i eth1 -s $DMZ -j ACCEPT iptables -A OUTPUT -o eth1 -d $DMZ -j ACCEPT

TPICO 102 INSTALAO DO TPICO 1 LINUX ADMINISTRAO DE PACOTES

FIREWALL

Iptables - chains.
#Ativa a consulta de DNS a servidores externos REXT="0.0.0.0/0.0.0.0" HOST="192.168.101.149" PA="1024:65535" IPT=`which iptables` $IPT -A INPUT -p 17 -s $REXT --sport 53 -d $HOST --dport $PA -j ACCEPT $IPT -A INPUT -p 1 --icmp-type 3 -s $REXT -d $HOST -j ACCEPT *** Nota: icmp tipo 3 no total pertence a categoria de avisos de erro (unreachable). $IPT -A OUTPUT -p 17 -s $HOST --sport $PA -d $REXT --dport 53 -j ACCEPT # - Permite que o DNS interno seja consultado $IPT -A INPUT -p 17 -s $REXT --dport 53 -j ACCEPT $IPT -A OUTPUT -p 17 -s $HOST --sport 53 -d $REXT --dport $PA -j ACCEPT $IPT -A OUTPUT -p 17 -s $INTIP --sport 53 -d $RINT --dport $PA -j ACCEPT #

TPICO 102 INSTALAO DO TPICO 1 LINUX ADMINISTRAO DE PACOTES

FIREWALL

Iptables - chains.
Regras diversas.
Redirecionamento para servidores internos. Iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 80 -j DNAT --to 10.0.1.12:80 Iptables -A FORWARD -p tcp -i eth0 -o eth1 -d 10.0.1.12 --dport 80 -j ACCEPT

Libera o trfego de sada completo vindo do host definido. DMZ="10.0.1.12" $IPT -A FORWARD -i $INTIF -o $EXTIF -s $DMZ -j ACCEPT Libera o trfego sob demanda. $IPT -A FORWARD -p tcp -i $INTIF -o $EXTIF -d 200.0.0.1 --dport 80 -j ACCEPT Libera o trfego de sada completo vindo do host definido para destino definido. DMZ="10.0.1.12" $IPT -A FORWARD -p tcp -i $INTIF -o $EXTIF -s $DMZ -d 200.0.0.2 -j ACCEPT

TPICO 102 INSTALAO DO TPICO 1 LINUX ADMINISTRAO DE PACOTES

FIREWALL

Momento tira dvidas Fim da Aula.

TPICO 102 INSTALAO DO TPICO 2 LINUX ADMINISTRAO DE PACOTES

IDS

OBJETIVO: O ALUNO DEVER COMPREENDER:


2.1 Instalao do sensor de alerta snort. 2.2 Configurao bsica. 2.3 Leitura do arquivo de alerta. 2.4 Criao de regras personalizadas.

TPICO 102 INSTALAO DO TPICO 2 LINUX ADMINISTRAO DE PACOTES

IDS

Instalando o IDS.
Binrio do Snort.

TPICO 102 INSTALAO DO TPICO 2 LINUX ADMINISTRAO DE PACOTES

IDS

Instalando o IDS.
Binrio do Snort.

http://www.snort.org/downloads/369 Pacote Daq. (Biblioteca de Aquisio de Dados). wget -c http://www.snort.org/downloads/363 Regras do Snort. necessrio cadastrar-se no site. http://www.snort.org/downloads/441 Libpcap e Libdnet (Biblioteca de captura de pacotes). http://www.tcpdump.org/release/libpcap-1.1.1.tar.gz
http://downloads.sourceforge.net/project/libdnet/libdnet/libdnet-1.11/libdnet-1.11.tar.gz

TPICO 102 INSTALAO DO TPICO 2 LINUX ADMINISTRAO DE PACOTES

IDS

Descomprimindo e compilando os pacotes.


Libpcap.

#tar zxvf libpcap-1.1.1.tar.gz #cd libpcap-1.1.1 #./configure #make #make install Daq. #tar zxvf daq-0.3.tar.gz #cd daq-0.3 #./configure with-libpcap-libraries=/usr/local/lib/ #make #make install

TPICO 102 INSTALAO DO TPICO 2 LINUX ADMINISTRAO DE PACOTES

IDS

Descomprimindo e compilando os pacotes. Libdnet. #tar zxvf libdnet-1.11.tar.gz #cd libdnet-1.11 #./configure #make #make install #ln -s /usr/local/lib/libdnet.1 /usr/lib/libdnet.1
Snort.

#tar zxvf snort.tar.gz #cd snort #./configure --enable-zlib #make #make install

TPICO 102 INSTALAO DO TPICO 2 LINUX ADMINISTRAO DE PACOTES

IDS

Instalando o arquivo de regras.


Crie uma pasta no etc com o nome snort.

#mkdir /etc/snort Copie o contedo da pasta etc da instalao do snort para ela. #cp snort-2.9.0.1/etc/* /etc/snort/ Crie um diretrio srules e descomparte as regras nele. #mkdir srules && tar zxvf snortrules.tar.gz -C srules/ Copie as pastas como indicado abaixo para /etc/snort #cp -r rules preproc_rules so_rules /etc/snort/ Abra o arquivo de configuao /etc/snort/snort.conf e altere: var RULE_PATH /etc/snort/rules var SO_RULE_PATH /etc/snort/so_rules var PREPROC_RULE_PATH /etc/snort/preproc_rules

TPICO 102 INSTALAO DO TPICO 2 LINUX ADMINISTRAO DE PACOTES

IDS

Rodando o Snort.
Crie a pasta de log do snort:

#mkdir /var/log/snort Ative o snort. #snort -i eth0 -D -l /var/log/snort/ -c /etc/snort/snort.conf -i Interface de escuta -D Iniciar como Daemon -l Direttio dos logs -c Arquivo de configurao

TPICO 102 INSTALAO DO TPICO 2 LINUX ADMINISTRAO DE PACOTES

IDS

Personalizando regras. Crie o arquivo /etc/snort/rules/personalizadas com o contedo; **Ateno! No existe quebra de linha. A linha inicia em alert. alert tcp any any -> any any (msg:SITE ADULTO EM ACESSO; content:www.sexomais.com.br; sid:3000005; rev:1; ) alert tcp any 55555 -> any any (msg:"Virus CODE-RED"; sid:3000006; rev:1; ) Modo de alerta.
#snort -i eth0 -l /var/log/snort/ -c /etc/snort/snort.conf -A console

TPICO 102 INSTALAO DO TPICO 2 LINUX ADMINISTRAO DE PACOTES

IDS

FIM.

TPICO 102 INSTALAO DO TPICO 3 LINUX ADMINISTRAO DE PACOTES

PSAD

Instalao e configurao do PSAD. Baixe o arquivo de instalao do psad em: #wget -c http://cipherdyne.org/psad/download/psad-2.1.7.tar.gz Descompacte o arquivo. #tar zxvf psad-2.1.7.tar.gz Instale o sistema. #cd psad-2.1.7 #perl install.pl

TPICO 102 INSTALAO DO TPICO 3 LINUX ADMINISTRAO DE PACOTES

PSAD

Instalao e configurao do PSAD. Edite o arquivo /etc/psad/psad.conf Ajuste o caminho dos binrios no fim do arquivo como segue: iptablesCmd /usr/sbin/iptables;

shCmd /bin/sh; wgetCmd /usr/bin/wget; gzipCmd /usr/bin/gzip; mknodCmd /usr/bin/mknod; psCmd /usr/bin/ps; mailCmd /usr/bin/mail; sendmailCmd /usr/bin/sendmail; ifconfigCmd /sbin/ifconfig;

TPICO 102 INSTALAO DO TPICO 3 LINUX ADMINISTRAO DE PACOTES

PSAD

Instalao e configurao do PSAD. Edite o arquivo /etc/psad/psad.conf Ajuste o caminho dos binrios no fim do arquivo como segue:
ipCmd /usr/sbin/ip;

killallCmd

/bin/killall;

netstatCmd /bin/netstat; unameCmd /usr/bin/uname; whoisCmd /usr/bin/whois_psad; dfCmd /usr/bin/df; fwcheck_psadCmd /usr/sbin/fwcheck_psad; psadwatchdCmd /usr/sbin/psadwatchd; kmsgsdCmd /usr/sbin/kmsgsd; psadCmd /usr/sbin/psad;