BLOCK SMTP SELAIN DARI MAIL SERVER

Tulisan ini membahas cara memblokir port SMTP dari Jaringan LAN ke Internet kecuali Mail Server. Dengan kata lain, hanya trafik SMTP dari Mail Server saja yang diperbolehkan ke Internet, sedangkan komputer yang lain tidak diperbolehkan menggunakan SMTP langsung ke Internet.

Aturan ini diterapkan untuk mencegah program yang tidak diauthorize pada komputer klien yang mungkin mengirim email keluar tanpa melalui Mail Server resmi. Contohnya, Virus atau malware lain yang memiliki SMTP engine sendiri, yang digunakan untuk menyebarkan dirinya sendiri. Kalau hal ini terjadi, IP Public Mail Server kita akan di-black list oleh Mail Server lain karena dianggap spammer.

1. PERSIAPAN

Asumsi penulis, Jaringan LAN memiliki konfigurasi seperti ini:
a. Gateway Internet pakai Linux IPCOP memiliki 3 NIC :
eth0: 192.168.80.1
eth1: 192.168.2.1
eth2: 111.111.1.1
b. Mail Server ( dalam DMZ ), IP :192.168.2.2
c. Komputer user dalam LAN, dengan range IP : 192.168.80.0/24

Konfigurasi ini dapat dilihat pada gambar dibawah :

dmz

2. SETTING FIREWALL

Kita dapat menambahkan /kustom aturan firewall pada IPCOP. Penambahan / pengubahan dilakukan dengan cara mengedit file /etc/rc.d/rc.firewall.local.

Berikut langkah – langkahnya :
a. Pada mesin IPCOP, dari terminal / konsole, edit file diatas, dengan cara ketikan perintah :
nano /etc/rc.d/rc.firewall.local

b. Tambahkan script berikut :
i. bagian: start)

# Added for Block SMTP not from MailServer start – BEGIN
# allow smtp from some allowed ips
/sbin/iptables -A CUSTOMFORWARD -p tcp -i eth0 -s 192.168.80.0/24 -d 192.168.2.2 –dport 25 -j ACCEPT
/sbin/iptables -A CUSTOMFORWARD -p tcp -s 192.168.2.2 –dport 25 -j ACCEPT

# log stuff that is not the mail server
/sbin/iptables -A CUSTOMFORWARD -p tcp -i eth0 -s ! 192.168.2.2 –dport 25 -j LOG –log-prefix “SMTP”

# block all other outgoing SMTP traffic
/sbin/iptables -A CUSTOMFORWARD -p tcp -i eth0 -s 192.168.80.0/24 -d ! 192.168.2.2 –dport 25 -j REJECT
# Added for Block SMTP not from MailServer start – END

ii. bagian stop)

# Added for Block SMTP not from MailServer stop – BEGIN
/sbin/iptables -D CUSTOMFORWARD -p tcp -i eth0 -s 192.168.80.0/24 -d 192.168.2.2 –dport 25 -j ACCEPT
/sbin/iptables -D CUSTOMFORWARD -p tcp -s 192.168.2.2 –dport 25 -j ACCEPT
/sbin/iptables -D CUSTOMFORWARD -p tcp -i eth0 -s ! 192.168.2.2 –dport 25 -j LOG –log-prefix “SMTP”
/sbin/iptables -D CUSTOMFORWARD -p tcp -i eth0 -s 192.168.80.0/24 -d ! 192.168.2.2 –dport 25 -j REJECT
# Added for Block SMTP not from MailServer stop – END

c. simpan file rc.firewall.local tersebut.

d. Jalankan script :
root@gw:# ./rc.firewall.local start

e. Sekarang aturan firewall telah diterapkan. Daftar aturan yang ada dapat dilihat dengan perintah: iptables -L

Tampilannya seperti berikut :

Chain CUSTOMFORWARD (1 references)
target prot opt source destination
ACCEPT tcp — 192.168.80.0/24 192.168.2.2 tcp dpt:smtp
ACCEPT tcp — 192.168.2.2 anywhere tcp dpt:smtp
LOG tcp — !192.168.2.2 anywhere tcp dpt:smtp LOG level warning prefix `SMTP’
REJECT tcp — 192.168.80.0/24 !192.168.2.2 tcp dpt:smtp reject-with icmp-port-unreachable

3. PENUTUP

Aturan diatas dapat dikembangkan lagi untuk blokir port lain. Hanya perlu ganti nomor portnya saja.
Selamat mencoba.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: