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?

  • Come impedire alle persone di utilizzare il mio dominio per submit lo spam?
  • Comprensione di log di messaggi in output exim4. Sono uno spammer?
  • Microsoft sta bloccando la posta da tutto il netblock. L'ISP non sa cosa fare?
  • SPF "include:" MX rimane come MX del dominio incluso, o si tradurrà al MX di includer?
  • Come interrompere lo spamming del backscatter rendendo inutilizzabile l'email sul mio dominio?
  • Come fare sendmail accettare le connessioni solo da localhost
  • Devo lasciare che il rimbalzo di posta elettronica sia inviato ad un black-hole?
  • Come segnalare Gmail, Hotmail, ecc., Che sei un sito legittimo che invia un sacco di notifica agli utenti
  • 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.