Re: Postfix configuration

Asfihani <asfik-yNEVPA1OLJZWk0Htik3J/[email protected]>
Newsgroups gmane.mail.postfix.user.indonesian
Organization PT. Cakraperdana Proniagatama.
Message-ID <20040426025654.GD4173@nirwana>
On Sun, Apr 25, 2004 at 01:51:41PM +0700, Romie Djapri wrote:

> Saya ingin tanya nih, kira-kira config seperti apa yang bisa menahan spam di 
> postfix?
> 
> Saya punya seperti ini cukup nggak ?
> 
> smtpd_helo_required = yes
> smtpd_helo_restrictions = permit_mynetworks, reject_unknown_hostname

smtpd_helo_restrictions diatas menurut saya mubadzir, karena tanpa
anda set smtpd_delay_reject = no (default: yes) di main.cf, maka
smtpd_helo_restrictions akan dievaluasiketika fase RCPT-TO (dan sudah
anda konfigurasi pada smtpd_recipient_restrictions dibawah)

> disable_vrfy_command = yes
> smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain
> smtpd_recipient_restrictions =
>  	permit_tls_clientcerts,
>         permit_mynetworks,
>         reject_unauth_destination,       
>  	reject_rbl_client relays.ordb.org,
>         reject_rbl_client sbl.spamhaus.org,
>         reject_rbl_client opm.blitzed.org,
>         reject_rbl_client dnsbl.njabl.org,
>         reject_rbl_client blackholes.wirehub.net,
>         reject_rbl_client list.dsbl.org,   
> 	reject_invalid_hostname,    
>  	reject_non_fqdn_hostname,   
>     	reject_unknown_hostname,    
>     	reject_non_fqdn_sender, 
>     	reject_unknown_sender_domain,   
>     	reject_non_fqdn_recipient,  
>     	reject_unknown_recipient_domain,    
>     	reject_unauth_pipelining,   
>     	check_client_access hash:/etc/postfix/client_access,    
>     	reject_unknown_client

Kalau bisa, untuk menghemat resource daftarkan parameter-parameter
yang tidak memerlukan koneksi ke luar server anda. Jadi akan lebih
baik jika reject_rbl_client ditaruh di paling bawah. Kemudian apakah
anda yakin akan menolak dari MTA yang tidak mempunyai PTR/PTR-nya
tidak sama dengan RR A-nya (reject_unknown_client)? Menurut saya sih
belum perlu hehehe.

Bagaimana kalau ordernya dibuat seperti ini:

smtpd_recipient_restrictions =
        permit_tls_clientcerts,
        permit_mynetworks,
        reject_unauth_destination,
        reject_unauth_pipelining,
        reject_invalid_hostname,
        reject_non_fqdn_hostname,
        reject_unknown_hostname,
        reject_non_fqdn_sender,
        reject_unknown_sender_domain,
        reject_non_fqdn_recipient,
        reject_unknown_recipient_domain,
        # whitelist?
        check_client_access hash:/etc/postfix/client_access,
        # why bother 
        # reject_unknown_client
        reject_rbl_client relays.ordb.org,
        reject_rbl_client sbl.spamhaus.org,
        reject_rbl_client opm.blitzed.org,
        reject_rbl_client dnsbl.njabl.org,
        reject_rbl_client blackholes.wirehub.net,
        reject_rbl_client list.dsbl.org,

Anda mungkin juga nantinya bisa melakukan riset, kira-kira RBL mana
yang paling "efektif" mencegat spam, setelah ketemu pindahkan ke yang
paling atas diantara RBL-RBL yang lain. Di Postfix, urutan berpengaruh.

Sebagai perbandingan ditempat saya (yang trafiknya sedikit):

    blocked using cbl.abuseat.org (total: 653)
    blocked using dnsbl.njabl.org (total: 4)
    blocked using dul.dnsbl.sorbs.net (total: 145)
    blocked using list.dsbl.org (total: 70)
    blocked using sbl.spamhaus.org (total: 22)

> strict_rfc821_envelopes = yes
> swap_bangpath = no
> unknown_address_reject_code = 554
> unknown_client_reject_code = 554
> unknown_hostname_reject_code = 554
> 
> 
> Keinginan saya secara logika begini:
> 1. Saya ingin block dari HELO command yg hostnamenya nggak ada
> 2. Saya ingin block dari HELO command yang hostnamenya nggak
>     valid, kecuali dari mynetworks.

1 dan 2 tidak ada bedanya, sudah diakomdasi dengan
reject_mumble_hostname  

> 3. Saya ingin block mail from dari list badmailfrom

Gunakan check_sender_access

> 4. Saya ingin block mail from dari list rbl
> 5. Saya ingin block mail from yg ada tanda \*& (yg aneh deh)

Kalau nggak salah ini sudah, dengan strict_rfc821_envelopes

> 6. Saya ingin block mail from dari domain yang tidak ada
> 7. saya ingin block mail from dari nonfqdn hostname.
> 8. Saya ingin reject rcpt to yang tidak ada di local_recipients,
>     relay_domains, 

Untuk domain lokal, validasi default dilakukan local_recipient_maps,
untuk domain relay (relay_domains) anda harus mendaftar mailbox yang
valid pada relay_recipient_maps (kecuali, jika daftar mailbox tsb bisa
diquery on-the-fly menggunakan DBMS atau LDAP).

> 9. Saya mau semua mail menggunakan rfc821
> 10. Saya mau cek header access yang ada attachment .vbs .pif. exe dll dibuang 
>       di level smtpd.

Kelihatannya, tanpa content_filter hal ini tidak bisa.

> 11. Saya mau reject email dari internal yg mau ngirim mail ke domain yg ngga
>     ada mx recordnya.

Ganti order reject_unknown_recipient_domain di
smtpd_recipient_restrictions menjadi misalnya seperti ini:

smtpd_recipient_restrictions =
        permit_tls_clientcerts,
        reject_unknown_recipient_domain,
        permit_mynetworks,
        reject_unauth_destination,
        [...]


> 12. Saya mau cek email dengan antivirus.
> 13. Saya juga mau cek semua mail dengan spamassasin.
> 
> 
> Gimana menurut rekan-rekan? Ada yg mau nambah? Atau mungkin masih kurang jika 
> mengacu ke logika yg saya inginkan? atau malah ini berlebihan?

Semoga sukses,

 Asfihani
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.