IPTables é o nome de um sistema de firewall que opera através da linha de comando no Linux. Este programa está disponível principalmente como um utilitário padrão em Ubuntu. Os administradores geralmente usam o firewall do IPTables para permitir ou bloquear o tráfego em suas redes. Se você é novo no IPTables, uma das primeiras coisas a fazer é atualizá-lo ou instalá-lo usando o seguinte comando:
$ sudo apt-get install iptables
Enquanto os usuários que são novos nas interfaces de linha de comando descobrem que há uma curva de aprendizado anexada ao IPTables, o próprio utilitário é simples de usar. Há uma variedade de comandos principais que atuam como pão e manteiga para controlar o tráfego. Dito isto, você precisa ter muito cuidado ao fazer alterações nas regras do IPTables. Digitar o comando errado pode bloquear totalmente o IPTables até que você resolva o problema na máquina física.
Neste artigo, forneceremos um guia básico do IPTables e apresentaremos os fundamentos. Antes de chegarmos ao coração do IPTables, você precisa ter certeza de que possui um VPA executando o Ubuntu 16.04 e um máquina local com um cliente SSH. Se você já tem esses, é hora de começar.
Tutorial do IPTables: Correntes
Um dos conceitos fundamentais a serem enfrentados no IPTables é o de cadeias. Uma cadeia é essencialmente uma regra. As tabelas do filtro têm três cadeias que você encontrará no IPTables; ENTRADA, FRENTE e RESULTADO.
- ENTRADA – A cadeia INPUT é a regra que controla os pacotes recebidos. Aqui você pode bloquear ou permitir novas conexões. Você pode fazer isso com base na porta, protocolo e endereço IP de origem.
- FRENTE – A cadeia FORWARD filtra os pacotes recebidos que estão sendo encaminhados para um local final diferente. É improvável que você use essa cadeia, a menos que esteja encaminhando ou procurando encaminhar especificamente.
- RESULTADO – A cadeia OUTPUT é usada para gerenciar pacotes e conexões de saída. É importante observar que, se você executar ping em um host externo, a cadeia de entrada será usada para retornar os dados para você.
Comportamento padrão da cadeia
Você pode começar a configurar regras específicas ao iniciar, mas precisa dar um passo atrás para definir o comportamento padrão primeiro. Para identificar qual é o comportamento padrão de suas cadeias, você precisará executar o comando:
Comando $ sudo iptables -L
Isso mostrará o seguinte:
user @ ubuntu: ~ $ sudo iptables -L -v
ENTRADA em cadeia (política ACEITAR)
Cadeia FORWARD (política ACEITAR)
SAÍDA da cadeia (política ACEITAR)
user @ ubuntu: ~ $
Esta informação informa exatamente o que suas cadeias estão configuradas para fazer. No exemplo, as cadeias de entrada, encaminhamento e saída foram configuradas para aceitar tráfego. Essas configurações são um bom ponto de partida, pois não bloqueiam nenhuma conexão que você possa desejar.
No entanto, se você achar que suas políticas não estão aceitando conexões, insira cada um dos seguintes comandos para aceitar todas as conexões:
$ sudo iptables – política INPUT ACCEPT$ sudo iptables – política OUTPUT ACCEPT$ sudo iptables – política ACEITA FORWARD
Depois que seus padrões estiverem alinhados para aceitar todas as conexões, você poderá controlar o acesso ao IPTables bloqueando endereços IP e números de porta. Isso permite especificar quais conexões você deseja bloquear, em vez de bloquear tudo por padrão.
Se você estiver trabalhando com informações particularmente confidenciais, poderá configurar seus padrões para bloquear automaticamente todas as conexões. Dessa forma, você pode usar o IPTables para escolher endereços IP individuais que deseja permitir. Para fazer isso, você precisa inserir o seguinte comando:
$ sudo iptables – política INPUT DROP$ sudo iptables – política OUTPUT DROP$ sudo iptables – política FORWARD DROP
A maioria dos usuários aceitará melhor todas as conexões, mas vale lembrar que você está trabalhando em um servidor de alta segurança.
Configurando conexões individuais
Depois de configurar seu comportamento padrão da cadeia, é hora de configurar conexões individuais. Este é o ponto em que você configura o que é referido como uma resposta específica da conexão. Isso basicamente diz ao IPTables como interagir quando conectado a um endereço ou porta IP. Essas respostas são as seguintes; ACEITAR, SOLTA, REJEITAR.
Como você pode ver na imagem acima, o usuário definiu regras de cadeia para permitir, eliminar ou rejeitar a conexão com base nos requisitos. Abaixo está uma descrição do que cada resposta implica:
- ACEITAR – Essa configuração simplesmente permite que a conexão ocorra.
- SOLTA – Drop bloqueia a conexão sem interagir com a fonte de forma alguma.
- REJEITAR – Isso bloqueia a tentativa de conexão, mas também envia uma mensagem de erro. Geralmente, isso é para notificar a fonte de que a tentativa de conexão foi bloqueada pelo seu firewall..
Como permitir ou bloquear conexões
Existem várias maneiras diferentes de bloquear ou permitir conexões, dependendo das suas configurações. Os exemplos abaixo estão usando o método de bloqueio secreto de usar Solta descartar conexões sem nenhuma interação. iptables -A permite adicionar advertências adicionais às regras estabelecidas por nossas configurações de cadeia padrão. Você vê como usar este comando para bloquear conexões abaixo:
Bloqueando um único endereço IP:
$ sudo iptables -A INPUT -S 10.10.10.10 -j DROP
No exemplo acima, você substitui 10.10.10.10 pelo endereço IP que deseja bloquear.
Bloqueando um intervalo de endereços IP:
$ sudo iptables -A INPUT -s 10.10.10.10.0 / 24 -j DROP
ou
$ sudo iptables -A INPUT -s 10.10.10.0/255.255.255/.0 -j DROP
Bloqueando uma única porta:
$ sudo iptables -A INPUT -p tcp –dport ssh -s 10.10.10.10 -j DROP
Observe que o sh ssh pode ser substituído por qualquer número de protocolo ou porta. Também é importante observar que o segmento -p tcp do código é usado para se referir se o protocolo que você deseja bloquear está usando UDP ou TCP.
Se o protocolo estiver usando UDP, você deverá inserir -p udp ao invés de -p tcp. Você também pode bloquear todas as conexões dos endereços IP digitando o seguinte comando:
$ sudo iptables -A INPUT -p tcp —dport ssh -jDROP
Comunicação bidirecional: Estados da conexão Tutorial do IPTables
A maioria dos protocolos que você encontra requer comunicação para os dois lados, para que a transferência ocorra. Isso significa que as transferências são compostas de uma entrada e uma saída. O que entra no seu sistema é tão importante quanto o que sai. Os estados de conexão permitem misturar e combinar entre conexões bidirecionais e unidirecionais. No exemplo abaixo, o protocolo SSH bloqueou as conexões SSH do endereço IP, mas permite outras no endereço IP:
$ sudo iptables -A INPUT -p tcp —dport ssh -s 10.10.10.10 -m state —state NOVO, ESTABELECIDO -j ACEITO
$ sudo iptables -A OUTPUT -p tcp – esporte 22 -d 10.10.10.10. -m state – ESTABELECIDO ESTABELECIDO -J ACEITA
Depois de inserir um comando para alterar os estados da conexão, você precisa salvar as alterações. Caso contrário, quando você fechar o utilitário, sua configuração será perdida. Dependendo do sistema de distribuição que você está usando, há vários comandos diferentes que você pode usar:
Ubuntu:
$ sudo / sbin / iptables-save
Red Hat / CentOS –
$ sudo / sbin / service iptables save
OU
$ sudo /etc/init.d/iptables save
Lembrar-se de usar esses comandos é vital, pois eliminará o incômodo de ter que configurar cada vez que você carregar o utilitário.
Excluindo uma regra
Tão importante quanto poder salvar suas regras é excluí-las. Se você cometer um erro ou simplesmente quiser eliminar uma regra antiga, poderá usar a opção –D comando. Este comando precisa ser combinado com o número da regra que você digita. O número informa ao IPTables qual regra deve ser excluída. Por exemplo, se você digitar:
$ sudo iptables -D ENTRADA 10
Em seguida, a décima regra que você configurou será excluída.
Se você quiser limpar a casa e remover uma série de regras, poderá usar o -Comando F. Você pode fazer isso digitando o seguinte:
$ sudo iptables -F
Isso limpará todo o conjunto de regras e liberará seu IPTable.
IPTables: Aprenda regras da cadeia!
Isso conclui o tutorial do IPTables. Como você pode ver, o IPTables é uma ferramenta versátil para bloquear e permitir o tráfego em Linux distribuições. O uso eficaz do utilitário envolve a configuração eficaz de suas configurações padrão e a criação de regras adicionais. As configurações padrão permitirão descrever suas amplas intenções de tráfego para permitir ou negar tráfego; as regras permitirão estruturar sua abordagem com relação a endereços IP, portas e protocolos.
Nós apenas arranhamos a superfície com o potencial do IPTables e há vários comandos diferentes que você pode usar para decidir como você experimenta o tráfego no seu servidor. No entanto, recomendamos que você compreenda o básico antes de começar com outros comandos. Por exemplo, você deve ter em mente as regras básicas das cadeias antes de se comprometer com algo mais especializado.
Depois de se acostumar com o funcionamento do IPTables, você poderá começar a incorporar ainda mais regras para personalizar sua experiência. Ao fazer isso, você poderá especificar exatamente que tipo de conexões você permitirá com muito mais precisão do que nunca.
IPTables es un sistema de firewall que opera a través de la línea de comando en Linux. Este programa está disponible principalmente como un utilitario estándar en Ubuntu. Los administradores suelen utilizar el firewall de IPTables para permitir o bloquear el tráfico en sus redes. Si eres nuevo en IPTables, una de las primeras cosas que debes hacer es actualizarlo o instalarlo utilizando el siguiente comando: $ sudo apt-get install iptables. Aunque los usuarios que son nuevos en las interfaces de línea de comando descubren que hay una curva de aprendizaje adjunta a IPTables, el propio utilitario es fácil de usar. Hay una variedad de comandos principales que actúan como pan y mantequilla para controlar el tráfico. Dicho esto, debes tener mucho cuidado al hacer cambios en las reglas de IPTables. Escribir el comando incorrecto puede bloquear totalmente IPTables hasta que resuelvas el problema en la máquina física. En este artículo, proporcionaremos una guía básica de IPTables y presentaremos los fundamentos. Antes de llegar al corazón de IPTables, debes asegurarte de que tienes una VPA ejecutando Ubuntu 16.04 y una máquina local con un cliente SSH. Si ya tienes estos, es hora de empezar.