- root@server / # host 149.20.4.69
- 69.64-27.4.20.149.in-addr.arpa domain name pointer pub2.kernel.org.
SPF dla Twojej domeny (rekord DNS TXT)
SPF to system sprawdzania poczty e-mail zaprojektowany w celu zapobiegania spamowi e-mailowemu przez wykrywanie podszywania się pod kątem wiadomości e-mail, wspólnej luki, poprzez weryfikowanie adresów IP nadawców.
Aby skonfigurować spf, musisz dodać rekord TXT do swojej strefy dns, ale najpierw możesz wygenerować swój rekord tutaj: http://www.mailradar.com/spf/
Skopiuj wynik SPF, następnie przejdź do ISPConfig -> dns -> stref -> kliknij swoją nazwę domeny -> kliknij zakładkę records -> i kliknij TXT
Nazwa hosta -> example.com. (z kropką na końcu!)
Tekst -> Wklej tutaj wynik spf (bez „”).
Przykład :
- v=spf1 a mx ptr ip4:11.222.333.444 -all …i kliknij zapisz
Pamiętaj, że dns musi propagować zmiany.
Dodajmy / zmieńmy coś do /etc/postfix/main.cf
Ograniczenia Helo:
- smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname
- Jan 12 01:57:08 server postfix/smtpd[4687]: NOQUEUE: reject: RCPT from unknown[186.43.77.153]: 450 4.7.1 Client host rejected: cannot find your hostname, [186.43.77.153]; from=
<pamela_nathan@ixxxxxs.com.au> to=<boricua@domain.com> proto=ESMTP helo=<[186.43.77.153]>
Jan 8 00:32:22 server postfix/smtpd[17504]: NOQUEUE: reject: RCPT from 201-93-87-2.dial-up.telesp.net.br[201.93.87.2]: 504 5.5.2 <lan-32204df3031>: Helo command rejected: need fully-qualified hostname; from=<nils-allan.lindgren@dexxxxxe.ca> to=<boricua@domain.com> proto=ESMTP helo=<lan-32204df3031>
Ograniczenia helo w działaniu:
- strict_rfc821_envelopes = yes
Ograniczenia klientów:
- smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unknown_client_hostname, check_client_access mysql:/etc/postfix/mysql-virtual_client.cf
Ograniczenia odbiorcy:
- smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unknown_recipient_domain
Ograniczenia dotyczące danych:
- smtpd_data_restrictions = reject_unauth_pipelining
Opóźnienie smtpd:
- smtpd_delay_reject = yes
Nie zapomnij przeładować postfixa:
- /etc/init.d/postfix reload
SPF Check For Postfix (Debian And Ubuntu)
Pakiet Intstall spf:
- apt-get install postfix-policyd-spf-python
lub
- apt-get install postfix-policyd-spf-perl
Dodaj to do /etc/postfix/main.cf:
- policy-spf_time_limit = 3600s
dodaj unix check_policy_service: private / policy-spf na końcu smtpd_recipient_restrictions:
- smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination, reject_unknown_recipient_domain, check_policy_service unix:private/policy-spf
Teraz edytuj master.cf i dodaj na końcu to (dla wersji Pythona):
- policy-spf unix – n n – – spawn
user=nobody argv=/usr/bin/policyd-spf
lub to dla wersji perl:
- policy-spf unix – n n – – spawn
user=nobody argv=/usr/sbin/postfix-policyd-spf-perl
Resetuj Postfix :
- /etc/init.d/postfix reload
Sprawdzenie Spf:
- Jan 4 15:50:11 server postfix/smtpd[19096]: NOQUEUE: reject: RCPT from g230068165.adsl.alicedsl.de[92.230.68.165]: 550 5.7.1 <william@domain.org>: Recipient address rejected: Message rejected due to: SPF fail – not authorized. Please see http://www.openspf.org/Why?s=helo;id=paxxxxxn.com;ip=92.230.68.165;r=william@domain.com; from=<opaquenesszv91@paxxxxxn.com> to=<william@domain.com> proto=ESMTP helo=
<paxxxxxn.com>
Greylist
Greylisting to metoda ochrony użytkowników poczty e-mail przed spamem. Agent przesyłania poczty (MTA) za pomocą szarej listy „tymczasowo odrzuci” każdą wiadomość e-mail od nadawcy, którego nie rozpoznaje. Jeśli wiadomość jest zgodna z prawem, serwer wysyłający, po pewnym czasie, spróbuje ponownie i, jeśli minie wystarczająco dużo czasu, wiadomość e-mail zostanie zaakceptowana.
Instalowanie postgreya (Debian, Ubuntu):
- apt-get install postgrey
Opcje konfiguracyjne znajdują się w / etc / default / postgrey (domyślne opóźnienie to 5 min).
Edytuj plik main.cf i dodaj check_policy_service inet: 127.0.0.1: 10023 na końcu łańcucha smtpd_recipient_restrictions
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination, reject_unknown_recipient_domain, check_policy_service unix:private/policy-spf,check_policy_service inet:127.0.0.1:10023
Resetuj Postfix :
- /etc/init.d/postfix reload
Szara lista w akcji:
- Jan 10 17:38:57 server postfix/smtpd[21302]: NOQUEUE: reject: RCPT from mailout-de.gmx.net[213.165.64.22]: 451 4.7.1 <admin@domain.com>: Recipient address rejected: Greylisting in effect, please come back later; from=<joe@gmx.net> to=<admin@domain.com> proto=SMTP helo=<mailout-de.gmx.net>
DNSBL (Czarna lista / lista zablokowanych DNS)
DNSBL to lista adresów IP publikowanych za pośrednictwem usługi DNS (Domain Name Service) DNS jako pliku strefy, który może być używany przez oprogramowanie serwera DNS lub jako strefa DNS na żywo, która może być sprawdzana w czasie rzeczywistym. DNSBL są najczęściej używane do publikowania adresów komputerów lub sieci powiązanych ze spamem; większość oprogramowania serwera pocztowego może być skonfigurowana tak, aby odrzucać lub oznaczać wiadomości wysłane z witryny wymienionej na jednej lub kilku takich listach. Mogą one zawierać listę adresów komputerów zombie lub innych komputerów używanych do wysyłania spamu, wymieniające adresy dostawców usług internetowych, którzy chętnie hostują spamerów lub wymieniające adresy, które wysłały spam do systemu typu honeypot. Aby użyć dnsbl z postix, używamy reject_rbl_client. Wystarczy dodać strefę live dns dla zapytań do pliku main.cf.
W moim przykładzie wykorzystam dwie listy o bardzo dobrej reputacji (dodane do końca smtpd_client_restrictions):
- smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unknown_client_hostname, check_client_access mysql:/etc/postfix/mysql-virtual_client.cf, reject_rbl_client cbl.abuseat.org, reject_rbl_client b.barracudacentral.org
rbl w akcji:
- Jan 12 01:52:42 server postfix/smtpd[4616]: NOQUEUE: reject: RCPT from 89.pool85-49-26.dynamic.orange.es[85.49.26.89]: 554 5.7.1 Service unavailable; Client host [85.49.26.89] blocked using cbl.abuseat.org; Blocked – see http://cbl.abuseat.org/lookup.cgi?ip=85.49.26.89; from=<dresschirp@fxxxxx.com> to=<william@domain.com> proto=SMTP helo=<colossus.home>
Jan 11 20:13:58 server postfix/smtpd[29591]: NOQUEUE: reject: RCPT from 93-87-122-56.dynamic.isp.telekom.rs[93.87.122.56]: 554 5.7.1 Service unavailable; Client host [93.87.122.56] blocked using b.barracudacentral.org; http://www.barracudanetworks.com/reputation/?pr=1&ip=93.87.122.56; from=
<trundlesd@ukxxxxx.edu> to=<infoo@domain.com> proto=ESMTP helo=
Po ekranie
Uwaga: Ta funkcja jest dostępna w Postfixie 2.8 i nowszych
Demon Postfix zapewnia dodatkową ochronę przed przeciążeniem serwera pocztowego. Jeden proces postprocesowy obsługuje wiele przychodzących połączeń SMTP i decyduje, którzy klienci mogą rozmawiać z procesem serwera Postfix SMTP. Dzięki utrzymaniu spambotów daleko, ekrany wysyła więcej procesów serwera SMTP dostępnych dla legalnych klientów i opóźnia wystąpienie warunków przeciążenia serwera.
Głównym wyzwaniem dla postscreenów jest podjęcie decyzji o zombie na podstawie pojedynczego pomiaru. Jest to konieczne, ponieważ wiele zombie próbuje latać pod radarem i unikać wielokrotnego spamowania tej samej witryny. Gdy postscreen zdecyduje, że klient nie jest zombie, tymczasowo umieszcza go na białej liście klienta, aby uniknąć dalszych opóźnień w przypadku legalnej poczty.
W tym tutorialu użyjemy domyślnych ustawień z wyjątkiem. Te ustawienia są odpowiednie w większości sytuacji
Najpierw dodajemy linię do pliku main.cf za pomocą polecenia:
- postscreen_greet_action = enforce
Po drugie dodajemy post screen i kilka nowych usług do master.cf Uwaga: Te ustawienia już istnieją, po prostu odkomentuj. Upewnij się również, że linia „smtp inet … smtpd”, w tym dowolny parametr, jest wykomentowany (jeśli takowe, parametry muszą zostać przeniesione do nowej usługi smtpd).
- # Postfix master process configuration file. For details on the format
# of the file, see the master(5) manual page (command: „man 5 master”).
#
# Do not forget to execute „postfix reload” after editing this file.
#
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
#smtp inet n – – – – smtpd
# -o …
smtpd pass – – n – – smtpd
-o … # Parameters moved from smtp service to the new smtpd service.(if any)
smtp inet n – n – 1 postscreen
tlsproxy unix – – n – 0 tlsproxy
dnsblog unix – – n – 0 dnsblog
Teraz ponownie ładujemy postfix:
- /etc/init.d/postfix reload