Me gustaría saber cómo bloquear una IP para usar el servicio smtp en un servidor con firewall centos 7. Intento usar algo como esto:
firewall-cmd --permanent --zone="public" --add-rich-rule='rule family=ipv4 source address=[ipadress] --remove-service=smtp'
pero no es la sintaxis correcta
¿O debería bloquear los puertos TCP 25, 465 y 587?
Además, si alguien pudiera decirme cómo hacer esto automáticamente para obtener la IP de un archivo (si es posible), sería genial.
Respuesta1
La sintaxis correcta, como se describe en la firewalld.richlanguage(5)
página de manual, es:
# firewall-cmd --zone="FedoraWorkstation" \
--add-rich-rule='rule family=ipv4 source address=1.2.3.4 service name=smtp reject'
success
# iptables-save | grep 1.2.3.4
-A IN_FedoraWorkstation_deny -s 1.2.3.4/32 -p tcp -m tcp --dport 25 -m conntrack --ctstate NEW -j REJECT --reject-with icmp-port-unreachable
Tenga en cuenta que esto se aplica al tráfico entrante al puerto 25/tcp, como se describe en el archivo de servicio /usr/lib/firewalld/services/smtp.xml
:
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>Mail (SMTP)</short>
<description>This option allows incoming SMTP mail delivery. If you need to allow remote hosts to connect directly to your machine to deliver mail, enable this option. You do not need to enable this if you collect your mail from your ISP's server by POP3 or IMAP, or if you use a tool such as fetchmail. Note that an improperly configured SMTP server can allow remote machines to use your server to send spam.</description>
<port protocol="tcp" port="25"/>
</service>