Está en la página 1de 67

Curso 452

Linux Security
Servers in Cloud
Firewall Linux e Servidor DHCP

Cenrio

A fim de que ningum acesse dados indevidos da empresa ou mesmo de


seus clientes, a empresa DEXTER COURIER deve contar com um
excelente Firewall para bloquear tentativas de invaso e liberar apenas o
trfego necessrio aos servios que ficam na mquina DMZ.

Proposta de soluo

Faremos a implementao do Firewall baseado no Iptables, gerenciando


as polticas de entrada de pacotes na empresa Dexter, bem como a
liberao de acesso externo ao servidor da DMZ.

2
Firewall Linux

Cenrio

A fim de que ningum acesse dados indevidos da empresa ou mesmo de


seus clientes, a empresa DEXTER COURIER deve contar com um
excelente Firewall para bloquear tentativas de invaso e liberar apenas o
trfego necessrio aos servios que ficam na mquina DMZ.

Proposta de soluo

Faremos a implementao do Firewall baseado no Iptables, gerenciando


as polticas de entrada de pacotes na empresa Dexter, bem como a
liberao de acesso externo ao servidor da DMZ.

3
IT Experience

4
Objetivos da Aula

Aula 02 Servidor Firewall (parte 1/2)

Introduo Terica;

Conhecer a infraestrutura da empresa;

Conhecer os tipos de tabelas do Iptables;

Compreendendo as polticas e as excees;

Implementao prtica com Script de Firewall.

5
Objetivos da Aula

Aula 02 Servidor DHCP (parte 2/2)

Introduo Terica;

Entender o funcionamento do servio;

Implementar na prtica o Servidor DHCP;

Configurar Servidor DHCP;

Configurar clientes DHCP;

Fixar IP via DHCP.

6
Firewall Linux
Servidor: Security

Existem, basicamente, dois tipos de Firewall:

Firewall de Rede Conhecido como Firewall de Borda,


tem a funo de Gerenciar todos os pacotes que entram e
saem da rede; (INPUT / OUTPUT / NAT)

Firewall
(iptables)

Firewall de Host Configurado localmente em cada


servidor, sua principal funo gerenciar a troca de pacotes
do host com a rede interna ou externa. (INPUT / OUTPUT)

O que um Firewall?

Um firewall faz o filtro de pacotes que passam na rede. Para configurar


um firewall necessrio o conhecimento sobre a estrutura da rede em
questo e dos diferentes protocolos envolvidos na comunicao, isto ,
dos servios que a rede usa para que eles no percam a comunicao.

O objetivo em ter uma mquina fazendo o papel de Firewall Gateway em


nossa rede minimizar as tentativas de ataques que elas recebem,
tentando impedir possveis invases e levantamento de informaes.

7
Firewall Linux

Iptables:
O iptables um firewall em nvel de pacotes e funciona baseado no
endereo/porta de origem/destino do pacote, prioridade;
Ele funciona atravs da comparao de regras para saber se um
pacote tem ou no permisso para passar;
Possui 2 polticas: ACCEPT ou DROP;
Possui 5 tabelas: Filter , Nat, Mangle, Raw e Security;
Possui 5 Chains: INPUT, OUTPUT, FORWARD, PREROUTING,
POSTROUTING.

Iptables

Os sistema GNU/Linux com Kernel 2.6 trabalham com o "Iptables" para


fazer o gerenciamento de regras de Firewall. Lembrando que o "Iptables"
apenas um "frontend" que gerencia o suporte "Netfilter" no "Kernel".

O que so as CHAINS?

Basicamente no iptables as regras so organizadas em tabelas, essas


tabelas possuem o que chamamos de CHAINS. nas CHAINS que so
definidas as regras para o nosso "firewall" sendo que uma CHAIN dever
possuir tambm uma poltica padro (drop ou accept).

A traduo literal para CHAIN seria "correntes", assim cada tabela teria
uma corrente, onde cada elo corresponderia a uma regra.

8
Firewall Linux
Servidor: Security

Explorando o Iptables:

1#iptablesL(PadroTabela:Filter)

2#iptablesLtfilter O comando iptables tem a funo

3#iptablesLtnat gerenciar um firewall no Linux.

4#iptablesLtmangle
Com ele criamos regras,
visualizamos regras, deletamos
5#iptablesLtraw
regras, definimos polticas.
6#iptablesLtsecurity

-L (list) Listar regras ativas

-t (table) Define uma das 4


tabela do Iptables (Filter, Nat,
Mangle e Raw).

Caractersticas do iptables :

Filtro de pacotes statefull Isso significa que o iptables capaz de


atuar sobre as camadas do protocolo TCP;

Modularidade A configurao do kernel modular e com o netfilter


no diferente, pois novas funcionalidades podem ser adicionadas sem
muito esforo. Um mdulo s ser usado se for da necessidade do
administrador;

9
Firewall Linux

Tabelas:

So os locais usados para armazenar as chains e regras de nosso


Firewall:

Filter Regras responsveis por determinar tudo que entra e sai


da mquina local. Muito usada em Firewall de Host;
NAT Usada para dados que gera outra conexo, como mascarar
a Internet, redirecionar requisies. Essencial para firewall de rede;
Mangle Utilizada para alteraes especiais de pacotes, como
marcao para QOS e balanceamento de link.

10

Revisando os conceitos de Rede:

Os dados so transmitidos na Internet agrupados em pacotes TCP (de


maneira geral). Esses pacotes TCP podem conter at 1460 bytes de
dados. Alm dos dados, 40 bytes adicionais vo junto no pacote. Nesses
40 bytes a mais seguem:

IP de origem
IP de destino
Porta de origem
Porta de destino
Cdigos de verificao
Nmero do pacote

10
Firewall Linux

Tabelas:

Novas Tabelas:

RAW Marca pacotes para rastreio posterior, utilizada para configurar


excees, o que faz dela importante ela ficar no topo de todas as outras
tabelas, sendo a primeira a processar o pacote;

Security Usada para regras de rede para Controle Obrigatrio de Acesso


(MAC - Mandatory Access Control), especfica para integrao com o
SELINUX.

11

Revisando os conceitos de Rede:

Os cdigos de verificao servem para garantir a integridade dos dados


que esto sendo trafegados na rede. A funo bsica do IP cuidar do
endereamento e entrega de pacotes. A funo bsica do TCP fazer
verificaes de erros e numerao de portas. Logo, os dados sero
transmitidos de forma quebrada, em pacotes menores.

11
Firewall Linux

Chains:

As Chains so locais onde as regras so armazenadas de acordo com


sua tabela:

Filter INPUT , OUTPUT , FORWARD


NAT PREROUTING , POSTROUTING , INPUT , OUTPUT
Mangle PREROUTING , POSTROUTING , INPUT , OUTPUT, FORWARD
RAW PREROUTING , OUTPUT
Security INPUT , OUTPUT, FORWARD

As Chains podem ser embutidas ou criadas pelo usurio.

12

Revisando os conceitos de Rede:

Existem 65.536 portas TCP e UDP. Elas so numeradas de 0 e 65.535.


As portas baixas esto na faixa entre 0 a 1023. Elas esto reservadas
para servios mais conhecidos como: servidor web, ftp, ssh, telnet,
servidores de e-mail, compartilhamento de arquivos, como, por exemplo,
Samba, NFS etc. Portas altas esto faixa acima de 1023.

12
Firewall Linux

Poltica e Regras:

Cada Chain possui uma poltica padro que vai determinar que tipo de
regras voc ir criar na Chain:

Poltica DROP Cria-se regras de Bloqueio de Pacotes;


Poltica ACCEPT Cria-se regras de Liberao de Pacotes;

Qual poltica mais eficaz?


mais fcil saber tudo o que precisa ser bloqueado ou tudo que minha
empresa precisa que seja liberado?

13

Compreendendo as polticas e as excees:

A metodologia utilizada para implementao do firewall ser a seguinte:

13
Firewall Linux
Servidor: Security

Definindo Poltica nas Chains:

1#iptablestfilterS Poltica DROP Tudo est


2#iptablestnatS negado exceto o que for liberado
3#ping127.0.0.1 em regras de ACCEPT.

4#iptablestfilterPINPUTDROP Poltica ACCEPT Tudo est


liberado exceto o que for negado
5#iptablestfilterS
em regras de DROP.
6#iptablestfilternL
-P (policy) Define a Poltica
7#ping127.0.0.1
da Chain
-S (list-rules) Lista a Regras
de todas as chains ou uma em
especfico.

14

Compreendendo as polticas e as excees:

Iremos negar todo o trfego para as "chains" de "INPUT", "OUTPUT" e


"FORWARD" da tabela "filter", posteriormente iremos definir a relao
dos servios que devem ser liberados no "firewall", as chamadas
excees. Todo o trfego de pacotes no coberto pelas excees ser
bloqueado por padro. Em suma, o que no for oficialmente permitido j
est expressa e previamente negado.

Negar com DROP ou REJECT?

Ao criar regras de negao utilizando a ao DROP o sistema rejeita o


pacote e simplesmente no responde a conexo, j em regras cuja ao
definida REJECT o sistema rejeitar o pacote e notificar o solicitante
sobre a rejeio.

14
Firewall Linux
Servidor: Security

Definindo Regras:

iptablestfilterAINPUTs127.0.0.1d127.0.0.1jACCEPT
A B C

A Onde a regra ser armazenada, ou seja, checada. Sempre indicamos


a tabela e a Chain;
B A regra em si. As informaes que passamos na regra so: Origem e
Destino do Pacote, Porta do Servio, Protocolo, etc;
C A ao da regra, ou seja, o destino do pacote. Se o pacote ser
aceito, negado, redirecionado, etc.

15

15
Firewall Linux
Servidor: Security

Entendendo a Criao de Regras no Iptables:

1#iptablestfilterAINPUTs127.0.0.1d127.0.0.1jACCEPT

Tudo que entrar no Servidor Security com destino ao Localhost (127.0.0.1) ser
liberado.
2#iptablestfilterSINPUT
-A (append) Adiciona uma
3#iptablestfilternL regra do Final da lista de Regras
j criadas;
4#ping127.0.0.1
-I (insert) Adiciona uma
5#ifconfigeth1 regra no comeo da lista de
6#ping192.168.200.1
Regras j criadas;
-d (destination) Especifica
7#iptablestfilternLlinenumbers o destino do Pacote.
-s (source) Especifica a
origem do Pacote.

16

Tabela de Parmetros do Iptables

Parmetros para o iptables Descrio


-P --policy Estabelece a poltica de acesso a uma chain

-t --table Seleciona tabela

-A --append Adiciona como ltima regra da sequncia de uma chain

-I --insert Insere como primeira regra da sequncia de uma chain

-N --new-chain Cria uma nova chain

-D --delete Remove uma regra

-X --delete-chain Elimina todas as regras presentes em chains de usurios

-F --flush Elimina todas as regras presentes em uma chain padro


(INPUT,FORWARD etc) ou tablea (Para todas as chains)

16
Firewall Linux
Servidor: Security

Sobrevivendo no Iptables:

1#iptablestfilternLlinenumbers

2#iptablestfilterDINPUT1

3#iptablestfilternL
-D (delete) Deleta uma
4#iptablestfilterAINPUTjACCEPT
regra de uma Chain;
5#iptablestfilternL
-F (flush) Deleta todas as
6#iptablestfilterF regras das Chains de uma tabela;
7#iptablestfilternL

8#iptablestfilterAINPUTjACCEPT

17

Tabela de Parmetros do Iptables

Parmetros para o iptables Descrio


-s --source Determina a origem do pacote

-d --destination Determina o destino do pacote

--dport --destination-port Determina a porta de destino

--sport --source-port Determina a porta de origem

-i --in-interface Define a interface de entrada (input)

-o --out-interface Define a interface de sada (output)

-p --protocol Seleciona o protocolo (tcp, udp, icmp etc)

17
Firewall Linux
Servidor: Security

Sobrevivendo no Iptables:
Todas as regras de firewall so
1#iptablessave
criadas na memria, portanto uma vez
2#iptablessave>/root/firewall
que a mquina reinicie tudo perdido.
3#iptablestfilterF O iptables no tem um arquivo de
4#iptablestfilternL configurao, ele oferece dois
5#cat/root/firewall comandos para que voc posso salvar

6#iptablesrestore/root/firewall
as regras e ativar na inicializao:
iptables-save Salva as regras num
7#iptablestfilternL
arquivo.
8#iptablestfilterF
iptables-restore Ativa as regras
armazenadas pelo iptables-save.

18

Tabela de Alvos do Iptables

Alvo Descrio do alvo


ACCEPT O pacote aceito

REJECT O pacote rejeitado imediatamente

DROP O pacote nagado silenciosamente (Mais interessante,


pois diminui a eficincia de um ataque DOS/DDOS, ou seja,
o host de origem fica sem resposta at que a conexo
caia).

LOG Permite que qualquer pacote que se encaixa na regra seja


enviado para o syslog ou dmesg

18
Firewall Linux
Servidor: Security

Construindo um Firewall:

Antes de iniciar a construo de um Firewall importante dominar


alguns conceitos de Rede:

Como funciona uma conexo baseada em cliente e servidor;

Portas e protocolos dos principais servios da rede.

19

19
Firewall Linux
Servidor: Security

Como Funciona uma Conexo


Baseada em Cliente e Servidor?

Porta Alta Protocolos Porta Servio


1024 - 65535 TCP/UDP/ICMP SSH 22

INPUT
SYN
OUTPUT
SYN/ACK ou RST
ACK
FIN
Flags TCP

Porta Alta Porta Servio


1024 - 65535 SSH 22
20

20
Firewall Linux
Servidor: Security

SSH Ativo:

#tcpdumpnieth0host192.168.200.35andport22
IP192.168.200.35.62939>192.168.200.1.22:Flags[S],seq
1470916950,win65535
IP192.168.200.1.22>192.168.200.35.62939:Flags[S.],
seq1431520632,ack1470916951,win14480
IP192.168.200.35.62939>192.168.200.1.22:Flags[.],ack
1,win65535
IP192.168.200.35.62939>192.168.200.1.22:Flags[F.],
seq1809,ack1512,win65535

21

21
Firewall Linux
Servidor: Security

SSH Desligado:

#tcpdumpnieth0host192.168.200.35andport22
IP192.168.100.35.62946>192.168.100.1.22:Flags[S],seq
2848827145,win65535,options
IP192.168.100.1.22>192.168.100.35.62946:Flags[R.],
seq0,ack2848827146,win0,length0

22

22
Firewall Linux
Servidor: Security

Como Funciona uma Conexo


Baseada em Cliente e Servidor?

Protocolos
Porta Alta Porta Servio
TCP/UDP/ICMP
1024 - 65535 DNS 53

Porta Alta Porta Servio


1024 - 65535 DNS 53

23

23
Firewall Linux
Servidor: Security

DNS Ativo:

#tcpdumpnieth0port53
IP192.168.100.35.57067>201.6.2.140.53:61682+A?
google.com.(28)
IP201.6.2.140.53>192.168.100.35.57067:6168211/4/4A
74.125.234.68,A74.125.234.72,A74.125.234.78,A
74.125.234.73,A74.125.234.66,A74.125.234.67,A
74.125.234.64,A74.125.234.71,A74.125.234.65,A
74.125.234.70,A74.125.234.69(340)

24

24
Firewall Linux
Servidor: Security

DNS Desligado:

#tcpdumpnieth0port53
IP192.168.100.1.47619>66.118.142.41.53:65307+A?
google.com.(28)
IP66.118.142.41.53>192.168.100.1.47619:65307Refused
0/0/0(28)

25

25
Firewall Linux
Servidor: Security

Como Funciona uma Conexo


Baseada em Cliente e Servidor?

Protocolos
TCP/UDP/ICMP

ICMP ECHO REQUEST


(Type 8)

ICMP ECHO REPLY


(Type 0)

26

26
Firewall Linux
Servidor: Security

Ping 4.2.2.2:

#tcpdumpnieth0icmp
16:01:44.190864IP192.168.100.18>4.2.2.2:ICMPecho
request,id2721,seq1,length64
16:01:44.334131IP4.2.2.2>192.168.100.18:ICMPecho
reply,id2721,seq1,length64

27

27
Firewall Linux
Servidor: Security

Portas e Protocolos dos Principais Servios da Rede:

1#cat/etc/services

SSH 22/tcp POP3 110/tcp


HTTP 80/tcp POP3S 995/tcp
HTTPS 443/tcp IMAP 143/tcp
DNS 53/udp IMAPs 993/tcp
SMTP 25/tcp
LDAP 389/tcp
SMTPS 465/tcp
OPENVPN 1194/udp
FTP 21/tcp

28

28
Firewall Linux
Servidor: Security

Construindo um Firewall:

1 Definir a poltica das chains da tabela Filter:

1#iptablestfilterPINPUTDROP

2#iptablestfilterPOUTPUTDROP

3#iptablestfilterPFORWARDDROP

4#iptablestfilternL

5#ping4.2.2.2

6#ssh127.0.0.1

29

29
Firewall Linux
Servidor: Security

2 Liberar acesso ao loopback 127.0.0.1:

1#iptablestfilterAINPUTs0/0d127.0.0.1jACCEPT

Tudo que entrar no Servidor Security com destino ao Localhost (127.0.0.1) ser liberado.
2#iptablestfilterAOUTPUTs0/0d127.0.0.1jACCEPT

Tudo que sair do Servidor Security com destino ao Localhost (127.0.0.1) ser liberado.
3#iptablestfilternLlinenumbers

4#ssh127.0.0.1

5#ping127.0.0.1

30

30
Firewall Linux
Servidor: Security

3 Liberar ping do Firewall para internet e SubRede 1:

1#iptablestfilterAOUTPUTpicmps0/0d0/0jACCEPT

Tudo que sair do Servidor Security sendo protocolo ICMP (ping) com destino a qualquer
lugar ser liberado.
2#iptablestfilterAINPUTpicmpicmptype0s0/0d0/0

jACCEPT
Tudo que entrar no Servidor Security sendo protocolo ICMP do Tipo 0 (echo reply) vindo
de qualquer lugar ser liberado.
3#iptablestfilterAINPUTpicmpicmptype8s

192.168.200.0/24d0/0jACCEPT
Tudo que entrar no Servidor Security sendo protocolo ICMP do Tipo 8 (echo request)
vindo da rede 192.168.200.0/24 ser liberado.

31

31
Firewall Linux
Servidor: Security

3 Liberar ping do Firewall para internet e SubRede 2:

4#iptablestfilterAINPUTpicmpicmptype8s

192.168.200.128/25d0/0jACCEPT
Tudo que entrar no Servidor Security sendo protocolo ICMP do Tipo 8 (echo request)
vindo da rede 192.168.200.128/25 ser liberado.

32

32
Firewall Linux
Servidor: Security

3 Liberar ping do Firewall para internet e rede LAN:

1#iptablestfilternLlinenumbers

2#ping8.8.8.8

Ping OK, o servidor Firewall est pingando para Internet.


Tente da mquina fsica pingar o Firewall No ser permitido!
Agora tente da mquina DataCenter pingar o Firewall.
Ping OK, o servidor DataCenter est pingando o Firewall e vice-versa.
Volte para o servidor Firewall e tente pingar o Google.com.br?
3#pinggoogle.com.br

33

33
Firewall Linux
Servidor: Security

4 Liberar consulta DNS a partir do Firewall:

1#iptablestfilterAOUTPUTpudps200.100.50.99d0/0

dport53jACCEPT
Tudo que sair do Servidor Security sendo protocolo UDP com destino a qualquer
lugar na porta 53 (DNS) ser liberado.
2# iptables t filter A INPUT p udp s 0/0 sport 53 d
200.100.50.99jACCEPT
Tudo que entrar sendo protocolo UDP vindo de qualquer lugar pela porta 53 no
Servidor Security ser liberado.
3#iptablestfilternLlinenumbers

4#pinggoogle.com

34

34
Firewall Linux
Servidor: Security

5 Permitir acesso a internet pelo Firewall:

1# iptables t filter A OUTPUT p tcp m multiport s


200.100.50.99d0/0dport80,443jACCEPT
Tudo que sair do Servidor Security sendo protocolo TCP com destino a qualquer
lugar nas portas 80 e 443 (http e https) ser liberado.
2# iptables t filter A INPUT p tcp m multiport s 0/0
sport80,443d200.100.50.99jACCEPT
Tudo que entrar sendo protocolo TCP vindo de qualquer lugar pelas portas 80 e 443
no Servidor Security ser liberado.
3#iptablestfilternLlinenumbers

4#aptgetupdate

35

35
Laboratrio Dexter
Servidor: Security

6 Libere acesso SSH da mquina Linux Interna para o Firewall:

INPUT
Porta Alta Porta Servio
1024 - 65535 TCP SSH 22

Vindo da Mquina Linux Interna


Com destino ao Firewall sendo SSH Aceito

Indo para Mquina Linux Interna


sendo SSH Aceito

Porta Alta OUTPUT Porta Servio


1024 - 65535 SSH 22
36

36
Laboratrio Dexter
Servidor: Security

6 Libere acesso SSH da mquina Linux Interna para o Firewall:

1# iptables t filter A INPUT p tcp s 192.168.200.10 d


200.100.50.99dport22jACCEPT
Tudo que entrar vindo da Mquina Linux Interna sendo protocolo TCP com destino ao
Servidor Security na porta 22 (SSH) ser liberado.
2# iptables t filter A OUTPUT p tcp s 200.100.50.99 sport

22d192.168.200.10jACCEPT
Tudo que sair sendo protocolo TCP saindo do Servidor Security na porta 22 com destino
a Mquina Linux Interna ser liberado.
3#iptablestfilternLlinenumbers

Tente da Mquina Linux Interna acessar o Firewall por SSH Ser permitido!

37

37
Firewall Linux
Servidor: Security

Como Funciona o Compartilhamento de Internet?

MASQUERADE

Forward
INTERNET
Forward
Servidor Security LAN
Pacote IDA
Pacote IDA Pacote IDA
S: 200.100.50.99
S: 200.100.50.99 S: 192.168.200.10 S: 192.168.200.10
D: google.com D: google.com D: google.com
DPort: 80 DPort: 80 DPort: 80

Pacote Volta Pacote Volta Pacote Volta

D: 200.100.50.99 D: 200.100.50.99 D: 192.168.200.10


S: google.com D: 192.168.200.10 S: google.com
SPort: 80 S: google.com SPort: 80
SPort: 80

38

38
Firewall Linux
Servidor: Security

7 Libere acesso a internet para as mquinas das SubRede 1 e 2:

Para trabalhar com MASQUERADE, NAT ou at mesmo roteamento de


pacotes por tabela de roteamento necessrio ativar o repasse de
pacotes entre placas fisicamente no kernel:
1#vim/etc/sysctl.conf

28net.ipv4.ip_forward=1
2#sysctlp

3#cat/proc/sys/net/ipv4/ip_forward

39

39
Firewall Linux
Servidor: Security

7 Libere acesso a internet para as mquinas da SubRede 1:


1# iptables t nat A POSTROUTING s 192.168.200.0/24 d 0/0
jMASQUERADE
Tudo que vier da Rede Interna com destino a Internet ser MASCARADO
2# iptables t filter A FORWARD p tcp m multiport s
192.168.200.0/24d0/0dport80,443jACCEPT
Tudo que vier da Rede Interna com destino a Internet nas portas 80 443 eu permito o
repasse de pacotes
3#iptables t filter A FORWARD p tcp m multiport s 0/0
sport80,443d192.168.200.0/24jACCEPT
Tudo que vier da Internet nas portas 80 e 443 com destino a Rede Interna eu permito o
repasse de pacotes

40

40
Firewall Linux
Servidor: Security

7 Libere acesso a internet para as mquinas da SubRede 2:


1#iptablestnatAPOSTROUTINGs192.168.200.128/25d0/0
jMASQUERADE
Tudo que vier da Rede Interna com destino a Internet ser MASCARADO
2# iptables t filter A FORWARD p tcp m multiport s
192.168.200.128/25d0/0dport80,443jACCEPT
Tudo que vier da Rede Interna com destino a Internet nas portas 80 443 eu permito o
repasse de pacotes
3#iptables t filter A FORWARD p tcp m multiport s 0/0
sport80,443d192.168.200.128/25jACCEPT
Tudo que vier da Internet nas portas 80 e 443 com destino a Rede Interna eu permito o
repasse de pacotes

41

41
Firewall Linux
Servidor: Security

8 Libere Acesso a Consulta DNS para as Mquinas da SubRede 2:

1#iptablestfilterAFORWARDpudps192.168.200.128/25

d0/0dport53jACCEPT
Tudo que vier da rede interna com destino a internet na porta 53 eu permito o repasse de
pacotes
2# iptables t filter A FORWARD p udp s 0/0 sport 53 d

192.168.200.128/25jACCEPT
Tudo que vier da internet na porta 53 com destino a rede interna eu permito o repasse de
pacotes

Tente do Servidor Datacenter acessar a Internet Ser permitido!

42

42
Firewall Linux
Servidor: Security

8 Libere Acesso a Consulta DNS para as Mquinas da SubRede 1:

1#iptablestfilterAFORWARDpudps192.168.200.0/24d

0/0dport53jACCEPT
Tudo que vier da rede interna com destino a internet na porta 53 eu permito o repasse de
pacotes
2# iptables t filter A FORWARD p udp s 0/0 sport 53 d

192.168.200.0/24jACCEPT
Tudo que vier da internet na porta 53 com destino a rede interna eu permito o repasse de
pacotes

Tente do Servidor Audit acessar a Internet Ser permitido!

43

43
Firewall Linux
Servidor: Security

8 Libere Acesso a Consulta DNS para as Mquinas da SubRede 2:

1#iptablestfilterAFORWARDpudps192.168.200.128/25

d0/0dport53jACCEPT
Tudo que vier da rede interna com destino a internet na porta 53 eu permito o repasse de
pacotes
2# iptables t filter A FORWARD p udp s 0/0 sport 53 d

192.168.200.128/25jACCEPT
Tudo que vier da internet na porta 53 com destino a rede interna eu permito o repasse de
pacotes

Tente do Servidor Datacenter acessar a Internet Ser permitido!

44

44
Firewall Linux

9 Redirecione o servio SSH para os servidores internos:

Porta 52000 Servidor Audit Porta 22

Porta 53000 Servidor Storage Porta 22

Porta 54000 Servidor FileServer Porta 22

Porta 55000 Servidor WebServerInterno Porta 22

Porta 56000 Servidor Datacenter Porta 22

45

45
Firewall Linux
Servidor: Security

Como Funciona o Redirecionamento de Portas?

PREROUTING

INTERNET
Port 52000 DNAT Port 22
Audit
FORWARD

Servidor Security

46

46
Firewall Linux
Servidor: Security

9 Redirecione o servio SSH para os servidores internos:

1#iptablestnatAPREROUTINGptcps0/0d200.100.50.99

dport52000jDNATto192.168.200.30:22
Tudo que vier da Internet com destino ao Servidor Security na porta 52000 ser
redirecionado ao Servidor Audit na porta 22
2# iptables t filter A FORWARD p tcp s 0/0 d
192.168.200.30dport22jACCEPT
Tudo que vier da Internet com destino ao Audit na porta 22 eu permito o repasse de
pacotes
3# iptables t filter A FORWARD p tcp s 192.168.200.30
sport22d0/0jACCEPT

47

47
Laboratrio Dexter
Servidor: Security

Customizando a Inicializao do Firewall:

1#cp/root/firewall/etc/init.d

2#less/etc/init.d/firewall

3#/etc/init.d/firewallrestart

[ok]StoppingSecurityFirewallDexter
[ok]StartingSecurityFirewallDexter
4#insserv/etc/init.d/firewall

48

Customizando a Inicializao do Firewall

O "script" acima foi adicionado aos nveis de execuo do sistema, para


ser carregado sempre que a mquina for ligada.

Um bom Firewall aquele que bloqueia tudo e libera somente o


necessrio por isso as primeiras providencias a tomar bloquear tudo.

A POLICE (determinada com o parmetro -P ) a regra default para


qualquer tipo de comunicao, portanto se no existir uma regra
especifica para a passagem de pacotes a POLICE ir bloquear a
passagem.

48
Resumo iptables (parte 1/2)

Parmetros
Descrio Parmetros Completo
Abreviado
Estabelece a politica de acesso de P policy
uma chain
Selecionar a Tabela t table
Adiciona como ltima regra da A append
sequncia de uma Chain
Insere como primeira regra da I insert
sequncia de uma Chain
Remove uma Regra D delete
Elimina todas as regras presentes em
uma Chain padro F flush
(INPUT,FORWARD etc) ou tabela
(Para todas as Chains).

49

49
Resumo iptables (parte 2/2)

Parmetros
Descrio Parmetros Completo
Abreviado
Determina a origem do Pacote s source
Determina o Destino do Pacote d destination
Define a porta de Destino dport destinationport
Define a porta de Origem sport sourceport
Seleciona o Protocolo (tcp,udp,icmp p protocol
etc)

50

50
Dica
Servidor: Security

Colocando Comentrio no iptables para Agilizar na Leitura da


Regra:

1#iptablestfilterAINPUTs0/0d127.0.0.1jACCEPT

mcommentcomment"AceitatudoLoopback"
Tudo que vier de qualquer lugar com destino a Loopback (127.0.0.1) permiti o
acesso.
2#iptablesnL

Facilita para obter de forma rpida o objetivo daquela regra, sem a


necessidade de entrar em arquivos.

51

51
Dica
Servidor: Security

Criando Registro de LOG do iptables

1#iptablestfilterAINPUTs0/0d200.100.50.99ptcp

dport22jLOGlogprefix'[AcessoSSHSecurity]'
Tudo que vier de qualquer lugar com destino a 200.100.50.99 na porta 22 cria o log
Acesso SSH Security.
2#iptablesnL

3#tailf/var/log/messages

Tente da mquina fsica acessar o Firewall por SSH!

52

52
Pergunta LPI

Voc implementou algumas regras de Firewall e o prprio Firewall est


saindo para a internet, porm qualquer mquina atrs do firewall no
consegue conectar. Qual deve ser o problema?

A. Os usurios so ingnuos, precisa mostrar como se faz;


B. A poltica da Chain OUTPUT DROP, precisa ser ACCEPT para deixar o
trfego de sada chegar ao host;
C. Encaminhamento de IP est desativado no / proc/sys/net/ipv4;
D. Se o firewall pode se conectar Internet, os sistemas por trs dele esto
OK. O problema deve ser em outro lugar.

53

Alternativa D: Resposta Correta!

Lembre-se: Para que um sistema Linux possa repassar pacotes


necessrio que o suporte a encaminhamento esteja habilitado no kernel,
essa opo dever ser encontrada no arquivo /etc/sysctl.conf ou
diretamente no /proc.

Na 4Linux temos dois treinamentos de segurana da informao:


PenTest, testes de vulnerabilidades de redes e Segurana de servidores
Linux usando a ISO27002.

A Prova do LPI nmero 303 focada em Segurana. Conceitos e


comando bsicos do "iptables"so cobrados na prova 202.

53
Pergunta LPI

Voc implementou algumas regras de Firewall e o prprio Firewall est


saindo para a internet, porm qualquer mquina atrs do firewall no
consegue conectar. Qual deve ser o problema?

A. Os usurios so ingnuos, precisa mostrar como se faz;


B. A poltica da Chain OUTPUT DROP, precisa ser ACCEPT para
deixar o trfego de sada chegar ao host;
C. Encaminhamento de IP est desativado no / proc/sys/net/ipv4;
D. Se o firewall pode se conectar Internet, os sistemas por trs
dele esto OK. O problema deve ser em outro lugar.

Resposta: Alternativa D.
54

Alternativa D: Resposta Correta!

Lembre-se: Para que um sistema Linux possa repassar pacotes


necessrio que o suporte a encaminhamento esteja habilitado no kernel,
essa opo dever ser encontrada no arquivo /etc/sysctl.conf ou
diretamente no /proc.

Na 4Linux temos dois treinamentos de segurana da informao:


PenTest, testes de vulnerabilidades de redes e Segurana de servidores
Linux usando a ISO27002.

A Prova do LPI nmero 303 focada em Segurana. Conceitos e


comando bsicos do "iptables"so cobrados na prova 202.

54
Servidor DHCP

55

Cenrio

A empresa Dexter Courier precisa de informaes precisas sobre suas


mquinas no que diz respeito origem dos acessos aos servidores,
portanto ter todos os computadores da rede mapeados com endereo IP
fixo.

Proposta de soluo

Uma grande vantagem que podemos encontrar no DHCP o de


amarrar o endereo MAC das mquinas a um determinado IP, fazendo
com que somente quem estiver com o MAC ADDRESS cadastrado
poder utilizar a internet e os demais sero bloqueados. Alm disto,
teremos um controle melhor sobre a origem dos acessos aos servios da
empresa.

55
Servidor DHCP

Introduo:

O protocolo DHCP (Dynamic Host Configuration Protocol, ou


Protocolo dinmico de configurao de hosts) responsvel
por gerenciar a distribuio de endereos IP na Rede;

Criado e mantido pelo ISC (Internet System Consortium), mesmo


grupo que mantm BIND e NTP;

56

Fundamentao

Criado e mantido pelo ISC (Internet Systems Consortium), um grupo sem


fins lucrativos dedicado a desenvolver servios de infra-estrutura usados
na Internet, incluindo o Bind e o NTPD. Caso esteja curioso, a pgina
com o cdigo fonte a: http://www.isc.org/sw/dhcp/.

O protocolo DHCP (Dynamic Host Configuration Protocol) funciona nas


camadas 2 e 3 do modelo OSI e amplamente utilizado para oferecer
endereo IP a um "host" que ainda no est configurado, o que oferece
uma flexibilidade ao Administrador de Redes.

56
Servidor DHCP

Tipos de atribuio de endereos:


Atribuio Dinmica Quando um cliente DHCP solicita um
endereo IP, o servidor DHCP vai ao pool de endereos IP disponveis
(no utilizados) e atribui um endereo IP por um perodo de tempo
negocivel;

Atribuio Esttica Usado quando desejamos que certo cliente


tenha determinado endereo IP, no DHCP possvel "amarrar" o
endereo "MAC" da mquina cliente ao endereo IP desejado.

57

Fundamentao

O que um servidor DHCP faz bastante simples. Ele responde aos


pacotes de broadcast das estaes, enviando um pacote com um dos
endereos IP disponveis e os demais dados da rede.

Os pacotes de broadcast so endereados ao endereo


"255.255.255.255" e retransmitidos pelo switch da rede para todas as
portas, diferente dos pacotes endereados a um endereo especfico,
que so transmitidos apenas na porta relacionada a ele.

Periodicamente o servidor DHCP verifica se as estaes ainda esto l,


exigindo uma renovao do "aluguel" do endereo IP. Isso permite que
os endereos IP sejam gastos apenas com quem realmente estiver
online, evitando que os endereos disponveis se esgotem.

57
Servidor DHCP
Servidor: Linux Interna

Cliente DHCP:

1#dhclientr

2#dhclientveth0

3#ifconfigeth0

Ateno: Antes de desligar a DesktopLinux, altere a


configurao de rede.

58

DHCPDISCOVER Um cliente envia um quadro "broadcast"/


(destinado a todas as mquinas) com um pedido "DHCP";

DHCPOFFER O servidor "DHCP" captura o quadro e oferece um


Endereo IP ao "host" requisitante;

DHCPREQUEST O cliente envia um "DHCP REQUEST" endereado


para o servidor "DHCP" aceitando o IP;

DHCPACK Esse o pacote que confirma a atribuio de uma


configurao de rede a um cliente, ou seja, aquele cliente agora possui
configuraes distribudas pelo servidor "DHCP";

58
Servidor DHCP
Servidor: Audit

Servidor DHCP:

1#aptgetinstalliscdhcpserver

2#cd/etc/dhcp/

3#mvdhcpd.confdhcpd.conf.dist

4#vimdhcpd.conf.dist

5#vimdhcpd.conf

59

DHCPNAK Caso o cliente no aceite aquele endereo IP, ele enviar


um "DHCP-NAK" para o servidor, e realizar o "DHCPDISCOVER"
novamente.

DHCPDECLINE Caso o IP j esteja sendo utilizado por outro Host, o


cliente envia um DHCPDECLINE anunciando ao servidor que o endereo
j utilizado;

DHCPRELEASE Se por algum motivo o cliente deixa de usar o


endereo IP, o mesmo manda um DHCPRELEASE dizendo que aquele
IP ja pode ser usado por outro Host;

DHCPINFORM Utilizado quando o Cliente j possui endereo IP, mas


precisa de outras informaes, como o servidor DNS por exemplo, o
mesmo envia um DHCPINFORM pedindo tais informaes para o
servidor DHCP.

59
Servidor DHCP
Servidor: Audit

ddnsupdatestylenone;
logfacilitylocal7;
subnet192.168.200.0netmask255.255.255.0{
range192.168.200.100192.168.200.110;
serveridentifieraudit;
optiondomainname"dexter.com.br";
optiondomainnameservers192.168.200.30,192.168.200.130;
optionrouters192.168.200.1;
defaultleasetime600;
maxleasetime7200;
minleasetime1000;
}

60

ddns-update-style Esquema de armazenamento das informaes


de redes dos clientes. Atualmente so implementados dois esquemas
de : O modo de atualizao do DNS improvisado (ad-hoc) e o modo de
atualizao do esquema de interao do intervalo DHCP-DNS (interim);

deny unknown-clients Nega acesso a MAC no cadastrado;

log-facility local7 Criaremos uma entrada no /etc/rsyslog.conf para


os logs do servidor DHCP;

subnet 192.168.1XX.0 netmask 255.255.255.0 Qual rede o DHCP


ir responder quando for solicitado;

range 192.168.1XX.100 192.168.1XX.110 Faixa de IPs que ser


disponibilizado aos clientes;

60
Servidor DHCP
Servidor: Audit

Reinicie o Servio:

1#/etc/init.d/iscdhcpserverstop

2#/etc/init.d/iscdhcpserverstart

3#psaux|grepdhcp

4#tailf/var/lib/dhcp/dhcpd.leases

Ligue o desktop Linux para testar seu servidor DHCP

5#dhclientveth0

61

option domain-name dexter.com.br Nome de domnio do cliente;

option domain-name-servers 192.168.1XX.3,192.168.1XX.2 Essa


opo lista os servidores de nomes (DNS) a serem utilizados para
resoluo de nomes;

option routers 192.168.1XX.1 O cliente, alm do nmero IP, recebe


tambm a informao do nmero do "gateway" de sua rede;

default-lease-time 600 Servidores "DHCP" cedem endereos sob


pedido por um tempo pr-determinado. O padro nesse exemplo ceder
o endereo IP por 600 segundos, ou 10 minutos;

max-lease-time 7200 Caso o cliente solicite um tempo maior, o


tempo mximo permitido ser de 7.200 segundos (2 horas);

min-lease-time 1000 Tempo mnimo de concesso de 1000


segundos (Aproximadamente 16 minutos);

61
Servidor DHCP
Servidor: Audit

DHCP Esttico:

1#vim/etc/dhcp/dhcpd.conf

hostlinuxinterna{

hardwareethernet00:00:00:00:00:00;

fixedaddress192.168.200.110;

2#/etc/init.d/iscdhcpserverstart

Faa uma nova solicitao no DesktopLinux:

3#dhclientv

62

62
Laboratrio Dexter
Servidor: Audit

Ligue a mquina Windows e repita o teste do DHCP Dinmico:


1#tailf/var/lib/dhcp/dhcpd.leases

Em seguida, fixe o IP via MAC Address para a mquina Windows


Interna:

hostwin8{
hardwareethernet00:00:00:00:00:00;
fixedaddress192.168.200.111;
}

63

63
Pergunta LPI

A mquina chamada Desktop tem o MAC address "08:00:2b:4c:59:23". Esse


host precisa sempre receber do servidor DHCP o IP 192.168.1.2. Qual das
alternativas permitir que isso ocorra?
A. host Desktop { D. host Desktop {
hardware-ethernet 08:00:2b.4c:59:23; hardware ethernet 08:00:2b.4c:59:23;
fixed-address 192.168.1.2;
fixed-address 192.168.1.2; }
}
B. host Desktop { E. host Desktop {
hardware-address 08:00:2b.4c:59:23;
mac=08:00:2b.4c:59:23; fixed-ip 192.168.1.2;
ip=192.168.1.2; }
}
C. host TestKing = 08:00:2b.4c:59:23 192.168.1.2

64

Alternativa D: Resposta Correta!

Mutias questes LPI cobram comandos exatos alterando alterando


apenas pequenos detalhes como no exemplo acima, por isso ao se
preparar para a prova preste ateno na sintaxe de configurao e
execuo dos comandos apresentados em cada tpico.

64
Pergunta LPI

A mquina chamada Desktop tem o MAC address "08:00:2b:4c:59:23". Esse


host precisa sempre receber do servidor DHCP o IP 192.168.1.2. Qual das
alternativas permitir que isso ocorra?
A. host Desktop { D. host Desktop {
hardware-ethernet 08:00:2b.4c:59:23; hardware ethernet 08:00:2b.4c:59:23;
fixed-address 192.168.1.2;
fixed-address 192.168.1.2; }
}
B. host Desktop { E. host Desktop {
hardware-address 08:00:2b.4c:59:23;
mac=08:00:2b.4c:59:23; fixed-ip 192.168.1.2;
ip=192.168.1.2; }
}
C. host TestKing = 08:00:2b.4c:59:23 192.168.1.2
Resposta: Alternativa D

65

Alternativa D: Resposta Correta!

Mutias questes LPI cobram comandos exatos alterando alterando


apenas pequenos detalhes como no exemplo acima, por isso ao se
preparar para a prova preste ateno na sintaxe de configurao e
execuo dos comandos apresentados em cada tpico.

65
Prximos Passos

Para que voc tenha um melhor aproveitamento do curso,


participes das seguintes atividades disponveis no Netclass:

Executar as tarefas do Practice Lab;


Resolver o Desafio Appliance Lab e postar o resultado no
Frum Temtico;
Responder as questes do Teste de Conhecimento sobre o
contedo visto em aula.

Mos obra!

66