Pular para o conteúdo principal

Iptables - Conceito e aplicação

Firewall Iptables


O firewall Iptables é instalado por padrão no Ubuntu Linux. Sua configuração default permite todo e qualquer tráfego,  o tornando ineficaz.

O objetivo deste tutorial é ensinar os comandos básicos do Iptables, mas, de modo a proporcionar uma configuração satisfatória dos Serviços. 

 

Log no Terminal como Administrador


Sudo –s
Senha root
Em seguida digite o comando:
sudo iptables –L

Lembre-se que o Linux faz reconhecimento entre maiúscula e minúscula, (L). Este comando irá mostrar as regras em funcionamento no Iptables. Caso a instalação do sistema seja padrão, você verá a seguinte informação:


Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Agora Permita as Sessões Estabelecidas



Com o comando a seguir, permitimos que todas as sessões estabelecidas recebam tráfego:

# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

 

Liberando Tráfego de Entrada em Portas Específicas



O próximo passo (deve) ser permitirmos SSH antes de aplicarmos qualquer tipo de bloqueio.
Como é do conhecimento de qualquer técnico Linux (tradicionalmente o SSH usa a porta 22). Então podemos dizer ao Iptables para permitir todo tráfego TCP na porta 22 do adaptador de rede com o comando:

# iptables -A INPUT -p tcp -i eth0 --dport ssh -j ACCEPT

Agora liste o Iptables para ver se as regras implantadas foram aplicadas corretamente:
Nas primeiras linhas, que é o exemplo que uso aqui, será mostrado algo semelhante a:


# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh

O próximo passo será liberarmos todo o tráfego da web:

# iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT
Analisando novamente as regras temos algo como:


# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www

Permitimos o tráfego TCP ao SSH e portas WEB, mas como não bloqueamos nada, todo o tráfego continua chegando.

 

Bloqueando Tráfego



Como nossas regras permitindo SSH e tráfego WEB vêm primeiro, e como nossa regra para bloquear todo o tráfego vêm depois delas, nós podemos permanecer aceitando o tráfego que queremos.
Tudo que precisamos fazer é colocar a regra para bloquear todo o tráfego no fim. O comando -A diz ao Iptables para adicionar a regra no final, então nós usaremos isso outra vez.


# iptables -A INPUT -j DROP
# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www
DROP       all  --  anywhere             anywhere

Por não especificarmos uma interface ou protocolo, qualquer tráfego de qualquer porta em qualquer interface está bloqueado, exceto para a WEB e SSH.

Comentários

Postagens mais visitadas deste blog

O LINUX E A CONTEMPORANEIDADE

A contemporaneidade, ou seja, o período imediato à Revolução Francesa (1789), até os nossos dias, é marcada por muitos eventos historicamente impactantes na sociedade mundial (PINTO, 2023). Evidentemente, dentre esses acontecimentos, encontram-se os avanços da informática e decorrentes impactos da Internet das Coisas (IOT) no chão de fábrica e sociedade, em geral. O desenvolvimento do serviço de Cloud, das plataformas de engenharia, bem como que dos Controladores Lógicos Programáveis (CLPs), elevaram a automatização de serviços para um patamar que, na pratica, pode-se dizer ser disruptivo (INSTRUSUL, 2021). Em referida encruzilhada, deparamo-nos com pensadores tais como, Yuval Noah Harari, que nos proporciona questionamentos plausíveis em relação às profundas modificações sociais passíveis pelo uso de referidas tecnologias, mandos e desmandos possibilitados pelas mesmas, quando em mãos erradas ou usadas para objetivos escusos (SANTAELLA, 2021). Porém, nota-se o mesmo desenvolvimento e

INICIANTES LINUX - OTIMIZAÇÃO DO TEMPO - LONG TERM SUPPORT (LTS)

O tempo torna-se escasso para todas as pessoas.  Principalmente, àqueles que levam uma vida comprometida com o desenvolvimento pessoal e com demais afazeres, são os que lidam de forma constante com o dilema da otimização do tempo. Devido a isso, cabe uma orientação importante aos que iniciaram sua carreira Linux : tenham " foco ".