Postfix: nonaktifkan otentikasi melalui port 25

12

Saat menggunakan Postfixdan IMAPpada server surat, setidaknya 3 port biasanya dibuka

25 smtp   : incoming emails from anybody (whole internet)
465 smtps : outgoing emails from authorized users (to the whole intenet)
993 imap  : imap for authorized users

Saya ingin mengonfigurasi postfix, sehingga pengguna yang sah hanya dapat mengirim email melalui 465. Secara default, ini tidak benar. Pengguna juga dapat menggunakan STARTTLS melalui port 25. Saya ingin menonaktifkannya.

Rencana saya adalah menggunakan port 25 untuk publik mengirimi saya email

gunakan port 465 untuk pengguna saya (saya bisa menggunakan firewall untuk memungkinkan rentang IP tertentu, atau menggunakan port khusus)

Ini akan mencegah port 25 dieksploitasi dari serangan brute force, di mana peretas mencoba menebak pengguna / kata sandi. Port 25 tidak akan menerima pengguna / kata sandi, meskipun itu valid. Dan karena port 465 dibatasi oleh firewall, peretas juga tidak dapat mengeksploitasi 465.

Apakah ini mungkin di Postfix?

Saya menggunakan Postfix 2.9.6-2 di Debian Wheezy

Martin Vegter
sumber
1
Saya tahu ini sudah tua, tetapi Anda harus selalu mengizinkan port 587 (pengiriman) karena ini adalah port yang tepat.
lbutlr

Jawaban:

14

PERINGATAN:
Permintaan tidak mengikuti praktik keamanan terbaik karena Anda menonaktifkan TLS (enkripsi) pada port relai surat utama Anda, mengekspos data yang dikirim melalui port itu ke pendengar pihak ketiga dan / atau modifikasi dalam penerbangan. Jawaban di bawah ini memenuhi permintaan, tetapi praktik terbaik memerlukan STARTTLS untuk koneksi port 25 juga.

The master.cfberkas (biasanya /etc/postfix/master.cf) mengontrol startup dan konfigurasi layanan Postfix tertentu. Konfigurasi seperti ini di file itu, menurut dokumentasi, akan melakukan apa yang Anda inginkan:

smtp  inet  n  -  -  -  -  smtpd
  -o smtpd_tls_security_level=none
  -o smtpd_sasl_auth_enable=no

smtps inet  n  -  -  -  -  smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

Konfigurasi ini mematikan otentikasi dan opsi STARTTLS pada port 25. Ini mengaktifkan opsi STARTTLS pada port 465, membutuhkan penggunaan STARTTLS, mengaktifkan otentikasi, dan hanya memungkinkan klien untuk terhubung jika dikonfirmasi.

Anda mungkin juga melihat smtpd_tls_wrappermodeopsi untuk memaksa koneksi TLS yang sebenarnya (dan bukan koneksi STARTTLS).

Perhatikan bahwa konfigurasi seperti ini dapat membuat konfigurasi Postfix agak sulit untuk diikuti (opsi dapat diatur main.cfkemudian ditimpa master.cf). Opsi lainnya adalah menjalankan beberapa instance Postfix, masing-masing dengan main.cffile konfigurasinya sendiri yang menentukan opsi ini.

hrunting
sumber
1
jika opsi yang bertentangan ditetapkan main.cf, mana yang akan dipilih? Dari apa yang Anda katakan, sepertinya itu master.cfmengesampingkan main.cf. Apakah ini benar?
Martin Vegter
1
-oOpsi - opsi menimpa mereka dalam file konfigurasi. The master.cfberkas mengkoordinasikan startup proses, dan jika Anda adalah untuk startup proses dengan tangan dengan -opilihan, mereka akan menimpa apa pun file konfigurasi yang ditentukan.
Hrunting
Tidak akan -o smtpd_tls_security_level=nonemembunuh TLS / menjadikan semuanya teks biasa seandainya ada server yang mencoba merelay email atau koneksi SMTP server-ke-server lainnya ke port 25?
TCB13
The -o smtpd_tls_security_level=nonememang akan mencegah STARTTLS dari bekerja pada port 25 dan dengan demikian membuat semua komunikasi dalam teks biasa. Itulah pertanyaan yang diminta.
hrunting
Saya masih downvoting ini untuk alasan di atas. Mematuhi permintaan OP baik-baik saja, tetapi Anda harus menambahkan peringatan huruf besar yang merupakan ide yang sangat buruk. (Tolong, izinkan saya mendukung Anda, dengan menambahkan itu; ;-))
ntninja