RHCSA Series Firewall Essentials e Controle de tráfego de rede usando firewalld e iptables - Parte 11
- 1772
- 518
- Mr. Mitchell Hansen
Em palavras simples, um firewall é um sistema de segurança que controla o tráfego de entrada e saída em uma rede com base em um conjunto de regras predefinidas (como o destino / fonte de pacotes ou o tipo de tráfego, por exemplo).
RHCSA: controle de rede de controle com firewalld e iptables - Parte 11Neste artigo, revisaremos o básico de Firewalld, o daemon de firewall dinâmico padrão em Red Hat Enterprise Linux 7, e iptables Serviço, o serviço de firewall herdado para Linux, com o qual a maioria dos administradores de sistemas e redes está bem familiarizada e que também está disponível em RHEL 7.
Uma comparação entre firewalld e iptables
Sob o capô, ambos Firewalld e a iptables Fale com o serviço com o Netfilter estrutura no kernel através da mesma interface, não surpreendentemente, o comando iptables. No entanto, em oposição ao serviço iptables, o firewalld pode alterar as configurações durante a operação normal do sistema sem que as conexões existentes sejam perdidas.
Firewalld deve ser instalado por padrão no seu sistema RHEL, embora possa não estar funcionando. Você pode verificar com os seguintes comandos (Firewall-Config é a ferramenta de configuração da interface do usuário):
# yum info firewalld firewall-configVerifique as informações do Firewalld
e,
# status do SystemCtl -l Firewalld.serviçoVerifique o status do firewalld
Por outro lado, o iptables O serviço não está incluído por padrão, mas pode ser instalado por meio de.
# yum update && yum install iptables services
Ambos os daemons podem ser iniciados e habilitados para iniciar a inicialização com o habitual Systemd comandos:
# SystemCtl Start Firewalld.serviço | Iptables-Service.Serviço # SystemCtl Ativar firewalld.serviço | Iptables-Service.serviço
Leia também: Comandos úteis para gerenciar serviços Systemd
Quanto aos arquivos de configuração, o serviço iptables usa /etc/sysconfig/iptables
(que não existirá se o pacote não estiver instalado em seu sistema). Em uma caixa RHEL 7 usada como um nó de cluster, este arquivo parece a seguir:
Enquanto o Firewalld armazena sua configuração em dois diretórios, /usr/lib/firewalld
e /etc/firewalld
:
# ls/usr/lib/firewalld/etc/firewalldConfiguração do firewalld
Examinaremos esses arquivos de configuração mais adiante neste artigo, depois de adicionar algumas regras aqui e ali. Até agora, será suficiente lembrá -lo de que você sempre pode encontrar mais informações sobre as duas ferramentas com.
# Man Firewalld.Conf # Man Firewall-CMD # Man iptables
Fora isso, lembre -se de dar uma olhada na revisão de comandos essenciais e documentação do sistema - parte 1 da série atual, onde descrevi várias fontes onde você pode obter informações sobre os pacotes instalados em seu RHEL 7 sistema.
Usando iptables para controlar o tráfego da rede
Você pode querer se referir para configurar o firewall iptables - parte 8 do Engenheiro Certificado da Fundação Linux (LFCE) Série para refrescar sua memória sobre iptables internos antes de prosseguir. Assim, poderemos pular diretamente nos exemplos.
Exemplo 1: Permitir o tráfego da Web de entrada e saída
Portas TCP 80 e 443 são as portas padrão usadas pelo Apache Web Server para lidar com o normal (Http) e seguro (Https) Tráfego da Web. Você pode permitir o tráfego da Web de entrada e saída através de ambas as portas no ENP0S3 Interface da seguinte maneira:
# iptables -a input -i enp0s3 -p tcp - -dport 80 -m State -estado novo, estabelecido -j aceita # iptables -a saída -O enp0s3 -p tcp - -sport 80 -m estado -estado estabelecido - J Aceitar # iptables -a entrada -i enp0s3 -p tcp - -dport 443 -m estado -estado novo, estabelecido -j aceita # iptables -a output -o enp0s3 -p tcp -sport 443 -m state -state Estabelecido -j aceitar
Exemplo 2: Bloqueie todos (ou algumas) conexões de entrada de uma rede específica
Pode haver momentos em que você precisa bloquear todos (ou algum) tipo de tráfego originário de uma rede específica, digamos 192.168.1.0/24 por exemplo:
# iptables -i entrada -s 192.168.1.0/24 -J Drop
soltará todos os pacotes vindos do 192.168.1.0/24 rede, enquanto que,
# iptables -a entrada -s 192.168.1.0/24 -Dport 22 -j Aceitar
só permitirá o tráfego de entrada através da porta 22.
Exemplo 3: Redirecionar o tráfego de entrada para outro destino
Se você usar o seu RHEL 7 Caixa não apenas como um firewall de software, mas também como o real baseado em hardware, para que fique entre duas redes distintas, o encaminhamento de IP deve ter sido ativado em seu sistema. Caso contrário, você precisa editar /etc/sysctl.conf
e definir o valor de líquido.IPv4.ip_forward para 1, do seguinte modo:
líquido.IPv4.ip_forward = 1
Em seguida, salve a alteração, feche seu editor de texto e finalmente execute o seguinte comando para aplicar a alteração:
# sysctl -p /etc /sysctl.conf
Por exemplo, você pode ter uma impressora instalada em uma caixa interna com IP 192.168.0.10, com o Xícaras serviço de serviço no porto 631 (tanto no servidor de impressão quanto no seu firewall). Para encaminhar solicitações de impressão de clientes do outro lado do firewall, você deve adicionar a seguinte regra iptables:
# iptables -t nat -a pré -excluindo -i enp0s3 -p tcp - -dport 631 -j dnat -para 192.168.0.10: 631
Por favor, lembre -se disso iptables lê suas regras sequencialmente, portanto, verifique se as políticas padrão ou regras posteriores não substituem as descritas nos exemplos acima.
Introdução ao firewalld
Uma das mudanças introduzidas com Firewalld são zonas. Esse conceito permite separar redes em diferentes zonas de confiança que o usuário decidiu colocar nos dispositivos e tráfego nessa rede.
Para listar as zonas ativas:
# firewall-cmd-get-attive-zonas
No exemplo abaixo, o zona pública é ativo e o ENP0S3 A interface foi atribuída automaticamente. Para ver todas as informações sobre uma zona específica:
# firewall-cmd-zone = public-list-allListe todas as zonas de firewalld
Já que você pode ler mais sobre zonas No Guia de Segurança Rhel 7, listaremos apenas alguns exemplos específicos aqui.
Exemplo 4: Permitir serviços através do firewall
Para obter uma lista dos serviços suportados, use.
# Firewall-CMD-Get-ServicesListe todos os serviços suportados
Permitir http e https Tráfego na Web através do firewall, efetivo imediatamente e em botas subsequentes:
# firewall-cmd-zone = myZone --add-service = http # firewall-cmd-zone = myZone --permanent --add-service = http # firewall-cmd-zone = myZone --Add-service = https # firewall-cmd-zone = myZone --permanent --add-service = https # firewall-cmd--reload
Se código>-zona é omitido, a zona padrão (você pode verificar com Firewall-CMD -Get-Default-Zone) é usado.
Para remover a regra, substitua a palavra add pelo Remover nos comandos acima.
Exemplo 5: Encaminhamento de IP / Porta
Primeiro, você precisa descobrir se está ativado para a zona desejada:
# firewall-cmd-zone = myZone --Query-massqueada
Na imagem abaixo, podemos ver que mascarada está ativado para o zona externa, mas não para público:
Verifique o status de disfarceVocê pode ativar a disfarce para o público:
# firewall-cmd-zone = public --Add-masmerade
ou use disfarçado em externo. Aqui está o que faríamos para replicar Exemplo 3 com Firewalld:
# firewall-cmd-zone = externo --add-forward-port = porta = 631: proto = tcp: toport = 631: toaddr = 192.168.0.10
E não se esqueça de recarregar o firewall.
Você pode encontrar mais exemplos na Parte 9 da série RHCSA, onde explicamos como permitir ou desativar as portas que geralmente são usadas por um servidor da Web e um servidor FTP e como alterar a regra correspondente quando a porta padrão para esses serviços são alterados. Além disso, você pode querer consultar o Wiki do Firewalld para mais exemplos.
Leia também: Exemplos úteis de firewalld para configurar o firewall no rhel 7
Conclusão
Neste artigo, explicamos o que um firewall é, quais são os serviços disponíveis para implementar um em RHEL 7, e forneceu alguns exemplos que podem ajudá -lo a começar com esta tarefa. Se você tiver algum comentário, sugestões ou perguntas, fique à vontade para nos informar usando o formulário abaixo. Agradeço antecipadamente!
- « A série RHCSA automatiza as instalações do RHEL 7 usando o 'Kickstart' - Parte 12
- Painel da Web do CENTOS-Painel de controle de hospedagem gratuita do All-in-One »