Translate








Rabu, 29 Januari 2014

Membangun Server FTP dengan vsftpd di Linux Centos 5.6

vsftpd (Very Secure FTP Daemon) merupakan server FTP yang dikembangkan oleh Chris Evans. Vsftpd diciptakan dengan tingkat keamanan yang cukup untuk menutupi beberapa permasalahan yang terdapat pada server FTP konvensional. Penggunaan chroot() pada vsftpd dapat membatasi visibilitas direktori user didalam server. Selain itu, kita bisa menggunakan OpenSSL untuk mengenkripsi transfer file. Sebagai FTP server, vsftpd mendukung mode pasif dan aktif, dan bekerja pada port 21 atau bisa juga pada port yang kita tentukan sendiri. Instalasi vsftpd sangatlah mudah, cukup dengan baris perintah dibawah ini:

[root@MAJAPAHIT ~]# yum install vsftpd


File konfigurasi vsftpd berada dalam direktori /etc/vsftpd. Ada 4 buah file yakni : ftpusers, user_list vsftpd.conf, vsftpd_conf_migrate.sh. File konfigurasi utama yakni vsftpd.conf, dimana didalamnya terdapat direktif yang bisa kita ubah sesuai dengan kebutuhan. File ftpusers merupakan file teks yang akan digunakan untuk membatasi user-user yang bisa mengaksed server FTP, cukup dengan memasukkan nama user kedalam file tersebut, maka user tersebut tidak akan diizinkan untuk mengakses server FTP. File user_list secara default berisi daftar user yang diizinkan mengakses server FTP, namun apabila direktif "userlist_enable=YES" (default) pada file konfigurasi utama (vsftpd.conf), maka fungsinya sama seperti file ftpusers dimana file user_list ini tidak akan mengizinkan user yang terdaftar untuk mengakses server FTP. File yang terakhir yakni vsftpd_conf_migrate.sh merupakan shell script untuk migrasi file konfigurasi vsftpd yang lama agar kompatibel dengan versi vsftpd baru yang terinstall.

Menjalankan server FTP


Untuk memulai pengetesan server FTP, kita jalankan dulu service vsftpd dengan perintah:

[root@MAJAPAHIT ~]# service vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]


Coba untuk mengakses server FTP melalui browser ke alamat IP server FTP seperti gambar dibawah:

(Gambar 1: Akses FTP konfigurasi default, anonymous allowed)
Pada konfigurasi vsftpd default, kita bisa mengakses server FTP dengan anonymous. Untuk itu, kita coba melakukan konfigurasi pada vsftpd.conf untuk membatasi user anonymous. Kita buka file konfigurasi dan merubah direktif "anonymous_enable=YES" menjadi "anonymous_enable=NO". Setelah melakukan perubahan pada file tersebut, kita restart service vsftpd (service vsftpd restart), lalu coba akses kembali melalui browser :

(Gambar 2: Anonymous restriction)

Selanjutnya, kita coba membuat user baru yang akan kita gunakan untuk mengakses server FTP. Kita buat saja user dengan nama ujang.

[root@MAJAPAHIT ~]# useradd ujang
[root@MAJAPAHIT ~]# passwd ujang
Changing password for user ujang.
New UNIX password:
BAD PASSWORD: it is too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.


Coba Login FTP dengan user ujang melalui browser:

(Gambar 3: Login dengan user Ujang sukses)

Sekarang, kita coba tambahkan user ujang kedalam file ftpusers. Lalu restart service vsftpd, dan lakukan akses kembali ke server ftp dengan browser.

(Gambar 4 : Menambahkan user ujang kedalam file ftpusers)

Apabila kita akses kembali server FTP dengan user ujang, maka akan muncul Alert seperti berikut, yang menandakan bahwa user ujang tidak bisa mengakses server FTP, karena sudah kita masukkan kedalam file ftpusers.
(Gambar 5 : User ujang tidak bisa mengakses server FTP)

Berikutnya kita akan melakukan uji coba fungsi chroot() yang terdapat dalam vsftpd. Terlebih dahulu kita aktifkan kembali user ujang (hapus atau beri komentar pada user ujang dari file ftpusers). Restart service vsftpd, lalu lakukan login ftp melalui konsol seperti dibawah ini:

(Gambar 6 : user ujang login ftp dan melakukan navigasi pada system)

Saat ini user Ujang bisa login FTP dan melakukan navigasi terhadap system dengan leluasa. Untuk itu, kita akan coba membatasi ujang agar hanya bisa berada di home direktorinya saja. Kita lakukan konfigurasi kembali pada file vsftpd.conf, kita ubah direktif dengan mengaktifkan "chroot_list_enable=YES" (hilangkan tanda ‘#’), lalu aktifkan direktif "chroot_list_file=/etc/vsftpd/chroot_list" (hilangkan tanda ‘#’), dan buat file chroot_list pada direktori /etc/vsftpd.

(Gambar 7 : perubahan file konfigurasi vsftpd)

Setelah melakukan perubahan diatas, kita tambahkan user ujang kedalam file /etc/vsftpd/chroot_list. lalu kita restart service vsftpd (service vsftpd restart), dan coba login kembali melalui konsol dengan user ujang.

(Gambar 8 : user ujang tidak bisa melakukan navigasi ke direktori lain selain home direktori nya sendiri)
Dengan mengaktifkan fitur chroot() seperti diatas, akan jauh lebih aman dikarenakan user hanya bisa mengakses home direktori nya saja. Namun untuk konfigurasi lebih jauh silahkan disesuaikan dengan kebijakan dan kebutuhan kita di lapangan. Lebih jauh kita bisa mempelajari direktif-direktif yang lain yang terdapat pada file vsftpd.conf atau dengan mempelajari manualnya.
{ Read More }


Jumat, 17 Januari 2014

Linux Centos 5 Sebagai DHCP Server Jaringan Lokal (LAN)

Fitur DHCP Server pada Linux CentOS jarang sekali digunakan, karena fitur ini sudah terdapat pada perangkat jaringan yang umum digunakan seperti Router, ataupun Modem. Namun walaupun demikian, kita bisa saja menggunakan fitur dhcp server ini untuk alternatif apabila perangkat utama tersebut bermasalah. Atau mungkin untuk sekedar memisahkan fungsi DHCP dari perangkat Router yang dikhususkan untuk Routing dan Filtering, dan Modem yang dikhususkan untuk Dial Internet.

Disini saya akan mengkonfigurasi Linux Centos 5 sebagai DHCP Server untuk melayani Jaringan Lokal (LAN). IP Address Server yakni 192.168.1.101/24. Berikut langkah-langkah instalasi :

INSTALL PAKET DHCP

[root@MAJAPAHIT ~]# yum install dhcp


File konfigurasi utama berada di /etc/dhcpd.conf. Sedangkan contoh konfigurasi berada di /usr/share/doc/dhcp*/dhcpd.conf.sample.

KONFIGURASI DHCP
  • DHCP Dinamis (Dynamic DHCP)
  • [root@MAJAPAHIT ~]# nano /etc/dhcpd.conf
    
    
     
    Isi File:
    ddns-update-style interim;
            subnet 192.168.1.0 netmask 255.255.255.0 {
            option subnet-mask 255.255.255.0;
            option routers 192.168.1.101;
            option domain-name-servers 192.168.1.101;
            default-lease-time 600;
            max-lease-time 604800;
            range 192.168.1.50 192.168.1.60;
    }
    
    
    Dari client, setting IP dinamis (obtain). Berikut contoh ip yang diperoleh dari client windows :
    Ethernet adapter VMware Network Adapter VMnet1:
    
       Connection-specific DNS Suffix  . :
       Description . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet1
       Physical Address. . . . . . . . . : 00-50-56-C0-00-01
       DHCP Enabled. . . . . . . . . . . : Yes
       Autoconfiguration Enabled . . . . : Yes
       Link-local IPv6 Address . . . . . : fe80::5482:7f32:f34d:9e37%17(Preferred)
       IPv4 Address. . . . . . . . . . . : 192.168.1.60(Preferred)
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       Lease Obtained. . . . . . . . . . : Thursday, January 16, 2014 2:11:44 PM
       Lease Expires . . . . . . . . . . : Thursday, January 16, 2014 2:21:47 PM
       Default Gateway . . . . . . . . . : 192.168.1.101
       DHCP Server . . . . . . . . . . . : 192.168.1.101
       DNS Servers . . . . . . . . . . . : 192.168.1.101
       NetBIOS over Tcpip. . . . . . . . : Disabled
    
    
    
  • DHCP Statis (Static DHCP)
    ddns-update-style interim;
            subnet 192.168.1.0 netmask 255.255.255.0 {
            option subnet-mask 255.255.255.0;
            option routers 192.168.1.101;
            option domain-name-servers 192.168.1.101;
            #option ntp-servers 192.168.1.101;
            default-lease-time 600;
            max-lease-time 604800;
            range 192.168.1.50 192.168.1.60;
    
    # List IP Statik
            host myNotebook {
                    hardware ethernet 00:50:56:C0:00:01;
                    fixed-address 192.168.1.55;
            }
    
    }
    
    
    
    Hasil dari client Windows
    Ethernet adapter VMware Network Adapter VMnet1:
    
       Connection-specific DNS Suffix  . :
       Description . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet1
       Physical Address. . . . . . . . . : 00-50-56-C0-00-01
       DHCP Enabled. . . . . . . . . . . : Yes
       Autoconfiguration Enabled . . . . : Yes
       Link-local IPv6 Address . . . . . : fe80::5482:7f32:f34d:9e37%17(Preferred)
       IPv4 Address. . . . . . . . . . . : 192.168.1.55(Preferred)
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       Lease Obtained. . . . . . . . . . : Thursday, January 16, 2014 2:20:08 PM
       Lease Expires . . . . . . . . . . : Thursday, January 16, 2014 2:30:12 PM
       Default Gateway . . . . . . . . . : 192.168.1.101
       DHCP Server . . . . . . . . . . . : 192.168.1.101
       DNS Servers . . . . . . . . . . . : 192.168.1.101
       NetBIOS over Tcpip. . . . . . . . : Disabled
    
    
Untuk melihat informasi mengenai client yang terhubung ke dhcp server, kita bisa melihatnya di /var/lib/dhcpd/dhcpd.leases
[root@MAJAPAHIT ~]# cat /var/lib/dhcpd/dhcpd.leases


Informasi Client yang sedang terhubung :
lease 192.168.1.60 {
  starts 4 2014/01/16 14:14:58;
  ends 4 2014/01/16 14:24:58;
  tstp 4 2014/01/16 14:24:58;
  binding state active;
  next binding state free;
  hardware ethernet 00:50:56:c0:00:01;
  uid "\001\000PV\300\000\001";
  client-hostname "ASUS-PC";
}
lease 192.168.1.60 {
  starts 4 2014/01/16 14:14:58;
  ends 4 2014/01/16 14:19:50;
  tstp 4 2014/01/16 14:19:50;
  binding state free;
  hardware ethernet 00:50:56:c0:00:01;
  uid "\001\000PV\300\000\001";
}

{ Read More }


IconIconIconFollow Me on Pinterest

Blogger news

Blogroll

What's Hot