Accedi con iptables quale utente sta inviando email a port 25

Poiché abbiamo ottenuto la list nera su CBL, ho impostato le seguenti regole del firewall con iptables:

#!/bin/bash iptables -A OUTPUT -d 127.0.0.1 -p tcp -m tcp --dport 25 -j ACCEPT iptables -A OUTPUT -p tcp -m tcp --dport 25 -m owner --gid-owner mail -j ACCEPT iptables -A OUTPUT -p tcp -m tcp --dport 25 -m owner --uid-owner root -j ACCEPT iptables -A OUTPUT -p tcp -m tcp --dport 25 -m owner --uid-owner Debian-exim -j ACCEPT iptables -A OUTPUT -p tcp -m limit --limit 15/minute -m tcp --dport 25 -j LOG --log-prefix "LOCAL_DROPPED_SPAM" iptables -A OUTPUT -p tcp -m tcp --dport 25 -j REJECT --reject-with icmp-port-unreachable 

Non riesco a connettersi alla port 25 da localhost con un altro utente della radice o di un membro del gruppo di posta -> Così sembra funzionare.

Ancora alcune domande rimangono:

  • Quanto è efficace valutare questa regola impostata per impedire lo spam proveniente da errori PHP-Script ospitati sul server?
  • C'è un modo per bloccare la port 25 e 587 all'interno della stessa dichiarazione?
  • L'utilizzo di /usr/sbin/sendmail anche limitato o bloccato da questo set di regole?
  • C'è un modo per registrare il nome utente di tutti gli altri tentativi che provano a consegnare roba alla port 25?

One Solution collect form web for “Accedi con iptables quale utente sta inviando email a port 25”

Sarebbe probabilmente meglio avere la politica per la tabella OUTPUT impostata su DROP e quindi per aprire esplicitamente le porte pertinenti ecc. Ma questo sarà molto specifico per il tuo ambiente così è un esercizio per il OP.

È ansible utilizzare -m multiport per abbinare fino a 15 porte, ad esempio

 iptables -A OUTPUT -p tcp -m multiport --dports 25,587 -m owner --gid-owner mail -j ACCEPT 

per consentire alla posta di gruppo di submit su entrambe le porte o

È ansible registrare nuove connessioni in output come questa

 iptables -A OUTPUT -p tcp -m multiport --dports 25,587 -m state --state NEW -j LOG --log-uid --log-prefix "LOCAL_DROPPED_SPAM " 

e si ottiene un messaggio come questo

Nov 11 12:52:26 kernel hostname: LOCAL_DROPPED_SPAM IN = OUT = eth0 SRC = 192.168.254.181 DST = 192.168.254.187 LEN = 60 TOS = 0x10 PREC = 0x00 TTL = 64 ID = 53476 DF PROTO = TCP SPT = 49893 DPT = 25 WINDOW = 14600 RES = 0x00 SYN URGP = 0 UID = 1000 GID = 1000

 iptables -A OUTPUT -p tcp -m multiport --dports 25,587 -j DROP 

per eliminare definitivamente tutte le connessioni in output su entrambe le porte.

Ricorda che le azioni di iptables regole nell'ordine in cui sono nella tabella e la prima partita vince così

  • Inserisci prima le tue regole
  • Segui questo con le regole LOG
  • Poi DROP
Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.