Nos sistemas Linux, existem muitos serviços que são integrados ao Kernel e se tornam parte do próprio sistema operacional, ajudando a otimizar esse sistema sem nenhum limite . A principal preocupação do usuário que começa a ser introduzida nos sistemas Linux é a segurança e a maneira de tratá-lo , e que nesses sistemas não existem muitas possibilidades de se ter um software antivírus , pois o catálogo é realmente escasso.
Que opções eu tenho para me proteger?
O fato de não haver muitas opções de segurança deve-se, em grande parte, ao fato de o Linux já possuir uma das melhores (ou melhores) medidas de segurança, o iptables . Esse serviço é um firewall poderoso que já é predefinido e que, juntamente com os serviços IPtables, ip6tables, ebtables, arptables e ipset, fazem parte de um projeto chamado netfilter .
Como o iptables funciona?
O Iptables já está integrado ao sistema, portanto, não é um serviço que inicia ou para, as regras são simplesmente configuradas e uma série de políticas de segurança é aplicada. Para isso , executamos o comando iptables que nos permitirá adicionar, excluir ou editar . No caso de ter que instalá-lo, isso seria feito através de um terminal com a sintaxe:
sudo apt-get install iptables
A operação do iptables é simples, pois o que ele faz é verificar se o pacote é destinado à mesma máquina ou se é destinado a outra máquina .
Tipos de regras
Como mencionei, o iptables é baseado na aplicação de uma série de regras organizadas em 3 grupos, chamados INPUT , OUTPUT e FORWARD . No primeiro e no segundo grupo de regras (INPUT e OUTPUT), os pacotes direcionados para a máquina estão localizados enquanto os pacotes direcionados para outras máquinas são filtrados, graças à regra FORWARD .
Há um tipo adicional de regra usada para aplicar endereços ou alterações de porta nos IPs de origem e de destino e são chamados de regras de conversão de endereço de rede ou NAT .
Como aplicamos as regras?
A primeira coisa a ter em mente é que qualquer configuração que permita editar nossas regras do iptables é introduzida através do console do terminal do nosso sistema . As regras são agrupadas em cadeias , representadas no terminal com -A, seguidas pela cadeia, é definida a operação a ser executada e as interfaces de rede com as quais a regra lidará. Um exemplo da sintaxe a ser aplicada seria:
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
Este exemplo aceita o encaminhamento de todos os pacotes que entram pela interface eth1 (-i = interface de entrada) e saem pela interface eth0 (-o = interface de saída) ; com a opção -j, indicamos a regra de destino do tráfego que aplicaremos (DROP , ACCEPT ou REJECT) .
Poderíamos dar outra reviravolta nessa regra se adicionarmos o tipo e o número da porta a ser regulada, para isso usaríamos a opção -py -dport, para que com -p indique o tipo de porta (TCP ou UDP) e com –dport (porta de destino) o número da porta .
Operações ou regras que podemos aplicar
Na lista a seguir, encontramos todas as operações ou regras de destino de tráfego que podemos aplicar ao arquivo iptables :
- ACEITAR : Aceite a solicitação.
- GOTA : Rejeite a solicitação.
- REJEITAR : Rejeita a solicitação e notifica o emissor dessa solicitação sobre sua rejeição.
- FILA : Digite o pacote em uma fila dentro da biblioteca libipq .
- DEVOLUÇÃO : A embalagem retorna à sua origem e para de circular na corrente.
- LOG : cria um registro dos pacotes que circulam pela cadeia.
- DNAT : modifique o endereço de destino (NAT de destino) e sua porta.
- SNAT : modifique o endereço de origem (NAT de origem) e sua porta.
- MASQUERADE : Esta operação é uma das mais utilizadas, é uma forma especial de SNAT e permite mais restrições.
Depois de toda a teoria, um exemplo usual
Neste momento, estaremos ansiosos para ver como podemos aplicar essas políticas. Por exemplo, uma regra muito comum seria negar o serviço de transferência de arquivos de entrada (FTP) , para isso, devemos executar o seguinte:
sudo iptables -A INPUT -i eth1 -p tcp --dport 21 -j DROP
Com isso, o que fazemos é que, dentro da série de regras de entrada (INPUT) , negamos (DROP) o tráfego de entrada pela interface eth1 e pela porta tcp number 21, que é a que utiliza o serviço FTP padrão .
Em resumo, o serviço iptables nos permite fazer quase todos os tipos de limitações de segurança em nossa rede e é por isso que é um dos serviços fundamentais dos sistemas Linux e que todo bom computador deve aprender a usar.