Dalam tutorial ini, saya ingin berbagi dengan Anda 7 tips saya untuk memblokir spam email dengan server SMTP Postfix di CentOS/RHEL. Selama empat tahun terakhir menjalankan server email saya sendiri, saya menerima banyak spam, alias email komersial yang tidak diminta. Spam ada karena sangat murah untuk mengirim email dalam jumlah besar di Internet. Postfix memungkinkan Anda untuk memblokir spam sebelum mereka masuk ke kotak surat Anda, sehingga Anda dapat menghemat bandwidth dan ruang disk.
Catatan :Jika Anda berencana untuk menjalankan server email Anda sendiri, saya sarankan menggunakan iRedmail, yang sangat menyederhanakan proses pengaturan server email. Itu juga dikirimkan dengan aturan anti-spam. Jika Anda lebih suka menyiapkan server email dari awal, lihat seri tutorial server email saya.
Karakteristik Spam
Di bawah ini adalah apa yang saya temukan tentang spam email. Spam ini mudah diblokir.
- Alamat IP mereka tidak memiliki data PTR.
- Spammer tidak memberikan nama host yang valid dalam klausa HELO/EHLO.
- Mereka memalsukan alamat MAIL FROM.
- Mereka biasanya tidak mengirim ulang email setelah pengiriman email gagal.
Server email yang sah tidak boleh memiliki karakteristik ini. Jadi inilah 7 tips saya, yang akan memblokir 90% spam.
Fakta:Sekitar 93%~95% email di dunia ditolak di gerbang SMTP, tidak pernah masuk ke kotak masuk atau folder spam.
Kiat #1:Tolak Email jika Klien SMTP tidak memiliki catatan PTR
Catatan PTR memetakan alamat IP ke nama domain. Ini adalah rekanan untuk A record. Di CentOS/RHEL, Anda dapat menanyakan nama domain yang terkait dengan alamat IP dengan menjalankan perintah berikut:
host
Jika host
perintah tidak dapat ditemukan, maka Anda perlu menginstal bind-utils
paket.
sudo dnf install bind-utils
Misalnya, perintah berikut mengembalikan nama host server email saya.
host 23.254.225.226
Keluaran:
226.225.254.23.in-addr.arpa penunjuk nama domain mail.linuxbabe.com.
Karena prevalensi spam, banyak server email (seperti Gmail, gmx.com, gmx.net, facebook.com) mengharuskan klien SMTP memiliki catatan PTR yang valid yang terkait dengan alamat IP mereka. Setiap admin server email harus menyetel data PTR untuk server SMTP mereka. Jika klien SMTP memiliki catatan PTR, Anda dapat menemukan baris di log Postfix (/var/log/maillog)
seperti di bawah ini.
hubungkan dari mail.linuxbabe.com[23.254.225.226]
Jika klien SMTP tidak memiliki catatan PTR, maka nama host akan diidentifikasi sebagai unknown
di log Postfix.
hubungkan dari tidak dikenal[120.41.196.220]
Untuk memfilter email tanpa catatan PTR, buka file konfigurasi utama Postfix.
sudo nano /etc/postfix/main.cf
Tambahkan baris berikut di smtpd_sender_restrictions
. Arahan ini menolak email jika alamat IP klien tidak memiliki catatan PTR.
reject_unknown_reverse_client_hostname
Contoh:
smtpd_sender_restrictions =permit_mynetworks permit_sasl_authenticated reject_unknown_reverse_client_hostname
Simpan dan tutup file. Kemudian restart Postfix agar perubahan diterapkan.
sudo systemctl restart postfix
Kiat #2:Aktifkan Pembatasan Nama Host HELO/EHLO di Postfix
Beberapa spammer tidak memberikan nama host HELO/EHLO yang valid dalam dialog SMTP. Mereka dapat berupa nama domain yang tidak sepenuhnya memenuhi syarat, atau nama domain tidak ada atau hanya untuk jaringan internal. Misalnya, seorang spammer yang menggunakan instans Amazon EC2 untuk mengirim spam dicatat di server saya sebagai berikut:
16 Agustus 04:21:13 email postfix/smtpd[7070]:sambungkan dari ec2-54-237-201-103.compute-1.amazonaws.com[54.237.201.103]16 Agustus 04:21:13 email policyd-spf[7074]:prepend Received-SPF:Tidak ada (mailfrom) identity=mailfrom; client-ip=54.237.201.103; helo=ip-172-30-0-149.ec2.internal; [dilindungi email]; penerima=
Seperti yang Anda lihat, nama host HELO adalah ip-172-30-0-149.ec2.internal
, yang hanya berlaku di jaringan internal AWS. Tidak memiliki data A atau data MX yang valid.
Untuk mengaktifkan pembatasan nama host HELO/EHLO, edit file konfigurasi utama Postfix.
sudo nano /etc/postfix/main.cf
Pertama, tambahkan baris berikut untuk meminta klien memberikan nama host HELO/EHLO.
smtpd_helo_required =ya
Kemudian tambahkan 3 baris berikut untuk mengaktifkan smtpd_helo_restrictions
.
smtpd_helo_restrictions =permit_mynetworks permit_sasl_authenticated
Gunakan baris berikut untuk menolak klien yang memberikan nama host HELO/EHLO yang salah format.
reject_invalid_helo_hostname
Gunakan baris berikut untuk menolak nama host HELO/EHLO yang tidak sepenuhnya memenuhi syarat.
reject_non_fqdn_helo_hostname
Untuk menolak email saat nama host HELO/EHLO tidak memiliki data DNS A atau data MX, gunakan
reject_unknown_helo_hostname
Seperti ini:
smtpd_helo_required =yessmtpd_helo_restrictions =permit_mynetworks permit_sasl_authenticated reject_invalid_helo_hostname reject_non_fqdn_helo_hostname reject_unknown_helo_hostname
Simpan dan tutup file. Kemudian muat ulang Postfix.
sudo systemctl reload postfix
Perhatikan bahwa meskipun sebagian besar server email yang sah memiliki catatan A yang valid untuk nama host HELO/EHLO, terkadang server email yang sah tidak memenuhi persyaratan ini. Anda perlu memasukkannya ke daftar putih dengan check_helo_access
.
smtpd_helo_required =yessmtpd_helo_restrictions =permit_mynetworks permit_sasl_authenticated check_helo_access hash:/etc/postfix/helo_access reject_invalid_helo_hostname reject_non_fqdn_helo_hostname reject_unknown_helo_hostname
Kemudian Anda perlu membuat /etc/postfix/helo_access
berkas.
sudo nano /etc/postfix/helo_access
Daftar putih hostname HELO/EHLO server email yang sah seperti di bawah ini.
optimus-webapi-prod-2.localdomain OKva-massmail-02.rakutenmarketing.com Oke
Sepertinya Anda tidak tahu nama host mana yang harus dimasukkan ke daftar putih, lalu salin dua baris di atas, yang merupakan satu-satunya baris di helo_access
saya mengajukan. Anda selalu dapat menambahkan lebih banyak hostname nanti. Simpan dan tutup file. Kemudian jalankan perintah berikut untuk membuat file /etc/postfix/helo_access.db.
sudo postmap /etc/postfix/helo_access
Dan muat ulang Postfix.
sudo systemctl reload postfix
Tips #3:Tolak Email jika Hostname Klien SMTP tidak memiliki A Record yang valid
Server email yang sah juga harus memiliki catatan A yang valid untuk nama hostnya. Alamat IP yang dikembalikan dari A record harus sesuai dengan alamat IP server email. Untuk memfilter email dari host yang tidak memiliki data A yang valid, edit file konfigurasi utama Postfix.
sudo nano /etc/postfix/main.cf
Tambahkan dua baris berikut di smtpd_sender_restrictions
.
reject_unknown_reverse_client_hostnamereject_unknown_client_hostname
Contoh:
smtpd_sender_restrictions =permit_mynetworks permit_sasl_authenticated reject_unknown_reverse_client_hostname reject_unknown_client_hostname
Simpan dan tutup file. Kemudian restart Postfix agar perubahan diterapkan.
sudo systemctl restart postfixPerhatikan bahwa
reject_unknown_client_hostname
tidak memerlukan HELO dari klien SMTP. Ini akan mengambil nama host dari catatan PTR, lalu memeriksa catatan A. Kiat #4:Tolak Email Jika MAIL FROM Domain Tidak Memiliki MX Record Ataupun Record
MAIL FROM
alamat juga dikenal sebagai envelope from
alamat. Beberapa spammer menggunakan domain yang tidak ada di MAIL FROM
alamat. Jika nama domain tidak memiliki data MX, Postfix akan menemukan data A dari domain utama dan mengirim email ke host tersebut. Jika domain pengirim tidak memiliki MX record atau A record, Postfix tidak dapat mengirim email ke domain tersebut. Jadi, mengapa tidak menolak email yang tidak dapat Anda balas?
Untuk menyaring spam semacam ini, edit file konfigurasi utama Postfix.
sudo nano /etc/postfix/main.cf
Tambahkan baris berikut di smtpd_sender_restrictions
. Ini akan menolak email jika nama domain dari alamat yang diberikan dengan perintah MAIL FROM tidak memiliki MX record atau A record.
reject_unknown_sender_domain
Contoh:
smtpd_sender_restrictions =permit_mynetworks permit_sasl_authenticated reject_unknown_sender_domain reject_unknown_reverse_client_hostname reject_unknown_client_hostname
Simpan dan tutup file. Kemudian restart Postfix agar perubahan diterapkan.
sudo systemctl restart postfix
Perhatikan bahwa saya menempatkan batasan ini di atas reject
lainnya pembatasan. Dari pengalaman saya, jika di bawah reject
lainnya pembatasan, itu tidak akan berhasil. (Mungkin ini hanya terjadi di server email saya.)
Kiat #5:Aktifkan Daftar Abu-abu di Postfix
Sebagaimana disyaratkan oleh protokol SMTP, setiap klien SMTP yang sah harus dapat mengirim ulang email jika pengiriman gagal. (Secara default, Postfix dikonfigurasi untuk mengirim ulang email yang gagal selama 4~5 hari sebelum menginformasikan pengirim bahwa pesan tidak dapat dikirim.) Banyak spammer biasanya hanya mengirim sekali dan tidak akan mencoba lagi.
Postgrey
adalah server kebijakan daftar abu-abu untuk Postfix. Pengguna CentOS/RHEL dapat menginstalnya dari repositori EPEL.
sudo dnf install epel-releasesudo dnf install postgrey
Setelah terinstal, mulai dengan systemctl.
sudo systemctl start postgrey
Aktifkan mulai otomatis saat boot.
sudo systemctl aktifkan postgrey
Pada CentOS/RHEL, Postgrey mendengarkan pada soket Unix (/var/spool/postfix/postgrey/socket
).
Selanjutnya, kita perlu mengedit file konfigurasi utama Postfix agar dapat menggunakan server kebijakan greylisting.
sudo nano /etc/postfix/main.cf
Tambahkan baris berikut di smtpd_recipient_restrictions
.
check_policy_service unix:postgrey/socket
Jika Anda tidak tahu, perintah check_policy_service unix:private/policyd-spf
pada tangkapan layar di atas akan membuat Postfix memeriksa catatan SPF di domain pengirim. Arahan ini mengharuskan Anda untuk menginstal dan mengonfigurasi paket pypolicyd-spf.
Simpan dan tutup file. Kemudian restart Postfix.
sudo systemctl restart postfix
Mulai sekarang, Postgrey akan menolak email jika triplet pengirim (alamat IP pengirim, alamat email pengirim, alamat email penerima) baru. Pesan log berikut di /var/log/maillog
menunjukkan triplet pengirim baru. Tindakan “greylist
” berarti pesan email ini ditolak.
postgrey[1016]:action=greylist, reason=new, client_name=unknown, client_address=117.90.24.148/32, [email protected], [email protected]
Dari pengalaman saya, spammer email Cina suka menggunakan alamat pengirim palsu, tampak aneh, dan dibuat secara acak untuk setiap email, jadi menambahkan alamat email palsu ini ke daftar hitam tidak akan menghentikan mereka. Di sisi lain, mereka tidak pernah mencoba mengirim ulang email yang ditolak dengan alamat pengirim yang sama, yang berarti daftar abu-abu bisa sangat efektif untuk menghentikan spam semacam ini.
Cara Meminimalkan Pengalaman Pengguna yang Buruk
Daftar abu-abu dapat mengakibatkan pengalaman buruk bagi pengguna akhir, karena pengguna harus menunggu beberapa menit lagi hingga email tiba. Untuk meminimalkan pengalaman buruk ini, Anda dapat membuat daftar putih, dan menggunakan data MX kedua yang mengarah ke host yang sama.
Daftar Putih
Postgrey dikirimkan dengan dua file daftar putih (/etc/postfix/postgrey_whitelist_clients
dan /etc/postfix/postgrey_whitelist_recipients
). Yang pertama berisi daftar nama host dan yang terakhir berisi daftar alamat penerima.
Secara default, server email Google masuk daftar putih. Tidak peduli pengirim menggunakan alamat @gmail.com atau alamat lainnya, selama pengirim menggunakan server email Google, Postgrey tidak akan menolak email tersebut. Baris berikut di /var/log/maillog
saya file menunjukkan ini.
postgrey[1032]:action=pass, reason=daftar putih klien, client_name=mail-yb0-f190.google.com
Catatan :Anda juga dapat melihat log postgrey dengan perintah ini sudo journalctl -u postgrey
.
Anda dapat menambahkan nama host lain di /etc/postfix/postgrey_whitelist_clients
file, seperti
facebook.combounce.twitter.comblogger.comemail.medium.com
Anda bisa mendapatkan nama host ini dengan alat yang disebut pflogsumm
, yang akan saya bahas nanti di artikel ini. Simpan dan tutup file, lalu mulai ulang Postgrey.
sudo systemctl restart postgrey
Buat Nama Inang MX Lain dengan Alamat IP yang Sama
Anda dapat menentukan lebih dari satu data MX untuk nama domain Anda seperti di bawah ini.
Jenis Rekam Nama Mail Server PriorityMX @ mail.domainanda.com 0MX @ mail2.domainanda.com 5
Pengirim akan mencoba server email pertama (dengan prioritas 0). Jika mail.domainanda.com menolak email dengan daftar abu-abu, maka pengirim akan segera mencoba server email kedua (dengan prioritas 5).
Jika kedua nama host server email memiliki alamat IP yang sama, maka ketika pengirim mencoba nama host server email kedua, email akan langsung diterima (jika semua pemeriksaan lain lulus) dan pengguna akhir tidak akan melihat keterlambatan email yang disebabkan oleh daftar abu-abu.
Perhatikan bahwa ini mengharuskan Anda untuk menyetel waktu tunda yang sangat kecil seperti 1 detik di /etc/sysconfig/postgrey
berkas seperti di bawah ini. Waktu tunda memberi tahu klien SMTP berapa detik untuk menunggu sebelum mengirimnya lagi. Jika waktu tunda tidak cukup kecil, maka pengiriman email kedua masih akan ditolak.
POSTGREY_DELAY="--delay=1"
Simpan dan tutup file. Kemudian mulai ulang Postgrey.
sudo systemctl restart postgrey
Berhati-hatilah karena tidak semua server email akan segera mencoba host MX kedua.
Kiat #6:Menggunakan Daftar Hitam Realtime Publik
Ada email spam yang dikirim dari server yang memiliki hostname valid, PTR record valid, dan bisa melewati greylisting. Dalam hal ini, Anda dapat menggunakan daftar hitam untuk menolak spam. Ada banyak daftar hitam waktu nyata publik (RBL), juga dikenal sebagai DNSBL (daftar berbasis DNS). Secara realtime, artinya daftar selalu berubah. Alamat IP atau nama domain mungkin ada dalam daftar hari ini dan besok tidak ada dalam daftar, sehingga Anda bisa mendapatkan hasil yang berbeda tergantung kapan Anda menanyakan daftar tersebut.
Anda dapat menggunakan beberapa daftar hitam untuk memblokir spam. Buka https://www.debouncer.com dan mxtoolbox.com , masukkan domain dan alamat IP spammer untuk melihat daftar hitam mana yang memblokirnya, lalu Anda dapat menggunakan daftar hitam tersebut. Misalnya, saya menemukan bahwa spammer dimasukkan ke daftar hitam oleh salah satu daftar hitam berikut:
- dbl.spamhaus.org
- zen.spamhaus.org
- multi.uribl.com
- ivmURI
- URI Nilai
Jadi saya bisa menambahkan konfigurasi berikut di /etc/postfix/main.cf
mengajukan. Beberapa layanan daftar hitam publik memerlukan biaya bulanan. Untuk saat ini, saya menggunakan layanan gratis dari spamhaus.org.
smtpd_recipient_restrictions =permit_mynetworks permit_sasl_authenticated check_policy_service unix:private/policyd-spf check_policy_service unix:postgrey/socket reject_rhsbl_helo dbl.spamhaus.org tolak_rhsbl_reverse_client dbl.spamhaus.org tolak_rhsbl_sender dbl.spamhaus.org reject_rbl_client zen.spamhaus.org
Dimana:
rhs
singkatan dari sisi kanan, yaitu nama domain.reject_rhsbl_helo
membuat Postfix menolak email ketika nama host HELO atau EHLO klien di-blacklist.reject_rhsbl_reverse_client
:menolak email ketika nama host klien terbalik yang tidak diverifikasi dimasukkan dalam daftar hitam. Postfix akan mengambil nama host klien dari catatan PTR. Jika nama host masuk daftar hitam, tolak email tersebut.reject_rhsbl_sender
membuat Postfix menolak email ketika domain MAIL FROM masuk daftar hitam.reject_rbl_client
:Ini adalah daftar hitam berbasis IP. Saat alamat IP klien masuk daftar hitam, tolak email tersebut.
Beberapa spammer menggunakan server email Google, jadi reject_rhsbl_helo
tidak efektif, tetapi kebanyakan dari mereka menggunakan nama domain mereka sendiri di header MAIL FROM, jadi reject_rhsbl_sender
akan efektif.
Buat Daftar Putih
Terkadang ada server email resmi yang masuk daftar hitam. Anda dapat membuat daftar putih sehingga mereka tidak akan diblokir. Buat file berikut.
sudo nano /etc/postfix/rbl_override
Dalam file ini, daftar putih nama domain seperti di bawah ini.
dripemail2.com OK //Domain ini milik drip.commlsend.com OK //Domain ini milik layanan pemasaran email mailerlite
Simpan dan tutup file. Kemudian jalankan perintah berikut untuk membuat rbl_override.db
berkas.
sudo postmap /etc/postfix/rbl_override
Edit file konfigurasi utama Postfix.
sudo nano /etc/postfix/main.cf
Di smtpd_recipient_restrictions
, tambahkan baris berikut.
check_client_access hash:/etc/postfix/rbl_override
Seperti di bawah ini. Itu harus ditempatkan di atas pemeriksaan RBL lainnya.
smtpd_recipient_restrictions =permit_mynetworks permit_sasl_authenticated check_policy_service unix:private/policyd-spf check_policy_service unix:postgrey/socket check_client_access hash:/etc/postfix/rbl_override reject_rhsbl_helo dbl.spamhaus.org reject_rhsbl_reverse_client dbl.spamhaus.org reject_rhsbl_sender dbl.spamhaus.org reject_rbl_client zen.spamhaus.org
Muat ulang Postfix agar perubahan diterapkan.
sudo systemctl reload postfix
Menggunakan Daftar Putih Publik untuk Mengurangi Positif Palsu
Mempertahankan daftar putih pribadi terkadang diperlukan, tetapi Anda juga dapat menggunakan daftar putih publik, yang paling terkenal adalah dnswl.org. Saat ini, hanya ada daftar putih untuk alamat IP. Daftar putih nama domain masih dalam versi beta. Untuk menggunakannya, letakkan baris berikut di smtpd_recipient_restrictions
.
permit_dnswl_client list.dnswl.org=127.0.[0..255].[1..3]
Seperti di bawah ini. Itu harus ditempatkan di atas reject_rbl_client
periksa.
Daftar putih terkenal lainnya adalah swl.spamhaus.org , sehingga Anda juga dapat menambahkannya ke konfigurasi Anda.
permit_dnswl_client swl.spamhaus.org
Tidak mungkin alamat IP dicantumkan di daftar putih Spamhaus dan daftar hitam pada saat yang bersamaan, jadi jika Anda hanya menggunakan daftar hitam Spamhaus di Postfix, maka tidak perlu memeriksa daftar putih Spamhaus.
Filter Spam Postfix Saya
Berikut adalah tangkapan layar filter spam Postfix saya.
Laporan Log Postfix
Pflogsumm
adalah alat yang hebat untuk membuat ringkasan log Postfix. Pada CentOS/RHEL, pflogsumm disediakan oleh postfix-perl-scripts
paket.
sudo dnf install postfix-perl-scripts
Gunakan perintah berikut untuk membuat laporan hari ini.
sudo pflogsumm -d hari ini /var/log/maillog
Buat laporan untuk kemarin.
sudo pflogsumm -d kemarin /var/log/maillog
Jika Anda ingin membuat laporan untuk minggu ini.
sudo pflogsumm /var/log/maillog
Untuk mengeluarkan laporan "masalah" (pantulan, penundaan, peringatan, penolakan) sebelum statistik "normal", gunakan --problems-first
bendera.
sudo pflogsumm -d hari ini /var/log/maillog --problems-first
Untuk menambahkan email dari alamat ke setiap cantuman dalam laporan penolakan, gunakan --rej-add-from
bendera.
sudo pflogsumm -d hari ini /var/log/maillog --rej-add-from
Untuk menampilkan alasan lengkap dalam ringkasan penolakan, gunakan --verbose-msg-detail
bendera.
sudo pflogsumm -d hari ini /var/log/maillog --rej-add-from --verbose-msg-detail
Anda dapat menambahkan tugas cron untuk membuat pflogsumm mengirim laporan ke alamat email Anda setiap hari.
sudo crontab -e
Tambahkan baris berikut, yang akan menghasilkan laporan setiap hari pada pukul 4:00 pagi.
0 4 * * * /usr/sbin/pflogsumm -d kemarin /var/log/maillog --problems-first --rej-add-from --verbose-msg-detail -q
Untuk menerima laporan melalui email, tambahkan baris berikut di atas semua tugas cron.
MAILTO="alamat-email-anda"
Anda harus memperhatikan message reject detail
bagian, di mana Anda dapat melihat untuk alasan apa email tersebut ditolak dan jika ada kesalahan positif. Penolakan daftar abu-abu aman untuk diabaikan.
Jika variabel MAILTO telah disetel tetapi Anda ingin ringkasan log Postfix dikirim ke alamat email yang berbeda, Anda dapat memasukkan baris berikut ke dalam tugas Cron Anda.
0 4 * * * /usr/sbin/pflogsumm -d kemarin /var/log/maillog --problems-first --rej-add-from --verbose-msg-detail -q | mutt -s "Ringkasan log postfix" alamat email-Anda
Keluaran dari pflogsumm
perintah diarahkan ke mutt
, agen pengguna email baris perintah, yang akan menggunakan output sebagai badan email dan mengirimkannya ke alamat email yang Anda tentukan di bagian akhir. Tentu saja, Anda perlu menginstal mutt di server CentOS/RHEL Anda.
sudo dnf install mutt
Kiat #7:Siapkan OpenDMARC untuk Menolak Email yang Gagal Pemeriksaan DMARC
DMARC (Otentikasi Pesan Berbasis Domain, Pelaporan, dan Kesesuaian) adalah standar Internet yang memungkinkan pemilik domain untuk mencegah nama domain mereka digunakan oleh penipu email. Harap baca salah satu panduan berikut untuk menyiapkan OpenDMARC.
- Mengatur OpenDMARC dengan Postfix di CentOS/RHEL untuk Memblokir Email Spoofing
Menjalankan Penyelesai DNS Lokal untuk Mempercepat Pencarian DNS
Seperti yang Anda lihat, Postfix perlu mencari catatan DNS untuk menganalisis setiap dialog SMTP. Untuk mempercepat pencarian DNS, Anda dapat menjalankan resolver DNS lokal. Dan sebagian besar daftar hitam DNS memiliki batas kueri. Menjalankan resolver DNS lokal Anda sendiri untuk menyimpan catatan DNS dapat membantu Anda tetap berada di bawah batas kueri.
Kita dapat menginstal server DNS bind9.
sudo dnf install bind
Mulai BIND 9 dengan:
sudo systemctl start bernama
Dan aktifkan mulai otomatis saat boot:
sudo systemctl aktifkan bernama
Anda dapat memeriksa statusnya dengan:
status systemctl bernama
Contoh keluaran:
● bernama.service - Berkeley Internet Name Domain (DNS) Dimuat:dimuat (/usr/lib/systemd/system/named.service; diaktifkan; preset vendor:nonaktifkan> Aktif:aktif (berjalan) sejak Minggu 2020-05 -17 11:07:34 EDT; 9 detik yang lalu Proses:7203 ExecStop=/bin/sh -c /usr/sbin/rndc stop> /dev/null 2>&1 || /bin/kill -TE> Proses:7218 ExecStart =/usr/sbin/named -u bernama -c ${NAMEDCONF} $OPTIONS (kode=keluar,> Proses:7215 ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" =="ya" ];> PID Utama:7220 (bernama) Tugas:4 (batas:5045) Memori:55,5M CGroup:/system.slice/named.service 7220 /usr/sbin/named -u bernama -c /etc/named.conf -4
Petunjuk:Jika perintah di atas tidak segera berhenti, tekan Q.
Mengatur DNS Resolver Default di CentOS /RHEL Mail Server
Kita perlu mengatur 127.0.0.1 sebagai resolver DNS default. Anda dapat memeriksa resolver DNS saat ini di CentOS/RHEL dengan perintah berikut.
cat /etc/resolv.conf
Contoh keluaran:
# Dibuat oleh NetworkManagernameserver 192.168.0.1nameserver 8.8.8.8
Untuk menetapkan BIND sebagai resolver default, pertama-tama Anda perlu menemukan nama antarmuka jaringan utama Anda dengan perintah berikut.
alamat ip
Milik saya adalah ens3
. Selanjutnya, jalankan perintah berikut untuk mengedit file konfigurasi antarmuka jaringan. Ganti ens3
dengan nama antarmuka Anda sendiri.
sudo nano /etc/sysconfig/network-scripts/ifcfg-ens3
Temukan DNS1
parameter dan ubah nilainya menjadi 127.0.0.1
. Perhatikan bahwa jika nilai untuk parameter lain dalam file ini dibungkus dengan tanda kutip ganda, Anda juga perlu membungkus 127.0.0.1
dengan tanda kutip ganda.
DNS1="127.0.0.1"
Jika Anda tidak dapat menemukan DNS1
parameter, lalu tambahkan baris di atas di bagian bawah file ini. Sebaiknya tentukan resolver DNS sekunder dengan menambahkan baris berikut dalam file ini, untuk mengurangi kemungkinan kegagalan DNS.
DNS2="8.8.8.8"
Simpan dan tutup file. Kemudian mulai ulang NetworkManager agar perubahan diterapkan.
sudo systemctl restart NetworkManager
Anda sekarang dapat memeriksa konten /etc/resolv.conf
lagi. Seperti yang Anda lihat, 127.0.0.1 (BIND) sekarang menjadi resolver DNS default di CentOS/RHEL.
Cara Menonaktifkan IPv6 di BIND
Jika server email Anda tidak memiliki alamat IPv6 publik, sebaiknya matikan IPv6 di BIND, jika tidak, akan banyak kesalahan tentang IPv6 di log BIND seperti di bawah ini.
network unreachable menyelesaikan 'mirrors.fedoraproject.org/A/IN':2001:4178:2:1269:dead:beef:cafe:fed5#53network unreachable menyelesaikan 'mirrors.fedoraproject.org/AAAA/IN':2001 :4178:2:1269:dead:beef:cafe:fed5#53penyelesaian jaringan tidak dapat dijangkau 'mirrors.fedoraproject.org/A/IN':2610:28:3090:3001:dead:beef:cafe:fed5#53penyelesaian jaringan tidak dapat dijangkau ' mirrors.fedoraproject.org/AAAA/IN':2610:28:3090:3001:dead:beef:cafe:fed5#53
Untuk menonaktifkan IPv6 di BIND pada CentOS/RHEL, cukup buka file /etc/sysconfig/named berkas
sudo nano /etc/sysconfig/named
Dan tambahkan baris berikut di akhir file.
OPTIONS="-4"
Simpan dan tutup file. Kemudian restart bernama dan Anda selesai.
sudo systemctl restart bernama
Sekarang jalankan perintah berikut. Anda dapat melihat bahwa BIND tidak mendengarkan alamat IPv6 lagi.
sudo netstat -lnptu | grep bernama
Kesalahan Pencarian DNS Balik Postfix
Jika server SMTP Postfix Anda berjalan di lingkungan chroot, maka server tersebut mungkin tidak dapat melakukan pencarian DNS terbalik. Dalam hal ini, alamat IP yang memiliki catatan PTR akan tetap diidentifikasi sebagai unknown
.
postfix/smtpd[14734]:terhubung dari tidak dikenal[23.254.225.226]
Untuk memperbaikinya, kita perlu menyalin pustaka yang diperlukan untuk pencarian DNS terbalik di dalam lingkungan chroot.
sudo mkdir /var/spool/postfix/lib64sudo cp -vl /usr/lib64/libnss_* /var/spool/postfix/lib64
Kemudian restart Postfix.
sudo systemctl restart postfix
Langkah Selanjutnya
Saya harap 7 tindakan anti-spam Postfix ini membantu Anda memblokir spam email. Anda mungkin juga ingin menerapkan filter konten seperti SpamAssassin untuk mendeteksi spam dengan lebih baik.
- Siapkan SpamAssassin di CentOS/RHEL untuk Memblokir Spam Email
Seperti biasa, jika menurut Anda postingan ini bermanfaat, berlangganan newsletter gratis kami untuk mendapatkan lebih banyak tips dan trik. Hati-hati