Escolar Documentos
Profissional Documentos
Cultura Documentos
br
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Competências da Aula
Esta aula possui conteúdo que atende os objetivos das seguintes certificações:
LPIC 2
●
security tasks
●
iptables
●
LFCE
●
Understanding Linux Firewall Solutions
●
Understanding iptables Working
RHCE
●
Understanding Firewalld Operation
●
Configuring Firewalld Services and Zones
HandsON
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
O que é um Firewall?
Um firewall faz o filtro de pacotes que passam na rede. Para configurar um firewall, é necessário o
conhecimento sobre a estrutura da rede em questão, e dos diferentes protocolos envolvidos na
comunicação, isto é, dos serviços que a rede usa para que eles não percam a comunicação.
O objetivo em ter uma máquina fazendo o papel de Firewall Gateway em nossa rede, é minimizar
as tentativas de ataques que elas recebem, tentando impedir possíveis invasões e levantamento
de informações.
Iptables
Os sistemas 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".
Basicamente no iptables as regras são organizadas em tabelas, essas tabelas possuem o que
chamamos de CHAINS. É nas CHAINS que são definidas as regras para o nosso "firewall", sendo
que uma CHAIN deverá possuir também uma política padrão (drop ou accept).
A tradução literal para CHAIN seria "correntes", assim cada tabela teria uma corrente, onde cada
elo corresponderia a uma regra.
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Os dados são transmitidos na Internet, agrupados em pacotes TCP (de maneira geral). Esses
pacotes TCP podem conter até 1460 bytes de dados. Além dos dados, 40 bytes adicionais vão
junto no pacote. Nesses 40 bytes a mais, seguem:
→ IP de origem
→ IP de destino
→ Porta de origem
→ Porta de destino
→ Códigos de verificação
→ Número do pacote
Os códigos de verificação, servem para garantir a integridade dos dados que estão sendo
trafegados na rede.
A função básica do TCP é fazer verificações de erros e numeração de portas. Logo, os dados
serão transmitidos de forma quebrada, em pacotes menores.
Existem 65.536 portas TCP e UDP. Elas são numeradas de 0 e 65.535. As portas baixas estão na
faixa entre 0 à 1023. Elas estão reservadas para serviços mais conhecidos como: servidor web,
ftp, ssh, telnet, servidores de e-mail, compartilhamento de arquivos, como por exemplo, Samba,
NFS etc. Portas altas estão uma faixa acima de 1023.
Características do iptables
●
Filtro de pacotes statefull — Isso significa que o iptables é capaz de atuar sobre as camadas do
protocolo TCP.
●
Modularidade — A configuração do kernel é modular e com o netfilter não é diferente, pois novas
funcionalidades podem ser adicionadas sem muito esforço. Um módulo só será usado se for da
necessidade do administrador.
O comando iptables tem a função de gerenciar um firewall no Linux. Com ele criamos regras,
visualizamos regras, deletamos regras, definimos políticas.
●
-L (list) — Listar regras ativas;
●
-t (table) — Define uma das 4 tabela do Iptables (Filter, Nat, Mangle e Raw).
Iremos negar todo o tráfego para as "chains" de "INPUT", "OUTPUT" e "FORWARD" da tabela
"filter", posteriormente definiremos as relações dos serviços que devem ser liberados no "firewall",
as chamadas exceções. Todo o tráfego de pacotes não coberto pelas exceções, será bloqueado
por padrão. Em suma, o que não for oficialmente permitido já está expressa e previamente negado.
Ao criar regras de negação utilizando a ação DROP, o sistema rejeita o pacote e simplesmente não
responde a conexão, já em regras cuja ação definida é REJECT, o sistema rejeitará o pacote e
notificará o solicitante sobre a rejeição.
●
Política DROP – Tudo está negado, exceto o que for liberado em regras de ACCEPT;
●
Política ACCEPT – Tudo está liberado, exceto o que for negado em regras de DROP;
●
-P (policy) – Define a Política da Chain;
●
-S (list-rules) – Lista a Regras de todas as chains ou uma em específico.
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Firewalld
Zonas são conjuntos predefinidos de regras. Interfaces de rede e fontes podem ser atribuídas a
uma zona. O tráfego permitido depende da rede, à qual seu computador está conectado e do
nível de segurança atribuído a essa rede.
Os serviços de firewall são regras predefinidas, que cobrem todas as configurações necessárias
para permitir tráfego de entrada a um serviço específico, e se aplicam em uma zona.
Componentes
Os serviços usam uma ou mais portas, ou endereços para comunicação de rede. Os firewalls
filtram a comunicação com base nas portas. Para permitir tráfego de rede para um serviço, suas
portas devem estar abertas. O firewalld bloqueia todo o tráfego em portas que não estão
explicitamente definidas como abertas. Algumas zonas, como confiáveis, permitem todo o tráfego
por padrão.
Tipos de Zonas
●
block — Todas as conexões de rede de entrada são rejeitadas com uma mensagem icmp-host-
prohibited para IPv4, e icmp6-adm-prohibited para IPv6. Apenas conexões de rede iniciadas de
dentro do sistema são possíveis.
●
dmz — Para computadores em sua zona desmilitarizada, que são acessíveis publicamente com
acesso limitado à sua rede interna. Somente conexões de entrada selecionadas são aceitas.
●
drop — Todos os pacotes de rede recebidos são descartados sem qualquer notificação. Apenas
conexões de rede de saída são possíveis.
●
external — Para uso em redes externas com o mascaramento ativado, especialmente para
roteadores. Você não confia nos outros computadores da rede para não danificar seu computador.
Somente conexões de entrada selecionadas são aceitas.
●
home — Para uso em casa, quando você confia principalmente nos outros computadores da
rede. Somente conexões de entrada selecionadas são aceitas.
●
internal — Para uso em redes internas, quando você confia principalmente nos outros
computadores da rede. Somente conexões de entrada selecionadas são aceitas.
●
public — Para uso em áreas públicas, onde você não confia em outros computadores na rede.
Somente conexões de entrada selecionadas são aceitas.
●
trust — Todas as conexões de rede são aceitas.
●
work — Para uso no trabalho em que você confia, principalmente nos outros computadores da
rede. Somente conexões de entrada selecionadas são aceitas.
●
firewall-cmd — É o cliente da linha de comando do daemon do firewalld. Fornece interface para
gerenciar o tempo de execução e a configuração permanente.
●
--state — Exibir o estado do firewalld;
●
--list-all — Listar tudo adicionado ou ativado em uma zona.
●
--list-all — Listar tudo adicionado ou ativado em uma zona.
●
--get-services — Listar serviços adicionados para uma zona.
●
--zone=public — Selecionar uma zona para definir ou consultar opções, senão a zona padrão é
utilizada.
●
--list-services — Listar serviços adicionados para uma zona.
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Competências da Aula
Esta aula possui conteúdo que atende os objetivos das seguintes certificações:
LFCE
●
Setting up a Basic iptables Configuration
●
HandsON
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
●
-A (append) – Adiciona uma regra do Final da lista de Regras, já criadas;
●
-I (insert) – Adiciona uma regra no começo da lista de Regras, já criadas;
●
-d (destination) – Especifica o destino do Pacote;
●
-s (source) – Especifica a origem do Pacote.
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
●
-D (delete) – Deleta uma regra de uma Chain;
●
-F (flush) – Deleta todas as regras das Chains de uma tabela.
Todas as regras de firewall são criadas na memória, portanto uma vez que a máquina reinicie, tudo
é perdido. O iptables não tem um arquivo de configuração, ele oferece dois comandos para que
você possa salvar as regras e ativar na inicialização:
●
Iptables-save – Salva as regras num arquivo.
●
Iptables-restore – Ativa as regras armazenadas pelo iptables-save.
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
SSH Ativo:
# tcpdump -n -i eth0 host 200.100.50.100 and port 22
IP 200.100.50.100.62939 > 200.100.50.1.22: Flags [S], seq 1470916950, win 65535
IP 200.100.50.1.22 > 200.100.50.100.62939: Flags [S.], seq 1431520632, ack 1470916951, win
14480
IP 200.100.50.100.62939 > 200.100.50.1.22: Flags [.], ack 1, win 65535
IP 200.100.50.100.62939 > 200.100.50.1.22: Flags [F.], seq 1809, ack 1512, win 65535
SSH Desligado:
# tcpdump -n -i eth0 host 200.100.50.100 and port 22
IP 200.100.50.100.62946 > 200.100.50.1.22: Flags [S], seq 2848827145, win 65535, options
IP 200.100.50.1.22 > 200.100.50.100.62946: Flags [R.], seq 0, ack 2848827146, win 0, length 0
DNS Ativo
# tcpdump -n -i eth0 port 53
IP 200.100.50.100.57067 > 201.6.2.140.53: 61682+ A? google.com. (28)
IP 201.6.2.140.53 > 200.100.50.100.57067: 61682 11/4/4 A 74.125.234.68, A 74.125.234.72, A
74.125.234.78, A 74.125.234.73, A 74.125.234.66, A 74.125.234.67, A 74.125.234.64, A
74.125.234.71, A 74.125.234.65, A 74.125.234.70, A 74.125.234.69 (340)
DNS Desligado
# tcpdump -n -i eth0 port 53
IP 200.100.50.1.47619 > 66.118.142.41.53: 65307+ A? google.com. (28)
IP 66.118.142.41.53 > 200.100.50.1.47619: 65307 Refused- 0/0/0 (28)
Ping 4.2.2.2
# tcpdump -n -i eth0 icmp
16:01:44.190864 IP 200.100.50.100 > 4.2.2.2: ICMP echo request, id 2721, seq 1, length 64
16:01:44.334131 IP 4.2.2.2 > 200.100.50.100: ICMP echo reply, id 2721, seq 1, length 64
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Competências da Aula
Esta aula possui conteúdo que atende os objetivos das seguintes certificações:
LFCE
●
Setting up a Basic iptables Configuration
●
Configuring iptables NAT
●
Using Logging for iptables Troubleshooting
●
Configuring Port Forwarding in iptables
RHCE
●
Creating Services Files
●
Understanding Rich Firewall Rules
●
Configuring Rich Firewall Rules
●
Understanding NAT and Port Forwarding
●
Configuring NAT
●
Configuring Port Forwarding
●
Opening the Firewall for NTP Traffic
HandsON
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Competências da Aula
Esta aula possui conteúdo que atende os objetivos das seguintes certificações:
LFCE
●
Making the iptables Configuration Persistent
●
Using Logging for iptables Troubleshooting
HandsON
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Um bom Firewall é aquele que bloqueia tudo e libera somente o necessário, por isso as primeiras
providencias a tomar é bloquear tudo.
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
●
start – Chama todos os plugins com o argumento start, fazendo com que carreguem suas regras
no netfilter.
●
stop – Se a configuração FLUSH_ON_STOP estiver habilitada, chama todos os plug-ins com o
argumento flush, fazendo com que eles removam suas regras do netfilter. Caso contrário, apenas
emite um aviso.
●
flush – Chama todos os plug-ins com o argumento flush, fazendo com que eles removam suas
regras do netfilter.
●
save – Chama todos os plug-ins com o argumento save, fazendo com que eles salvem as regras
atualmente carregadas no armazenamento persistente.
Teste a limpeza das regras, pare o serviço iptables e liste as regras presentes:
# systemctl stop iptables
# iptables -L -v
Teste o carregamento das regras, inicie o serviço iptables e liste as regras presentes:
# systemctl start iptables
# iptables -L -v
Para terminar, ative o serviço iptables para carregar as regras na inicialização do sistema:
# systemctl enable iptables