Thursday, 30 May 2013

Membuat FTP Server dengan VSFTPD di CentOS 5

Disini akan dibahas konfigurasi step-by-step membangun sebuah FTP Server dengan VSFTPD di linux CentOS 5. Artikel ini berguna untuk anda yang menggunakan hosting tipe VPS(Virtual Private Server) ataupun yang ingin memanfaatkan IP Publik dan koneksi internet 24 jam dari speedy anda. Nah langsung kita mulai saja dengan mengikuti langkah-langkah dibawah ini, alangkah lebih baiknya jika anda membaca artikel ini sambil mempraktekkannya.
1. Installasi paket vsftpd dengan menggunakan perintah yum (pastikan server linux anda sudah terkoneksi ke internet dengan baik)

[root@vpsku ~]# yum install vsftpd
2. Setelah proses installasi selesai silahkan mulai mengkonfigurasi vsftpd, silahkan gunakan editor favorite anda (nano,vi,emacs,vim) untuk mengedit file vsftpd.conf


[root@vpsku ~]# vim /etc/vsftpd/vsftpd.conf
Edit file vsftpd.conf menjadi sebagai berikut :
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to FTP Server K-Place.
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
3. Kemudian buatlah user dengan nama dan password apa saja yang nantinya akan digunakan untuk login ke ftp server

[root@vpsku ~]# adduser adminftp
[root@vpsku ~]# passwd adminftp
Changing password for user noc.
New UNIX password:
BAD PASSWORD: it is too simplistic/systematic
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
4. Membuat file chroot_list, file ini berisi daftar user yang bisa mengakses FTP server dan sekaligus akan mengunci folder agar user tidak bisa  kemana-mana selain ke folder homenya.
[root@vpsku ~]# vim /etc/vsftpd/chroot_list
Yang isinya adalah : adminftp
5. Restart Service FTP
[root@vpsku ~]# service vsftpd restart
6. Menjalankan Service FTP secara otomatis pada saat komputer server direstart

[root@vpsku ~]# chkconfig vsftpd on
7. Cek konfigurasi SELinux

SELinux kalau tidak salah adalah mirip User Account Control kalau di windows 7 yang  membatasi hak akses atau fungsi sebuah aplikasi atau daemon. Anda harus hati-hati dalam tahap ini karena jika salah dalam mengkonfigurasinya user ftp tidak akan bisa login ke home direktori mereka.
[root@vpsku ~]# getsebool -a | grep ftp
Jika anda mendapatkan status dari SELinux sepeti ini : getsebool: SELinux is disabled atau getsebool: SELinux is enabled
silahkan edit file konfigurasi dari SELinux dengan perintah :
[root@vpsku ~]# vi /etc/selinux/config
dimana sebelumnya filenya berisi :
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – SELinux is fully disabled.
SELINUX=disable
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted – Only targeted network daemons are protected.
# strict – Full SELinux protection.
SELINUXTYPE=targeted
diedit menjadi :
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – SELinux is fully disabled.
SELINUX=permisive
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted – Only targeted network daemons are protected.
# strict – Full SELinux protection.
SELINUXTYPE=targeted
lalu reboot komputer server dengan perintah
[root@vpsku ~]# reboot
Setelah komputer di reboot jalankan kembali command :
[root@vpsku ~]# getsebool -a | grep ftp
yang hasilnya kira-kira sebagai berikut :
allow_ftpd_anon_write –> off
allow_ftpd_full_access –> off
allow_ftpd_use_cifs –> off
allow_ftpd_use_nfs –> off
allow_tftp_anon_write –> off
ftp_home_dir –> on
ftpd_disable_trans –> off
ftpd_is_daemon –> on
httpd_enable_ftp_server –> off
tftpd_disable_trans –> off
apabila ftp_home_dir masih berstatus off, maka jalankan perintah :
[root@vpsku# setsebool -P ftp_home_dir on
[root@vpsku]# iptables -F
Demikian langkah-langkah membuat FTP Server sendiri di VPS atau Server kantor anda menggunakan linux CentOS 5. Khusus untuk installasi di server kantor anda supaya FTP Server bisa diakses dari internet silahkan baca dulu artikel Setting Mikrotik PPPoE sebagai gateway speedy   kemudian di sisi mikrotik anda jalankan perintah :
/ip firewall nat add chain=dstnat dst-address=69.69.69.69 
protocol=tcp dst-port=21 
\action=dst-nat to-addresses=192.168.1.101 to-ports=21
dimana alamat ip 69.69.69.69 adalah ip publik dari speedy dan alamat ip 192.168.1.101 adalah ip server lokal anda. Port 21 adalah port standart untuk protokol FTP.
 

No comments:

Post a Comment