Configuração de zona do Firewalld do CentOS 7 para aplicação web privada

0

Eu li todas as páginas man relacionadas a firewalld e também explorei todos os arquivos que vêm pré-instalados em firewalld antes de serem configurados. Como posso configurar o zones do firewall para fornecer segurança máxima para um private web application ?

Este é o caso de uso:

1.) Twenty known users will have http/https access to the web  
    application from specific machines.  
2.) One administrator will have remote ssh login access.
3.) The app will send and receive SSL email with the 20 users, the 
    administrator, and with a known group of other users that will 
    change over time and that will be defined by the users through 
    the web application.
4.) The app includes a database, a war file, and uses various services.  
5.) All usage not described in steps 1 through 4 will be blocked.  

Meu entendimento é que preciso adicionar interfaces a uma ou mais zonas e adicionar serviços às zonas que possuem interfaces. Eu também vejo que posso adicionar endereços IP de origem a zonas. Também vejo que posso usar regras avançadas para definir as configurações. Mas eu nunca configurei um firewall antes. Alguém pode me mostrar como traduzir o caso de uso acima em zonas / interfaces / serviços / fontes específicas em firewalld em um servidor web CentOS 7 remoto?

Além disso, /etc/firewalld/firewalld.conf diz que default zone é public . Qual deve ser o default zone ?

    
por CodeMed 09.12.2014 / 01:29

1 resposta

4

Você também deve conferir esta página no Wiki do Fedora. Eu acho que você vai querer usar a zona de soltar porque é a maneira mais estrita.

  • crie uma regra avançada para que você possa se conectar do seu ip para a porta 22 (ou sua porta ssh diferente) com firewall-cmd ---permanent -zone=home --add-forward-port=port=22:proto=tcp:toaddr=xxx.xxx.xxx.xxx e permitir seu próprio endereço IP com a próxima etapa
  • firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="xxx.xxx.xxx.xxx" allow' para todos os endereços IP
  • adicione o serviço http, https e assim por diante (isso é para todos os usuários agora) com firewall-cmd --permanent --zone=drop --add-service=<service>
  • execute firewall-cmd --reload para aplicar essas regras permanentes
  • mude sua interface para soltar com firewall-cmd --zone=drop --add-interface=<interface> , você pode ter que removê-la da zona anterior (verifique com firewall-cmd --list-all-zones se firewalld permitir que uma interface esteja em várias zonas que eu não conheço
  • se você não perder seu acesso ssh, tudo deve funcionar e você terá que executar o último comando novamente, mas agora com a opção --permanent.

Mas como você deseja permitir o acesso de uma lista específica de usuários em seu aplicativo da web? Claro que a configuração que eu expliquei também só funciona se todo usuário tiver um endereço IP estático.

EDITAR: Aqui está uma pequena explicação sobre o conceito de zonas. Esse recurso, na verdade, não é tão útil para servidores, mas um exemplo melhor são os notebooks. Você pode querer compartilhar automaticamente sua música via dlna quando estiver em casa. Nesse caso, você abrirá a porta dlna na home zone e configurará o NetworkManager para que ele alterne sua zona de firewall para home, se você estiver em sua rede WiFi doméstica ou Ethernet. No entanto, a zona padrão deve ser public , porque se você entrar em um hotspot público Wi-Fi, você automaticamente regras diferentes para redes públicas onde este compartilhamento não deve ser ativado. Se você quiser acessar um servidor doméstico via ssh de fora de sua rede doméstica, por exemplo, você não usaria regras de firewall, mas outras tecnologias de segurança, o firewall deveria ser configurado em 'público' e permitir conexões de todos os lugares por padrão na porta ssh. Para proteger esse acesso ssh altamente atacável, você precisa configurá-lo para usar apenas a autenticação de certificado de cliente e um programa chamado fail2ban, que reconhece e bloqueia ataques de força bruta porque seu ip muda ao viajar. Os servidores da Web também possuem recursos específicos para restringir o acesso, por exemplo.

    
por 09.01.2015 / 00:04