Em um servidor web do CentOS 7 que precisa permanecer totalmente fechado ao público, eu preciso bloquear todos os endereços IP e só permitir que endereços IP especificados acessem serviços especificados. Como posso configurar o Firewalld para realizar isso?
Eu leio esta outra postagem , mas ela não parece abordar meu caso de uso porque fala principalmente de dar acesso geral a endereços IP específicos em vez de dar diferentes tipos de acesso a diferentes endereços IP. A outra postagem não aborda a questão do email. Além disso, o outro lançamento parece assumir usando o modo de bloqueio. Minha pergunta pergunta se deve ou não usar o modo de bloqueio para este caso de uso.
Quatro serviços precisam estar habilitados no servidor.
1.) ssh access only to one administrator at either of 2 ip addresses
2.) https access only to 30 ip addresses of users, including administrator
3.) encrypted emails:
sent to the 30 users who have https access
sent to and received from another list of known email addresses
4.) encrypted ftp upload from another list of known ip addresses
Todos os outros acessos de entrada e saída precisam ser bloqueados.
Preciso definir Lockdown=yes
para realizar isso?
Além disso, adiciono cada usuário da seguinte maneira:
rule family="ipv4" source address="192.168.0.0" service name="tftp" log prefix="tftp" level="info" limit value="1/m" accept
rule family="ipv4" source address="192.235.89.45" service name="https" accept
rule family="ipv4" source address="192.235.89.45" service name="ssh" accept
rule family="ipv4" source address="192.987.376.97" service name="https" accept
Atualmente, firewall-cmd --list-all
retorna o seguinte:
public (default, active)
interfaces: enp3s0
sources:
services: dhcpv6-client https ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules: