• Tidak ada hasil yang ditemukan

Konfigurasi FTP Server pada Linux

N/A
N/A
Protected

Academic year: 2021

Membagikan "Konfigurasi FTP Server pada Linux"

Copied!
17
0
0

Teks penuh

(1)

Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika

Bab 4

Konfigurasi FTP Server pada Linux

1. FTP server

Ada banyak metode untuk mengkonfigurasi FTP server. Salah satunya

adalah user-ftp, yaitu ftp server yang hanya membolehkan user yang terdaftar untuk melakukan akses ftp ke server.

Jenis ftp server yang lain adalah anonymous FTP server. Anonymous

FTP server mengijinkan semua user untuk melakukan akses ftp dengan

menggunakan user anonymous. Dengan cara ini maka user tidak perlu terdaftar sebagai anggota untuk melakukan proses ftp. Anonymous ftp sangat populer diimplementasikan pada banyak server di seluruh dunia antara lain untuk server yang mengijinkan seorang user pada jaringan untuk terhubung dengannya dan mentransfer file tanpa memiliki account. Sehubungan dengan resiko yang bisa ditimbulkannya maka perlu diatur perijinan agar hanya directory-direktory tertentu yang bisa diakses.

Konfigurasi yang akan dibahas disini adalah FTP server yang

memungkinkan FTP untuk melakukan pengamanan tidak penuh

(semi-secure) dari sistem file Unix, Guest FTP access. Konfigurasi ini

mengijinkan user untuk memiliki akses ke direktory dari FTP server

tanpa perlu memberikan perijinan untuk bisa masuk ke level yang lebih tinggi. Cara ini merupakan setup pengamanan yang paling

(2)

Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika

Pada instalasi berikut ini diasumsikan :

• Perintah (commands) kompatibel dengan Unix

(Unix-compatible).

• Source path yang digunakan adalah /var/tmp, bisa dilakukan

setting dengan path yang lain.

• Proses instalasi diuji pada Red Hat Linux 6.1 atau lebih

baru

• Semua tahapan dalam proses instalasi dilakukan dengan

account super-user atau root.

• Versi dari wu-ftpd adalah 2.6.0

Paket-paket yang digunakan:

Wu- ftpd Homepage:http://www.wu-ftpd.org/

Wu- ftpd FTP Site:205.133.13.68

Lakukan download pada : wu- ftpd-2.6.0.tar.gz

Untuk proses kompilasi, perlu melakukan decompress terhadap

(3)

Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika

# c p wu-ftpd-version.tar.gz /var/tmp # c d /var/tmp

# t a r xzpf wu-ftpd-version.tar.gz

2. Melakukan proses Setup user FTP

Perlu kiranya untuk memberi user FTP shell account yang sifatnya tidak real pada

sistem Linux. Dengan cara ini, maka jika seorang user dapat keluar dari FTP

chrooted environment, maka user tersebut tidak mungkin bisa menjalankan task-task yang dibuatnya tanpa memiliki sebuah bash shell. Maka sehubungan dengan itu, langkah pertama yang dilakukan adalah membuat user- user baru yang diijinkan untuk melakukan akses ftp.

Lakukan perintah berikut ini untuk membuat user baru di file /etc/passwd. Langkah-langkah berikut ini harus selalu dikerjakan untuk setiap penambahan user baru.

# m k d i r /home/ftp

# u s e r a d d -d /home/ftp/ftpadmin/ -s /dev/null ftpadmin > /dev/null 2>&1 # p a s s w d ftpadmin

Changing password for user ftpadmin New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully

Perintah mkdir akan membuat direktori baru bernama ftp yang

berada di dalam direktori /home. Direktori /home/ftp digunakan sebagai home direktori dari ftp user dan cukup dibuat sekali saja.

Perintah useradd digunakan untuk menambah user baru ke

server linux

(4)

Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika

Edit file /etc/shells, vi /etc/shells dan tambahkan shell baru

yang tidak dikenali oleh linux (shell semu) dan beri sembarang nama, misalnya null. (Shell yang umum digunakan di unix antara lain c shell atau csh, bourne shell atau bash, korn shell atau ksh, dll). Shell semu /dev/null akan membatasi akses sistem yang dilakukan oleh ftp user.

Setelah itu, edit file /etc/passwd dan secara manual tambahkan

/./ untuk memisahkan direktori /home/ftp dengan direktori

/ftpadmin.

ftpadmin:x:502:502::/home/ftp/./ftpadmin/:/dev/null ^^

3. Menentukan user environment

Pada instalasi ftp server yang bertipe user-ftp, user yang

melakukan akses ftp harus dibatasi hanya pada direktori yang telah ditentukan. Hal ini dimaksudkan agar user tidak dapat masuk ke direktori lain sehingga keamanan lebih terjaga. Pada contoh dibawah ini, user ftp hanya diperbolehkan mengakses direktori /home/ftp.

(5)

Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika

Setelah direktori /home/ftp dibuat, berikutnya adalah menjalankan perintah-perintah sbb. :

# m k d i r /home/ftp/dev # m k d i r /home/ftp/etc # m k d i r /home/ftp/bin # m k d i r /home/ftp/lib

Kemudian direktori-direktori tersebut modenya diset menjadi 0511

untuk alasan keamanan. Dengan cara tersebut maka root mempunyai hak baca dan eksekusi, sedangkan user lainnya hanya mempunyai hak eksekusi saja.

# c h m o d 0511 /home/ftp/dev/ # c h m o d 0511 /home/ftp/etc/ # c h m o d 0511 /home/ftp/bin # c h m o d 0511 /home/ftp/lib

1. Copykan file binary /bin/ls ke /home/ftp/bin dan ubahlah

(6)

Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika

dapat dieksekusi saja tetapi tidak dapat dibaca maupun dimodifikasi.

# c p /bin/ls /home/ftp/bin # c h m o d 0111 /bin/ls /home/ftp/bin/ls

2. Carilah shared library file yang berhubungan dengan file ls

dengan perintah :

# ldd /bin/ls

libc.so.6 => /lib/libc.so.6 (0x00125000)

/lib/ld-linux.so.2 =7gt; /lib/ld-linux.so.2 (0x00110000)

Setelah itu copykan file di atas ke direktori /home/ftp/lib :

# c p /lib/libc.so.6 /home/ftp/lib/ # c p /lib/ld-linux.so.2 /home/ftp/lib/

File library tersebut diperlukan agar file ls dapat bekerja secara normal pada sistem jaringan.

Setelah itu buatlah file /home/ftp/dev/null

# m k n o d /home/ftp/dev/null c 1 3 # c h m o d 666 /home/ftp/dev/null

3. Copykan file /etc/group dan /etc/passwd ke /home/ftp/etc. Setelah hapuslah semua user kecuali yang dibutuhkan saja yaitu user yang diperbolehkan untuk mengakses ftp.

a.

# c p /etc/passwd /home/ftp/etc/ # c p /etc/group /home/ftp/etc/

(7)

Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika

b. Editlah file /home/ftp/etc/passwd dengan perintah v i

/home/ftp/etc/passwd , kemudian hapuslah semua user yang

tidak dibutuhkan sehingga user yang tertinggal hanya seperti berikut ini :

root:x:0:0:root:/:/dev/null

ftpadmin:x:502:502::/ftpadmin/:/dev/null

c. Edit file /home/ftp/etc/group dengan perintah, v i

/home/ftp/etc/group dan hapus semua baris sehingga

menjadi seperti berikut ini :

root:x:0:root ftpadmin:x:502:

4. Untuk keamanan data yang lebih baik, file passwd dan group diubah attributnya . # c d /home/ftp/etc/ # c h a t t r +i passwd # c d /home/ftp/etc/ # c h a t t r +i group

4. Konfigurasi

Semua file konfigurasi yang dibutuhkan untuk tiap software

disediakan dalam bentuk file gzipped file, floppy.tgz untuk

kemudahan. Dan dapat di-download dari alamat web : http://www.openna.com/books/floppy.tgz File tersebut dapat

(8)

Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika

diekstrak (unpack) ke sembarang lokasi pada mesin lokal anda,

misalnya /tmp, asumsikan anda telah mengerjakan hal tersebut

dan sekarang struktur direktory menjadi /tmp/floppy. Dengan

directory floppy seperti ini, maka tiap file konfigurasi memiliki directory-nya sendiri-sendiri untuk tiap software. Sebagai contoh, file konfigurasi FTP diorganisasikan seperti ini :

total 32

-rw-r--r-- 1 iwanarif iwanarif 419 Jun 8 13:00 Compile-Wuftpd

-rw--- 1 iwanarif iwanarif 1036 Jun 8 13:00 ftpaccess -rw--- 1 iwanarif iwanarif 538 Jun 8 13:00

ftpconversions

-rw--- 1 iwanarif iwanarif 39 Jun 8 13:00 ftpgroups -rw--- 1 iwanarif iwanarif 188 Jun 8 13:00 ftphosts -rw--- 1 iwanarif iwanarif 79 Jun 8 13:00 ftpusers

drwxr-xr-x 2 iwanarif iwanarif 4096 Jun 8 13:00 logrotate.d/ drwxr-xr-x 2 iwanarif iwanarif 4096 Jun 8 13:00 pam.d/

Anda bisa melakukan cut dan paste secara langsung dengan mengikuti instruksi yang diberikan atau secara manual mengeditnya untuk dimodifikasi sesuai dengan kebutuhan anda. Fasilitas ini sangat mudah, akan tetapi jangan lupa untuk melakukan pengujian, verifikasi, dsb, sebelum anda menggunakannya untuk memastikan apakah perlu dimodifikasi atau tidak.

Untuk menjalankan FTP server, file-file berikut ini akan

dibutuhkan dan harus dibuat atau dikopikan ke directory pada server anda.

(9)

Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika

• Copikan file ftpusers ke dalam directory /etc/.

• Copikan file ftphosts ke dalam directory /etc/.

• Copikan file ftpgroups ke dalam directory /etc/.

• Copikan file ftpconversion ke dalam directory /etc/.

• Copikan file ftp ke dalam directory /etc/pam.d/.

• Copikan file ftpd ke dalam directory /etc/logrotate.d/.

4.1. Configurasi file /etc/ftphosts

File /etc/ftphosts digunakan untuk mendefinisikan apakah user

diijinkan untuk melakukan log in dari suatu host atau apakah terdapat akses yang diabaikan (denied access).

1. Buat file ftphosts, touch /etc/ftphosts dan tambahkan (sebagai

contoh) baris-baris berikut ke dalam file ini :

# Example host access file #

# Everything after a '#' is treated as comment, # empty lines are ignored

allow ftpadmin 208.164.186.1 208.164.186.2 208.164.186.4 deny ftpadmin 208.164.186.5

2. Pada contoh dibawah ini, user ftpadmin untuk terhubung via

FTP dari daftar alamat secara eksplisit 208.164.186.1

208.164.186.2 208.164.186.4, dan abaikan koneksi user ftpadmin

dari site 208.164.186.5.

3. Sekarang, perubahan secara default diijinkan adalah 600:

[root@deep ] /# c h m o d 600 /etc/ftphosts

(10)

Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika

4.2. Konfigurasi file /etc/ftpusers

File /etc/ftpusers/ menentukan bahwa user-user yang bersangkutan

TIDAK diijinkan untuk terhubung ke FTP server.

1. Buat file ftpusers, touch /etc/ftpusers dan tambahan dalam file

ini user-user berikut untuk tujuan pengamanan :

Root bin daemon adm lp sync shutdown halt mail news uucp operator games nobody

2. Sekarang, perubahan yang secara default diijinkan adalah 600:

[root@deep ] /# c h m o d 600 /etc/ftpusers

4.3. Konfigurasi file /etc/ftpconversions

File /etc/ftpconversions berisi instruksi yang mengijinkan anda untuk

melakukan compress files sesuai kebutuhan sebelum ditransfer.

1. Edit file ftpconversions, v i /etc/ftpconversions dan tambahkan

(11)

Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika

:.Z: : :/bin/compress -d -c %s:T_REG│T_ASCII:O_UNCOMPRESS:UNCOMPRESS : : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS :.gz: : :/bin/gzip -cd %s:T_REG│T_ASCII:O_UNCOMPRESS:GUNZIP : : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP : : :.tar:/bin/tar -c -f - %s:T_REG│T_DIR:O_TAR:TAR : : :.tar.Z:/bin/tar -c -Z -f - %s:T_REG│T_DIR:O_COMPRESS│O_TAR:TAR+COMPRESS : : :.tar.gz:/bin/tar -c -z -f - %s:T_REG│T_DIR:O_COMPRESS│O_TAR:TAR+GZIP : : :.crc:/bin/cksum %s:T_REG::CKSUM : : :.md5:/bin/md5sum %s:T_REG::MD5SUM

2. Sekarang, perubahan yang diijinkan secara default adalah 600:

[root@deep ] /# c h m o d 600 /etc/ftpconversions

4.4. Konfigurasi file /etc/pam.d/ftp

Konfigurasi file /etc/pam.d/ftp untuk keperluan autentifikasi pam

dengan membuat file /etc/pam.d/ftp dan menambahkan baris perintah

berikut :

#%PAM-1.0

auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

auth required /lib/security/pam_pwdb.so shadow nullok auth required /lib/security/pam_shells.so

account required /lib/security/pam_pwdb.so session required /lib/security/pam_pwdb.so

4.5. Konfigurasi file /etc/logrotate.d/ftpd

Konfigurasi file /etc/logrotate.d/ftpd untuk melakukan rotate secara

otomatis file log anda setiap minggu dengan membuat file /etc/logrotate.d/ftpd dan menambahkan baris perintah berikut :

/var/log/xferlog {

(12)

Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika

nocompress }

4.6. Konfigurasi ftpd menggunakan tcp-wrappers inetd

Tcp-wrappers harus diset enable untuk memulai dan mengakhiri ftpd server. Selama proses eksekusi, inetd membaca informasi konfigurasi dari file konfigurasi, secara default ada pada /etc/inetd.conf. Harus ada entri untuk tiap field dari file konfigurasi, dengan entri tiap field yang terpisah dengan tanda tab atau spasi.

Edit file inetd.conf, vi /etc/inetd.conf dan tambahkan atau lakukan

verifikasi terhadap keberadaan dari baris perintah berikut :

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a

Ubah file inetd.conf dengan mengirimkan sinyal SIGHUP, killall -HUP

inetd, setelah menambahkan baris perintah diatas dalam file tersebut.

[root@deep ] /# killall -HUP inetd

Edit file hosts.allow, v i /etc/hosts.allow dan tambahkan, sebagai

contoh, baris perintah berikut :

in.ftpd: 192.168.1.4 win.openna.com

Yang mana berarti client IP 192.168.1.4 dengan host name

(13)

Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika

5. Pengamanan FTP

File ftpusers. Penting artinya untuk memastikan bahwa telah

dilakukan setup terhadap file /etc/ftpusers untuk menentukan

user-user yang mana yang tidak diijingkan untuk terhubung ke FTP

server. Minimum, entri-entri berikut: root, bin, daemon, adm, lp,

sync, shutdown, halt, mail, news, uucp, operator, games, tidak seorangpun dan semua default vendor memiliki account dalam file /etc/passwd.

Anonymous F T P program. Untuk men-disable anonymous FTP, hapus

anonymous user ftp dari file password dan lakukan pembuktian

(verifikasi) bahwa paket anonftp-version.i386.rpm tidak diinstall pada sistem anda.

Untuk menghapus user user ftp dari file password, gunakan perintah

berikut :

[root@deep ] /# userdel ftp

Untuk membuktikan bahwa paket RPM dari anonymous FTP program tidak

diinstal pada sistem Linux, gunakan perintah berikut :

[root@deep ] /# r p m -q anonftp

package anonftp is not installed

Perintah upload. Secara default, server Wu-ftpd server akan menjamin kewenangan (privileges) upload untuk semua user. Parameter upload mengijinkan remote clients untuk me-load dan

(14)

Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika

menempatkan file-file pada FTP server. Untuk pengamanan yang

optimal, kita tidak mengijinkan user untuk dapat melakukan upload

ke dalam sub directory bin, etc, dev, dan lib dalam directory

/home/ftp. Dalam file /etc/ftpaccess kita telah mempunyai chroot'd

users untuk /home/ftp dan user-user tersebut tidak dapat melakukan

akses pada daerah filesystem diluar upload file ke dalam /home/ftp/, /home/ftp/bin, /home/ftp/etc, /home/ftp/dev, dan /home/ftp/lib.

Lakukan edit pada file ftpaccess, vi /etc/ftpaccess dan tambahkan

baris perintah berikut untuk mengabaikan upload privileges.

# We don't want users being able to upload into these areas. upload /home/ftp/* / no

upload /home/ftp/* /etc no upload /home/ftp/* /dev no upload /home/ftp/* /bin no upload /home/ftp/* /lib no

Perintah diatas dibutuhkan untuk mengabaikan perintah upload ke dalam directory /, /etc, /dev, /bin dan /lib dari struktur directory chroot /home/ftp.

6. File spesial .notar

Apakah anda mengijinkan untuk mentar-kan directory atau tidak, harus dipastikan. End-run tidak dapat dibuat dengan menggunakan perintah tar pada semua area dimana parameter upload tidak diijinkan. Untuk maksud tersebut, buatlah direktory khusus untuk

file .notar dalam tiap directory dan dalam directory FTP.

[root@deep ] /# t o u c h /home/ftp/.notar [root@deep ] /# t o u c h /home/ftp/etc/.notar [root@deep ] /# t o u c h /home/ftp/dev/.notar [root@deep ] /# t o u c h /home/ftp/bin/.notar [root@deep ] /# t o u c h /home/ftp/lib/.notar

(15)

Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika

[root@deep ] /# c h m o d 0 /home/ftp/.notar [root@deep ] /# c h m o d 0 /home/ftp/etc/.notar [root@deep ] /# c h m o d 0 /home/ftp/dev/.notar [root@deep ] /# c h m o d 0 /home/ftp/bin/.notar [root@deep ] /# c h m o d 0 /home/ftp/lib/.notar

File Zero-length .notar akan bisa tercampur dengan beberapa web

clients dan FTP proxies, sehingga perlu ditandai agar tidak

terjadi kemungkinan yang tidak diinginkan. Tambahkan baris

perintah berikut ke dalam file /etc/ftpaccess.

noretrieve .notar

Perintah noretrieve. Parameter noretrieve dari Wu-ftpd server mengijinkan anda untuk mengabaikan transfer dari directory atau file yang sudah dipilih. Ini merupakan cara yang bagus untuk

mencegah downloads dari subdirectori seperti bin, etc, dev, dan lib

dalam directory /home/ftp dengan memberikan perintah noretrieve

pada file /etc/ftpaccess.

# We'll prevent downloads with noretrieve. noretrieve /home/ftp/etc

noretrieve /home/ftp/dev noretrieve /home/ftp/bin noretrieve /home/ftp/lib

7. Instalasi Anonymous FTP dengan wu-ftp

Pada instruksi berikut ini, /home/ftp adalah home dari anonymous FTP user

seperti yang tertulis dalam file /etc/passwd. File FTP daemon, ftpd mengenali

(16)

Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika

Direktori utama untuk mengakses anonymous ftp adalah /home/ftp. Hal ini berarti bahwa semua user yang login sebagai anonymous hanya mempunyai akses ke direktori /home/ftp.

Struktur direktori untuk anonymous ftp adalah sbb. :

• /home/ftp—hanya dimiliki oleh root, hak tulis hanya dimiliki oleh root

• /home/ftp/etc—dimiliki oleh root, hak tulis hanya dimiliki oleh root

• /home/ftp/bin—dimiliki oleh root dan berisi beberapa program misalnya: compress, cpio, gzip, ls, sh, tar, dan zcat. Semua file

tersebut harus mempunyai mode ---x--x--x; chmod 111 ~ftp/bin/*

• /home/ftp/lib—berisi file ld-linux.so.2, libc.so.6, libnsl.so.1, and libnss_files.so.1.

• /home/ftp/pub – dimiliki oleh root/ftp, dan dapat keduanya diberi akses untuk menulis (write)

• /home/ftp/pub/incoming – direktori ini dapat ditulisi oleh siapa saja. Hal ini bisa berakibat berbahaya jika pada saat menginstall anonymous ftp setting securitynya tidak bagus.

Direktori /etc harus diset 111 dan harus berisi file groups, passwd dan ld.so.cache

Direktori upload dan download harus dibuat dibawah direktori /home/ftp/pub. Untuk seorang user anonymous ftp yang akan mengirimkan/menuliskan file ke direktori “upload”, direktori ini harus dimiliki oleh FTP dan diset ‘writable’ buat pemiliknya.

FTP user harus sudah terdaftar di file /etc/passwd seperti baris dibawah ini:

ftp:*:14:50:FTP User:/home/ftp:

FTP adalah service yang diatur oleh inet dan harus tertulis pada file /etc/services. Untuk mengcek apakah ftp sudah tertulis pada file /etc/services, ketikkan perintah

(17)

Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika

$ cat services |grep ftp ftp-data 20/tcp ftp 21/tcp tftp 69/udp sftp 115/tcp

Jika belum ada, maka tambahkan baris ini : ftp 21/tcp

Referensi :

• http://www.tldp.org/LDP/solrhe/Securing-Optimizing- Linux-

RH-Edition-v1.3/index.html

• Official wu-ftp Site, www.wu-ftpd.org

• Official Redhat Site, www.redhat.com

• Linux Documentation Project, www.ldp.org

Referensi

Dokumen terkait

Saya menyambut dengan gembira penerbitan Publikasi Tahunan "DISTRIK RASIEY DALAM ANGKA TAHUN 2014" oleh BPS Kabupaten Teluk Wondama, karena penerbitan ini merupakan

yang datang ke UNAIR, menuturkan bahwa acara yang telah berlangsung untuk kali kelima ini sengaja diadakan untuk mencari potensi pemuda, terkhusus mahasiswa UNAIR..

Untuk daerah yang bentuknya tidak baku, bukan bentuk seperti bahasan 3.1, cara menghitung luasnya dengan menggunakan persegi-persegi

Penggunaan Android pada aplikasi ini karena Android merupakan platform mobile yang lengkap, terbuka (open source) dan bebas untuk develop sehingga banyak orang yang

Sehingga penelitian ini akan menguji dengan menggunakan tiga variabel yaitu apakah ketidakpastian lingkungan eksternal organisasi, sentralisasi dan ukuran organisasi

Untuk mengetahui pengaruh komunikasi interpersonal guru dan pengelolaan kelas terhadap prestasi belajar ekonomi siswa kelas XI IPS MAN Rantau Utara tahun

Berdasarkan tes yang dilakukan, disimpulkan bahwa tingkat berpikir geometri dari siswa tunanetra masih berada pada tahap pra visualisasi.Selain itu, penelitian yang dilakukan