Saya baru-baru mendapat satu Undelivered Mail Returned to Sender
saat mengirim buletin saya ke salah satu dari 1500 pelanggan saya. Situs web saya menggunakan prosedur opt-in ganda untuk memastikan, pengguna secara eksplisit ingin menerima buletin saya.
Pesan kesalahan:
smtp; 554 ...
Swisscom AG IP: 94.130.34.42, You are not allowed to send us mail. Please
refer to xyz.com if you feel this is in error.
Saya mendapat contoh spam mail (dari penyedia mailserver penerima):
Received: from mail.com ([94.130.34.42])
by smtp-27.iol.local with SMTP
id itOWeYZ6O42IFitOWe35TR; Tue, 13 Feb 2018 03:54:09 +0100
From: "Servizi online - Poste Italiane" <[email protected]>
Subject: Abbiamo ricevuto una segnalazione di accredito
Date: Mon, 12 Feb 2018 11:32:03 -0500
Penyedia juga menyatakan, bahwa server saya tampaknya diretas. Dia lebih lanjut menyatakan, bahwa "server email penerima hanya mencatat rDNS yang disajikan kepadanya oleh IP penghubung, dalam hal ini mail.com ([94.130.34.42])
" - yang jelas BUKAN ketika saya mengkonfigurasi entri rDNS saya (mail.lotsearch.de) untuk alamat IP saya. Jadi jika saya mengerti rDNS dengan benar, server e-mail penerima meminta IP pengirim untuk entri rDNS (94.130.34.42 => harus menyelesaikan ke => mail.lotsearch.de, yang pasti, ketika saya mengujinya dari mesin lokal saya melalui $ host 94.130.34.42
).
Bagaimana mungkin melakukan spoof rDNS? Saya tidak dapat membayangkan bagaimana cara ini secara teknis dapat bekerja (hanya dengan serangan man-in-the-middle di suatu tempat di infrastruktur antara server surat penerima dan server saya).
Penyedia juga menyebutkan, bahwa "kemungkinan mesin yang menghubungkan dari IP saya telah dikompromikan dan mengirim pesan-pesan ini melalui koneksi langsung ke server mail penerima (juga dikenal sebagai MX langsung)". Apa direct MX
artinya Seseorang mencuri atau menemukan kredensial surat bocor ke salah satu akun surat saya dan menggunakannya untuk mengirim surat?
Apa yang telah saya lakukan sejauh ini untuk memastikan server saya TIDAK / tidak akan diretas:
- mencari log surat (
var/log/mail*
): tidak ada yang istimewa di sana - memeriksa log masuk ssh (
last
,lastb
): tidak ada yang aneh - dicek jika postfix tidak merelay: tidak tidak (diperiksa melalui telnet)
- memeriksa malware melalui clamav: tidak ada hasil
- diinstal dan dikonfigurasi fail2ban untuk ssh, postfix dan dovecot
- menginstal tambalan / pembaruan terbaru untuk Ubuntu 16.04 (saya melakukannya setiap minggu)
- memeriksa apakah alamat IP saya ada di daftar hitam: tidak
- entri rDNS yang diverifikasi di konsol manajemen penyedia hosting saya: diatur dengan benar ke
mail.lotsearch.de
. - kata sandi yang diubah dari semua akun email
- kunci publik yang diubah untuk akses shell
Lebih penting: Tidak ada informasi tentang [email protected]
dalam log. Jadi jika server saya akan disalahgunakan oleh spammer (karena bocornya smtp dari salah satu akun mail) saya akan melihatnya di file log.
Kemungkinan terakhir yang dapat saya pikirkan adalah bahwa seorang penyusup menempatkan malware di server saya yang belum saya temukan.
Bagaimana saya bisa memonitor lalu lintas surat keluar (per proses dan per port)?
Hanya memantau port keluar 25 tidak akan membantu karena ini hanya akan menjebak mail tidak teratur yang dikirim melalui postfix, tetapi tidak lalu lintas mail yang disebabkan oleh infeksi malware potensial (jika malware menggunakan port lain dari 25 untuk langsung mengirim email / berkomunikasi dengan server mail penerima) . Jika saya memantau lalu lintas keluar di semua port saya akan mendapatkan cara untuk file log besar yang saya tidak bisa mencari aktivitas mencurigakan secara efisien.
EDIT - Uji tambah untuk relai terbuka:
$ telnet mail.lotsearch.de 25
$ HELO [email protected]
250 mail.lotsearch.de
$ MAIL FROM: [email protected]
250 2.1.0 Ok
$ RCPT TO:<[email protected]>
454 4.7.1 <[email protected]>: Relay access denied
EDIT - Menjalankan webapps
- Platform Kustom berdasarkan Zend Framework 3 ( https://framework.zend.com/ )
- Mediawiki ( https://www.mediawiki.org/ )
- Pelacak Bug Mantis ( https://www.mantisbt.org/ )
sumber
Jawaban:
Sebelum saya mendapatkan saran saya, saya ingin berkomentar sedikit pada sesuatu yang penyedia Anda katakan kepada Anda:
Ini tidak menunjukkan bahwa DNS terbalik untuk 94.130.34.42 adalah (atau tadinya) mail.com. Sebaliknya, itu menunjukkan bahwa klien SMTP dikirim
mail.com
dalam nyaHELO
(atauEHLO
) baris. (Server surat yang dikonfigurasi dengan baik akan menolak koneksi ini sepenuhnya, tetapi itu ada di Swisscom, bukan Anda ...) Baris ini tidak menunjukkan entri DNS terbalik. Jika ya, itu akan muncul di dalam tanda kurung. Sebagai contoh:Dalam hal ini, nama host pertama adalah apa yang diidentifikasi oleh server email itu sendiri sebagai
EHLO
. Nama host kedua adalah DNS terbalik yang direkam pada saat koneksi dibuat.RFC 5321 bagian 4.4 menjelaskan format baris Received:, dengan tata bahasa formal.
Dalam kasus Anda, tidak ada DNS terbalik yang direkam. Karena alamat IP Anda memiliki catatan PTR, ini mungkin karena mereka tidak mencarinya, atau ada kegagalan DNS sementara.
Sekarang, tampaknya Anda menjalankan layanan hosting web dan memiliki banyak aplikasi web. Jika salah satunya terganggu, ia mungkin mulai mengirim spam. Ini sering membuat koneksi langsung ke server surat jarak jauh dengan mencari catatan MX mereka dan menyambungkan ke port 25, seolah-olah mereka sebenarnya server surat itu sendiri, daripada mengirimkan surat ke gulungan surat lokal atau layanan surat terotentikasi pada port 587 atau 465 seperti yang dilakukan aplikasi web yang sah.
Salah satu cara saya menghentikan ini adalah dengan menerapkan aturan firewall yang mencegah koneksi keluar pada port 25 kecuali pengguna adalah pengguna server mail. Sebagai contoh:
Aplikasi web tidak lagi dapat mengirim surat secara langsung ke server SMTP jarak jauh, tetapi harus menggunakan gulungan surat lokal atau layanan surat terotentikasi.
sumber
iptables
aturan untuk membiarkan pengguna postfix dan plesk mengirim email (seperti yang saya pikir Panel Plesk mengirim email secara langsung dan tidak melalui postfix). Apakah mungkin untuk mengkonfigurasi crondaemon (cronjobs saya) untuk mengirim email melalui smtp via postfix? Saya tidak ingin menambahkan pengguna cron ke iptables (sebagai pengecualian lain) karena akan lebih aman untuk membiarkan lalu lintas mail jika mungkin melalui postfix. Apakah mungkin untuk membiarkan crontab menggunakan postfix untuk mengirim log kesalahan? Haruskah saya letakkan itu di pertanyaan baru di serverfault?root
? Karena proses master postfix dijalankan olehroot
dalam banyak kasus. Atau apakah proses master postfix menelurkan subproses menggunakanpostfix
-user untuk mengirim email / melakukan hal-hal? Saya mencoba aturan iptables Anda, email tidak dapat dikirim ... Jika saya melakukannya,ps -ef | grep "postfix"
saya melihat beberapa subproses dijalankan olehpostfix
-user dan satu proses master dijalankan olehroot
...Di zaman sekarang ini, mencoba melakukan server surat Anda sendiri adalah, untuk sebagian besar, pertempuran yang melelahkan dan Anda lebih baik mencari layanan yang terjangkau. Setelah mengatakan itu ..
Lihat log Anda ke penyedia yang memblokir Anda dan lihat apakah Anda dapat menemukan sesuatu yang mencurigakan. Mungkin saja, dan sering terjadi, seseorang lupa bahwa mereka berlangganan newsletter Anda dan menandai Anda sebagai spam. Kemudian tergantung pada penyedia Anda bisa mendapatkan dalam daftar hitam penyedia meskipun Anda tidak melakukan kesalahan.
Pisahkan surat massal dari semua email Anda yang lain menjadi dua server.
Simpan log selama berminggu-minggu di bulan minimum dan lebih baik. Jadi, kapan pun sesuatu terjadi, Anda meneliti.
Periksa log Anda setiap hari untuk situasi yang sama dari penyedia mana pun dan periksa setiap hari, atau lebih cepat .. Saat Anda diblokir dan jika Anda terus mencoba mengirimnya bisa menjadi lebih buruk. Anda dapat beralih dari blok sementara ke blok permanen .. hingga dilaporkan ke daftar hitam.
Tidak yakin bagaimana mereka mengimplementasikannya, tetapi satu hal yang saya tahu banyak penyedia lakukan untuk layanan email keluar adalah bahwa kedua penyedia / IP memblokir email maka tidak ada email lain yang mencoba dikirim. Idealnya Anda menginginkan sesuatu seperti itu. Karena yang kedua diblokir, mengirim lebih banyak hanya akan memperburuk masalah.
sumber