Posts Tagged ‘ftp server’

Red Hat: Membuka port vsftp pada IPtables

February 3, 2010

Yes, it’s another simply note.. 😉

Default ftp server pada sitopi merah ini adalah vsftpd. Ftp server agak sedikit berbeda cara kerjanya. Ga cukup dengan cuma membuka port 20 dan 21. Ada dua modus kerja ftp, yaitu active dan pasive. Berikut link yang bagus dalam menjelaskan cara kerja ftp.

Setelah menginstall vsftpd, file2 konfigurasinya terdapat pada /etc/vsftpd. Ini link penjelasan isi file konfigurasinya. Untuk membuat vsftpd menerima pasive connection adalah dengan menambahkan 2 baris berikut pada /etc/vsftpd/vsftpd.conf

pasv_min_port=12000
pasv_max_port=12003

Default value pada pasv_min_port dan pasv_max_port ini adalah 0. Sehingga kita harus menentukan range port yang mau dipakai sendiri agar ftp server bisa melisten passive mode request dari ftp client.

Ok, sekarang tinggal melist port yang dibutuhkan, berarti semuanya adalah port tcp 20, 21, dan 12000-12003.

Ada cara mudah untuk mengallow port pada redhat. Redhat pada defaultnya sudah mempunyai rule iptables sendiri yang disimpan pada file /etc/sysconfig/iptables. Sebenarnya kita tidak harus mengerti detail command iptables, cukup gunakan contoh rule yang sudah ada. Dan trik inilah yang juga saya pakai pada ujian rhce kemarin. 😉

Edit file /etc/sysconfig/iptables dan tambahkan seperti yang saya cetak tebal dibawah.

-- /etc/sysconfig/iptables --
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 12000:12003 -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

Ok, sekarang tinggal restart service2nya.

# /etc/init.d/vsftpd restart
# /etc/init.d/iptables restart

That’s all. Ga susahkan. I think that everyone can be a sysadmin. What all you need is just google. 😆

Good luck.

Advertisements