Networking With Debian Lenny
Networking With Debian Lenny
Alyan - NRP 2205 100 170 Jurusan Teknik Elektro, Fakultas Teknologi Industri, Institut Teknologi Sepuluh Nopember (ITS) Surabaya
Operating System (OS) Debian pertama kali diperkenalkan pada 16 Agustus 1993 oleh Ian Murdock, seorang mahasiswa di Universitas Purdue, Jerman. Awalnya Murdock menyebut sistemnya dengan sebutan "Debian Linux Release". Murdock meluncurkan distribusi baru Linux karena termotivasi oleh kurangnya perawatan dan juga lemahnya pertahanan distribusi Linux sebelumnya terhadap bugs. Dalam Debian Manifesto, Murdock menginginkan agar distribusi Debian dikembangkan secara terbuka dengan semangat Linux dan GNU. Dia memberi nama Debian sebagai gabungan kata dari nama pacarnya (sekarang istrinya) Debra dan namanya sendiri. Proyek Debian tumbuh secara lamban pada awalnya dan me-rilis versi 0.9x pada tahun 1994 dan 1995. Port pertama yang dikembangkan untuk arsitektur computer lain dimulai pada 1995 dan versi 1.x Debian mulai di-rilis pada tahun 1996. Tabel 1. versi yang telah dan akan di-rilis Debian: versi code name tanggal rilis 1.2 1.1 Buzz 17 juni 1996 1.3 Rex 12 des 1996 2.0 Bo 5 juni 1997 2.1 Hamm 24 juli 1998 2.2 Slink 9 maret 1999 3.0 Potato 15 agustus 2000 3.1 Woody 19 juli 2002 4.0 Sarge 6 juni 2005 TBA Etch 8 april 2007 Lenny direncanakan sept 2008, saat ini sedang testing
menginstallnya dengan langsung terhubung ke internet dan meng-unduh paketpaket Debian Lenny dari mirror yang menyediakan package Lenny di internet. Kali ini, kami meng-install Debian Lenny dengan langsung terhubung ke internet. Koneksi internet ini nanti akan sangat berguna untuk mendapatkan package dari Debian Lenny yang sangat banyak. Untuk instalasi system dasar, tetap menggunakan installer dari CD-ROM. Langkah-langkah instalasi secara umum adalah sebagai berikut: 1. Nyalakan PC dan masukkan CD installer sistem dasar Debian Lenny 2. ubah rst boot device pada BIOS menjadi CD-ROM 3. ikuti petunjuk instalasi pada tiap-tiap langkah 4. saat proses akan ditanya zona tempat PC berada, kami pilih Indonesia 5. ditanya apakah kongurasi internetnya memakai DHCP atau tidak, kami pilih tidak dan memasukkan IP Address dan info lain tentang PC secara manual 6. saat proses juga akan diminta melakukan proses partisi. Kami men-setting partisi LVM (Logical Volume Manager) dan juga men-set partisi yang terenkripsi 7. saat proses akan ditanya apakah memakai koneksi ke mirror ataukah tidak, jika ya akan dicarikan lokasi mirror terdekat. Kami pilih tidak, karena kami akan men-settingnya nanti ketika system dasar telah ter-install 8. proses akan mendeteksi hardware yang dipakai. Jika berhasil maka proses instalasi system dasar akan berlanjut. Proses instalasi system dasar akan memakan waktu yang cukup lama. Setelah selesai, maka kita akan berhadapan dengan konsol shell yang memaksa kita menggunakan perintah dasar bahasa shell dalam bentuk command line dioalog karena kita belum memiliki tampilan gras berupa GNOME atau pun KDE. Setelah system dasar selesai di-install, kini kami berhadapan dengan konsol shell yang memaksa kami menggunakan command line. 1. pertama kita set sambungan ke mirror di /etc/network/source.list dengan menggunakan perintah nano /etc/network/source.list mirror yang kami pakai adalah :
http://mirror.computer.ee.its.ac.id/debian lenny main contrib non-free
dengan DNS 202.46.129.2 2. kami juga perlu meng-congure koneksi Ethernet card yang tersambung ke PC dengan perintah
ifcong
4. sebelum meng-unduh package dari mirror, kami update dulu dengan mengetik perintah
apt-get update
5. setelah itu, kita perlu menginstall system dasar untuk tampilan GNOME sebagai tampilan gras atau GUI (Graphical User Interface). Paket-paket yang perlu di-install di antaranya: xbase-clients, xserver-xorg, xserverxfree86, xfonts, lalu yang terakhir adalah gnome 6. sebelum mengunduh package dan meng-install-nya, ada baiknya mengecek keberadaaan package tersebut terlebih dahulu dengan menggunakan perintah:
apt-cache search [package yang dicari]
8. Sebelum masuk ke tampilan gnome, ada baiknya kita mengecek ulang apakah package-package dasar untuk masuk ke tampilan gnome seperti yang disebutkan di atas telah ter-install semua. Untuk masuk ke GNOME, ketikkan perintah gdm. Setelah kita masuk ke tampilan gnome, kita akan lebih mudah melakukan setting karena tampilannya sudah memakai tampilan gras yang tentunya sangat membantu. Sekarang kita bisa menikmati tampilan gras gnome. Berbagai layanan aplikasi yang dibawa debian pun dapat kita manfaatkan. Hampir segala macam bentuk ekstensi le dapat dikenali dan dibaca dengan baik oleh system debian lenny ini. Namun, ternyata kita tidak lama menikmati tampilan gras ini. Untuk proses instalasi dan setting aplikasi atau layanan yang diberikan lenny pada jaringan ternyata harus memakai command line dialog melalui terminal shell console.
1 Partisi Terenkripsi
Setting partisi yang ter-enkripsi telah diatur sejak saat instalasi. Namun, password enkripsinya baru disetting setelah instalasi selesai. Proses enkripsi partisi membutuhkan instalasi package cryptsetup. 3
2. buat partisi baru dg cfdisk / tools partisi hardisk lainnya (gparted, fdisk, dll), lalu reboot.
misal : partisi baru adalah /dev/sda6
6. Mounting partisi yg sudah terenkripsi bisa dilakukan dg 2 step, yaitu : (a) Mapping ke /dev/mapper/CRYPT-DATA (step 3) (b) Lalu mount-lah ke direktori yg anda inginkan
root:~# cryptsetup luksOpen /dev/sda6 CRYPT-DATA root:~# mount /dev/mapper/CRYPT-DATA /data
Penting :
Partisi yg terenkripsi ini tidak bisa dibuka secara langsung, melainkan
harus di lakukan perintah spt diatas utk kemudian muncul sebagai device baru yaitu /dev/mapper/CRYPT-DATA. Setelah muncul pada direktori /dev/mapper, device baru ini bisa kita format, bisa kita baca (mount) selayaknya device pada umumnya.
Ketika proses menambahkan kunci ini, anda akan ditanya tentang salah satu kunci yg sudah dibuat. 4
Perintah diatas berarti akan mendelete key pada slot 1. Ketika proses menghapus kunci, anda akan ditanya tentang salah satu kunci yg ada. 4. Ganti password dengan cara : Menambahkan key / password baru spt pada no (1) Lalu delete password lama pada slot yg ingin anda hapus spt pada no (3)
Untuk memberikan servis DNS server, kami menggunakan bind9. Kongurasi bind9 mencakup kongurasi forward DNS dan juga reverse DNS. Forward DNS berguna untuk menerjemahkan domain name ke IP address. Sedangkan Reverse DNS untuk menerjemahkan IP address ke domain name. Berikut ini adalah langkah-langkah instalasi dan kongurasi bind9 untuk jaringan yang kami buat. 1. Install bind9
root:~#apt-get install bind9
setelah meng-install, kita tak langsung bisa memakai service bind9 ini. Kita perlu menyetting le-le kongurasi sesuai kondisi jaringan yang kita miliki. 2. edit le /etc/bind/named.conf.options Isinya sebagai berikut:
options { directory "/var/cache/bind"; // If there is a rewall between you and nameservers you want // to talk to, you might need to uncomment the query-source // directive below. Previous versions of BIND always asked // questions using port 53, but BIND 8.1 and later use an unprivileged // port by default. // query-source address * port 53; // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. // forwarders { // 0.0.0.0; // }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; # Tambahan version none; allow-query { 10.122.67.0/24; 192.168.1.0/24; 192.168.0.0/24; 10.10.2.0/24; 192.168.2.0/24; 10.10.0.0/24; }; allow-transfer { none; }; };
/etc/init.d/bind9 restart
3. buat le untuk Forward DNS dengan nama /etc/bind/db.namadomain forward DNS berguna untuk menterjemahkan nama domain ke IP address yang bersesuaian
le etc/bind/db.bakti.lab :
$TTL 24h bakti.lab. IN SOA baktilab.bakti.lab. root.bakti.lab ( 2007062800 ; serial 3h ; refresh 30m ; retry 7d ; expire 3h ; negative caching ttl ); ;Name server bakti.lab. IN NS 202.46.129.2.;
$TTL 24h camp.lab. IN SOA debian.camp.lab. root.camp.lab ( 2007062800 3h 30m 7d 3h); ;Name server camp.lab. IN NS 10.122.67.110; ;Host-host debian.camp.lab. IN A 10.122.67.110 suse.camp.lab. IN A 192.168.2.2 fedora.camp.lab. IN A 10.10.0.18
4. buat le untuk reverse DNS dengan nama /etc/bind/db.IPaddress reverse DNS berguna untuk menterjemahkan IP address ke nama domainnya
le /etc/bind/db/1/db.1.68.192
$TTL 24h bakti.lab. IN SOA baktilab.bakti.lab root.bakti.lab ( 2007062800 3h 30m 7d 3h); ;Nameserver bakti.lab. IN NS 202.46.129.2; ;host-host 2.1.168.192.in-addr.arpa. IN PTR baktilab.bakti.lab. 2.2.10.10.in-addr.arpa. IN PTR FreeBSD.bakti.lab. 2.0.168.192.in-addr.arpa. IN PTR Solaris.bakti.lab.
File /etc/bind/db.2.168.192
$TTL 24h 2.168.192.in-addr.arpa. IN SOA debian.camp.lab. root.camp.lab ( 2007062800 3h 30m 7d 3h); ;nameserver camp.lab. IN NS 10.122.67.110.; ;host-host 18.0.10.10.in-addr.arpa. IN PTR fedora.camp.lab. 2.2.168.192.in-addr.arpa. IN PTR suse.camp.lab. 110.67.122.10.in-addr.arpa. IN PTR debian.camp.lab.
5. sekarang servis bind sudah siap dipakai ketik perintah /etc/init.d/bind9 restart
4 Shorewall (rewall)
Shorewall merupakan salah satu jenis rewall yang berguna untuk mem-protect jaringan agar terhindar dari gangguan hacker yang mencoba merusak jaringan kita. Shorewall juga berfungsi sebagai pintu akses dari dan ke jaringan kita. Oleh karena itu, berbagai macam aturan tertentu dapat kita terapkan pada setting shorewall untuk menghindari hal-hal yang tidak kita inginkan terjadi pada jaringan kita. Shorewall memanfaatkan prinsip IPTables. Pada dasarnya kita dapat membuat sebuah rewall dengan menggunakan IPTables. Namun, IPTables terkesan sangat rumit bagi orang kebanyakan. Dengan adanya shorewall, membuat rewall tidak lagi terasa sulit, karena pada dasarnya shorewall merupakan IPtables yang disederhanakan. Perintah yang kita tuliskan pada shorewall akan menggenerate IPTables. Jelaskan tentang IPTables Langkah-langkah untuk instalasi dan setting shorewall adalah sebagai berikut: 1. install shorewall
apt-get install shorewall
10
loc net ACCEPT loc1 net ACCEPT # If you want open access to DMZ from loc, change the following policy # to ACCEPT. (If you chose not to do this, you will need to add a rule # for each service in the rules le.) loc loc1 REJECT info loc $FW REJECT info loc all REJECT info ## Policies for trac originating from the rewall ($FW) # # If you want open access to the Internet from your rewall, change the # $FW to net policy to ACCEPT and remove the 'info' LOG LEVEL. $FW net REJECT info $FW loc1 REJECT info $FW loc REJECT info $FW all REJECT info # # Policies for trac originating from the De-Militarized Zone (dmz) # # If you want open access from DMZ to the Internet change the following # policy to ACCEPT. This may be useful if you run a proxy server in # your DMZ. #loc1 net REJECT info loc1 $FW REJECT info loc1 loc REJECT info loc1 all REJECT info # # Policies for trac originating from the Internet zone (net) # net loc1 DROP info net $FW DROP info net loc DROP info net all DROP info # THE FOLLOWING POLICY MUST BE LAST all all REJECT info
11
eth1 eth2
192.168.1.0/24 192.168.2.0/24
12
Ping/ACCEPT loc1 net Ping/ACCEPT loc net ACCEPT $FW net icmp 80 ACCEPT $FW loc icmp 80 ACCEPT $FW loc1 icmp 80 # Uncomment this if using Proxy ARP and static NAT and you want to allow ping from # the net zone to the dmz and loc #Ping/ACCEPT net dmz #Ping/ACCEPT net loc ACCEPT loc1 net tcp 22,80,8080,901,20,25,110 ACCEPT loc net tcp 22,80,8080,21,901,20,25,110 ACCEPT fw net tcp 22,80,8080,21,901,20,25,110 ACCEPT fw loc tcp 22,80,8080,21,901,20,25,110 ACCEPT fw loc udp 53,161,25,110 #ACCEPT loc loc1 tcp 901 #ACCEPT loc ACCEPT fw loc1 udp 53,161,25,110 ACCEPT fw loc1 tcp 22,80,8080,21,901,20,25,110 #ACCEPT loc net udp 53,161,25,110 #ACCEPT loc1 net udp 53,161,25,110 ACCEPT fw net udp 53,161,25,110 ACCEPT loc fw tcp 22,80,8080,21,901,20,25,110 ACCEPT loc fw udp 53,161,25,110 ACCEPT all all icmp 80
jaringan melalui router yang melibatkan penulisan kembali alamat IP dari sumber (Source) dan Tujuan (Destination) serta alamat port TCP/UDP selama paket ditransmisikan. Dengan NAT, sejumlah host dalam suatu jaringan dapat meng-akses internet dengan menggunakan satu alamat IP public yang sama. NAT menyembunyikan alamat-alamat IP yang dikelola secara internal dari jaringan-jaringan eksternal dengan menerjemahkan alamat internal pribadi menjadi alamat eksternal umum. Hal ini mengurangi biaya registrasi alamat IP dengan cara membiarkan para pelanggan memakai alamat IP yang tidak terdaftar secara internal melalui suatu terjemahan ke sejumlah kecil alamat IP yang terdaftar secara eksternal. Hal ini juga menyembunyikan struktur jaringan internal, mengurangi resiko penolakan serangan layanan terhadap sistem internal.
14
Mekanisme
Informasi SPF disimpan dalam DNS dengan menggunakan record TXT untuk domain yang bersangkutan. Contoh kasus: Saya ingin menambahkan record SPF untuk domain sokam.or.id. SMTP server yang berhak mengirim email dengan alamat sokam.or.id adalah server itu sendiri (10.11.12.13), serta sebuah server lagi dengan alamat IP 5.6.7.8. Bentuk record DNS ini kira-kira seperti ini: Dengan setup seperti di atas, bila server SMTP yang beralamat 2.3.4.5 mengirimkan email dengan domain sokam.or.id, maka email tersebut dianggap sebagai SPAM. Bagaimana dengan domain yang tidak mempublish record SPF? segala SMTP server yang mengirim email menggunakan domain tersebut dianggap valid.
sokam.or.id. IN TXT "v=spf1 mx ip4:5.6.7.8 -all"
Instalasi
root# apt-get install libmail-spf-query-perl
Kongurasi SPF
Kongurasi SPF ini dilakukan pada le kongurasi postx, yakni master.cf dan main.cf.
le master.cf
Tambahkan baris di bawah ini. policy unix - n n - - spawn user=nobody argv=/usr/bin/perl /usr/local/sbin/postxpolicyd.pl
le main.cf
Tambahkan check_policy_service unix:private/policy pada bagian smtpd_recipient_restrictions, sehingga lengkapnya seperti potongan di bawah ini. smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname, Perhatikan bagian kongurasi yang dicetak tebal. Restartlah postx
/etc/init.d/postx restart
check_policy_service unix:private/policy
15
8 DHCP Server
Dynamic Host Conguration Protocol (DHCP) adalah suatu protocol dalam jaringan untuk memberikan informasi TCP/IP kepada host client. Tiap client yang terhubung kepada server DHCP akan diberi kongurasi jaringannya oleh server DHCP mulai dari info IP address, gateway dan DNS Server-nya. DHCP sangat berguna pada kongurasi jaringan yang membutuhkan akses cepat. Ketika mengkongurasi system client, administrator tak perlu memasukkan informasi IP address, gateway, netmask ataupun DNS servernya. Client mendapatkan informasi ini dari DHCP server. DHCP juga sangat berguna ketika administrator ingin megganti IP address dari sejumlah system. Administrator cukup mengubah satu kongurasi DHCP pada server untuk mengubah alamat IP, tanpa perlu mengkongurasi ulang system. Jika DNS server jaringan berubah, perubahan tak perlu dilakukan pada semua client, tapi cukup pada DHCP server. Lebih lanjut, jika sebuah laptop disetting sebagi DHCP client, maka ia bisa berpindah dari satu jaringan ke jaringan lain selama dalam jaringan tersebut ada DHCP server yang membolehkannya terhubung ke dalam jaringan.
2. kongurasi DHCP Server kita perlu memodikasi le /etc/dhcp3/dhcpd.conf berikut ini adalah isi le kongurasinya:
subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.1 192.168.1.50; option domain-name "bakti.lab"; deny unknown-clients; } subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.1 192.168.2.50; option domain-name "camp.lab"; deny unknown-clients; }
16
Pada anonymous FTP, pengguna tidak memerlukan account pada server sebagai ijin masuk. Biasanya, username yang digunakan adalah 'anonymous'. Account ini tidak memerlukan password. Walaupun user biasanya diminta mengisi alamat email sebagai password, namun biasanya hal ini tidak memerlukan verikasi dan user bisa langsung masuk ke server FTP. Tapi, ini juga tergantung kongurasi FTP server yang bersangkutan.
Authenticated
Dengan authenticated FTP, user memerlukan account dan password untuk bisa masuk ke ftp server. 17
FTP server yang kami pakai untuk memberikan servis FTP adalah proftpd. Langkah-langkah setting proftpd yang kami lakukan adalah sebagai berikut: 1. install proftpd
root:~#apt-get install proftpd
18
# If your host was NATted, this option is useful in order to # allow passive tranfers to work. You have to use your public # address and opening the passive ports used on your rewall as well. # MasqueradeAddress 1.2.3.4 # To prevent DoS attacks, set the maximum number of child processes # to 30. If you need to allow more than 30 concurrent connections # at once, simply increase this value. Note that this ONLY works # in standalone mode, in inetd mode you should use an inetd server # that allows you to limit maximum number of processes per service # (such as xinetd) MaxInstances 30 # Set the user and group that the server normally runs at. User root Group nogroup # Umask 022 is a good standard umask to prevent new les and dirs # (second parm) from being group and world writable. Umask 022 # Normally, we want les to be overwriteable. AllowOverwrite on # Uncomment this if you are using NIS or LDAP via NSS to retrieve passwords: # PersistentPasswd o # This is required to use both PAM-based authentication and local passwords # AuthOrder *mod_auth_pam.c mod_auth_unix.c # Be warned: use of this directive impacts CPU average load! # Uncomment this if you like to see progress and transfer rate with ftpwho # in downloads. That is not needed for uploads rates. # # UseSendFile o # Choose a SQL backend among MySQL or PostgreSQL. # Both modules are loaded in default conguration, so you have to specify the backend # or comment out the unused module in /etc/proftpd/modules.conf. # Use 'mysql' or 'postgres' as possible values. # #<IfModule mod_sql.c> # SQLBackend mysql #</IfModule> TransferLog /var/log/proftpd/xferlog
19
SystemLog /var/log/proftpd/proftpd.log <IfModule mod_quotatab.c> QuotaEngine o </IfModule> <IfModule mod_ratio.c> Ratios o </IfModule> # Delay engine reduces impact of the so-called Timing Attack described in # http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02 # It is on by default. <IfModule mod_delay.c> DelayEngine on </IfModule> <IfModule mod_ctrls.c> ControlsEngine o ControlsMaxClients 2 ControlsLog /var/log/proftpd/controls.log ControlsInterval 5 ControlsSocket /var/run/proftpd/proftpd.sock </IfModule> <IfModule mod_ctrls_admin.c> AdminControlsEngine o </IfModule> # Alternative authentication frameworks #Include /etc/proftpd/ldap.conf #Include /etc/proftpd/sql.conf # This is used for FTPS connections #Include /etc/proftpd/tls.conf # A basic anonymous conguration, no upload directories. <Anonymous ~ftp> User ftp Group nogroup # We want clients to be able to login with "anonymous" as well as "ftp" UserAlias anonymous ftp
20
# Cosmetic changes, all les belongs to ftp user DirFakeUser on ftp DirFakeGroup on ftp RequireValidShell o # Limit the maximum number of anonymous logins MaxClients 10 # We want 'welcome.msg' displayed at login, and '.message' displayed # in each newly chdired directory. DisplayLogin welcome.msg DisplayChdir .message # Limit WRITE everywhere in the anonymous chroot <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> # Uncomment this if you're brave. #<Directory incoming> # Umask 022 is a good standard umask to prevent new les and dirs # (second parm) from being group and world writable. Umask 022 <Limit READ WRITE> DenyAll </Limit> <Limit STOR> AllowAll </Limit> </Directory> </Anonymous>
1. install nfs-kernel-server
root:~# apt-get install nfs-common nfs-kernel-server
2. meng-kongurasi le /etc/exports mengatur le mana yang di-share, untuk siapa saja le tersebut kita share dan juga permission yang akan kita berikan. Berikut ini sebagian dari isi le /etc/exports
/opt/share 192.168.1.0/24(sync,no_wdelay,subtree_check,rw,root_squash) 192.168.2.0(sync,no_wdelay,subtree_check,rw,root_squash)
3. restart nfs-kernel-server
/etc/init.d/nfs-kernel-server restart
Instalasi
Untuk seting LDAP server, kita memerlukan paket-paket berikut ter-istall: jawab pertanyaan lalu atur kongurasi ulang slapd agar dpkg menanyai kita bebrapa pertanyaan lagi.
#dpkg-recongure slapd Omit OpenLDAP server conguration? ... No DNS domain name: ... debuntu. local Name of your organization: ... Whatever & Co # apt-get install slapd ldap-utils migrationtools
22
sekarang kita telah men-set up domain kita. Start servis LDAP dengan mengetik:
# /etc/init.d/slapd start
Admin Password: XXXXX Conrm Password: XXXXX OK BDB Do you want your database to be removed when slapd is purged? ... No Move old database? ... Yes Allow LDAPv2 Protocol? ... No
Setelah itu kita harus menembah user dan grup ke dalam database LDAP
Mengumpulkan database
Dengan menggunakan migration tools kita dapat meng-import semua user dan grup yang ada dari local system ke dalam database LDAP. Kita harus meng-edit le kongurasi migrationtools migrate_common.ph mengganti parameter berikut:
$DEFAULT_MAIL_DOMAIN = "debuntu.local"; $DEFAULT_BASE = "dc=debuntu,dc=local"; #cd /usr/share/migrationtools/
sayangnya, script yang ada tidak membuatkan node Group dan Orang, maka kita perlu membuatnya. Untuk membuatnya, buatlah le ~/people_group.ldif dan isi sebagai berikut:
dn: ou=People, dc=debuntu, dc=local ou: People objectclass: organizationalUnit dn: ou=Group, dc=debuntu, dc=local ou: Group objectclass: organizationalUnit
kita telah merubah user dan grup ke dalam format ldif LDAP. Sekarang kita harus meng-import mereka ke dalam database LDAP.
dengan:
23
-W membutuhkan password -D digunakan untuk mengenali administrator -f untuk menentukan le di mana ldapadd menemukan data untuk diambil
12 IP Alias
IP aliasing adalah suatu metode yang memungkinkan server memberikan lebih dari satu alamat IP bagi suatu interface yang bisa dikenali oleh jaringan luar selain alamat IP asli interface tersebut. IP aliasing berguna dalam hosting secara virtual Web dan server FTP serta dalam meng-organisasi ulang server tanpa harus merubah kongurasi mesin lain (sangat berguna bagi nameserver). Kita bisa memisalkan IP alias sebagai anak kecil yang menumpang ke punggung interface orang tuanya (yang memiliki alamat utama interface sik). Pemberian IP alias kami setting pada le /etc/network/interfaces dan hasilnya adalah sebagai berikut:
# This le describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 #IP Alias untuk eth0 auto eth0:0 iface eth0:0 inet static address 192.168.1.5 network 192.168.1.0 #IP address eth0 auto eth0 iface eth0 inet static address 10.122.67.110 netmask 255.255.255.0 network 10.122.67.0 broadcast 10.122.67.255 gateway 10.122.67.1 #IP alias untuk eth2 auto eth2:2 iface eth2:2 inet static address 192.168.2.12 #IP address eth2 auto eth2 iface eth2
24
inet static address 192.168.2.1 netmask 255.255.255.0 up route add -net 10.10.0.0 netmask 255.255.255.0 gw 192.168.2.2 #gateway 192.168.2.1 #IP alias untuk eth1 auto eth1:1 iface eth1:1 address 192.168.1.19 #IP address eth1 auto eth1 iface eth1 inet static address 192.168.1.1 netmask 255.255.255.0 up route add -net 10.10.2.0 netmask 255.255.255.0 gw 192.168.1.2 up route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.1.2 #gateway 192.168.1.0
13 IP Forward
IP Forwarding berguna untuk mem-forward semua request yang ditujukan ke url tertentu untuk diarahkan menuju IP address spesik yang sesuai. Misalnya, request ke url www.its.ac.id akan di-redirect ke alamat IP address 202.46.129.23 Secara default, setting IP forward adalah disabled. Hal ini dikarenakan suatu host yang bertindak sebagai client tidak memerlukan IP forward. Namun, karena debian Lenny berlaku sebagai router, maka kita perlu meng-enable IP Forward. Untuk meng-enable IP forward, sebelumnya kita perlu mengecek apakah IP forwarding telah enable Jika nilai keluarannya adalah 0, maka hal itu berarti IP forwarding disable. Untuk meng-enable, kita perlu memodikasi le /etc/sysctl.conf dan menambahkan baris berikut: jika sudah, maka kita tinggal me-restart network kita dengan me-restart servis procps
/etc/init.d/procps.sh restart net.ipv4.ip_forward = 1 cat /proc/sys/net/ipv4/ip_forward 0
25
26
Target[10.10.0.1]: /10.10.0.1:public@192.168.2.2 MaxBytes[10.10.0.1]: 1250000 Title[10.10.0.1]: Suse ke Fedora - 10.10.0.1 PageTop[10.10.0.1]: <h1> Suse ke Fedora - 10.10.0.1</h1> Unscaled[10.10.0.1]: ymwd
4. membuat halaman web untuk tampilan dengan indexmaker edit le /var/www/mrtg/newindex.sh dan tambahkan baris perintah berikut
indexmaker /etc/mrtg.cfg output /var/www/mrtg/index.html
agar le yang baru kita buat dapat di-eksekusi, maka ketikkan perintah berikut pada konsol
chmod 770 /var/www/mrtg/newindex.sh
CACTI
CACTI merupakan software monitoring trac pada jaringan yang memanfaatkan RRDtool sebagai software graphing/perekam trac dan menyajikannya dalam bentuk gras. Berikut adalah proses instalasi dan kongurasi CACTI 1. Install cacti
root:~# apt-get install cacti
2. Kongurasi cacti pada saat proses instalasi, akan diminta untuk mengkongurasi setting MySql dengan wizard. Di akhir proses, sebuah database MySql dan cacti yang telah memiliki username akan dibuat secara otomatis. 3. Diminta untuk memberi Password user root MySql 4. Lalu, akan diminta memberi Password user MySql Cacti yang baru 5. Konrmasi password user MySql Cacti 6. Diminta memilih web server yang akan digunakan oleh Cacti. Pilih apache2 Sekarang Cacti sudah siap digunakan lewat http://localhost/cacti. login default dan passwordnya adalah admin. Perhatikan bahwa script poller.php yang mengirim request ke host dikeluarkan oleh user apache2. Untuk mengkongurasi ulang Cacti, gunakan perintah berikut:
#dpkg-recongure cacti
#/usr/share/cacti/site/php5 poller.php
27
kita perlu mengaktifkan poller pertama kali, lalu akan berjalan secara otomatis setiap 5 menit.
16 XDMCP
X Display Manager Control Protocol (XDMCP) menyediakan suatu metode bagi user pada client untuk menjalankan X Display dan berkomunikasi dengan server yang juga menjalankan X Display. Ketika Koneksi telah terjadi, user dapat masuk dan menjalankan program seperti halnya user sedang menjalankan remote pada komputer server. Station di mana user me-remote server biasa disebut dengan X terminal yang sebenarnya merupakan jendela menuju server. Semua software terletak pada server, semua pemrosesan dilakukan pada CPU server, dan semua le yang diakses juga terletak pada server. sehingga, X Terminal hampir tidak memerlukan sumber daya dari dirinya sendiri. Sebaliknya, CPU server haruslah sangat stabil.
Kongurasi Dasar
XDMCP merupakan protokol komunikasi yang sangat bermanfaat untuk menghemat sumber daya akan tetapi seperti halnya ftp, protokol ini tidak aman dari kemungkinan gangguan hacker. Sangat mudah bagi hacker untuk mengendap masuk dan mengambil informasi username dan password yang dilayangkan melalui koneksi tanpa enkripsi. XDMCP mestinya hanya dijalankan pada jaringan yang terpercaya. Server XDMCP harus menjalankan X Display Manager seperti xdm, kde atau gdm. Pada dasarnya, jika server telah masuk ke login screen gras, maka server telah menjalankan display manager. Pada server debian lenny yang kami pakai menggunakan display manager GNOME atau gdm. Untuk mengkongurasi mesin sebagai XDMCP server, kami mengkongurasinya saat booting. Hal ini kami lakukan dengan memodikasi le /etc/inittab. Hasilnya akan menunjukkan baris berikut:
id:5:initdefault:
Kita tak perlu tergesa-gesa meng-kongrasi X terminal. Kita perlu mengecek apakah kongurasi XDMCP telah di-enable dan dikongurasi untuk layanan fonts serta tidak ada rewall yang menghalangi. Jika semua telah kita cek, maka XDMCP server mestinya dapat berjalan dengan baik. Kita juga perlu memodikasi le /etc/gdm/gdm.conf dan mengeset Agar X Terminal dapat mengakses servis yang diberikan XDMCP server, X Terminal harus menjalankan OS yang memiliki kongurasi X server. Windows dapat menggunakan Xming untuk mengakses XDMCP yang diberikan server.
Enable=true
17 Quagga
Quagga adalah sebuah software aplikasi untuk routing protokol. Quagga tersusun atas bebrapa daemon. Satu untuk tiap protokol routing dan yang lain disebut Zebra yang berlaku sebagai kernel routing manager. Tiap daemon memiliki kongurasi dan terminal interface masing-masing yang bisa diakses melalui telnet. Quagga bekerja secara terpisah dari Operating Sistem di mana Quagga di-install. Harus ditekankan bahwa Quagga hanya memiliki kemampuan routing dan fungsi yang berhubungan dengannya, seperti route maps dan access list. Quagga tidak menyediakan servis non-routing seperti DHCP server, NFS server atau akses ssh.
Instalasi SSH
Beberapa paket program utama yang dijadikan satu paket dalam SSH suite adalah : 1. make-ssh-known-host Skrip Perl yang membuat database dari host-host yang otomatis dibuat berdasarkan domain.
29
2. scp The Secure Shell Copy Program, mengamankan penggAndaan data dari satu komputer ke komputer lainnya. Data ditransfer dalam bentuk enkripsi oleh SSH. 3. ssh The Secure shell client, program yang bekerja seperti telnet. Perintah dapat Anda jalankan secara remote sebagaimana telnet bekerja. 4. ssh-add Menambahkan kunci (key) baru terhadap autentikasi ssh-agent 5. ssh-agent Digunakan untuk autentikasi lewat jaringan dengan model RSA. 6. sshd Secure shell server, secara default bekerja pada port 22. 7. ssh-keygen Program pembuat kunci (key generator) untuk ssh. Selesai proses instalasi, Anda dapat mulai mengedit le kongurasi untuk SSH :
/etc/sshd_cong (File kongurasi server) /etc/ssh_cong (File kongurasi klien)
Kongurasi Server
setelah di-edit, le /etc/sshd_cong akan tampak sebagai berikut :
# Package generated conguration le # See the sshd(8) manpage for details # What ports, IPs and protocols we listen for Port 22 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2 # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key #Privilege Separation is turned on for security UsePrivilegeSeparation yes # Lifetime and size of ephemeral version 1 server key KeyRegenerationInterval 3600 ServerKeyBits 768 # Logging SyslogFacility AUTH LogLevel INFO # Authentication: LoginGraceTime 120 PermitRootLogin yes StrictModes yes RSAAuthentication yes PubkeyAuthentication yes # AuthorizedKeysFile %h/.ssh/authorized_keys # Don't read the user's ~/.rhosts and ~/.shosts les
30
IgnoreRhosts yes # For this to work you will also need host keys in /etc/ssh_known_hosts RhostsRSAAuthentication no # similar for protocol version 2 HostbasedAuthentication no # Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication # IgnoreUserKnownHosts yes # To enable empty passwords, change to yes (NOT RECOMMENDED) PermitEmptyPasswords no # Change to yes to enable challenge-response passwords (beware issues with # some PAM modules and threads) ChallengeResponseAuthentication no # Change to no to disable tunnelled clear text passwords # PasswordAuthentication yes # Kerberos options # KerberosAuthentication no # KerberosGetAFSToken no # KerberosOrLocalPasswd yes # KerberosTicketCleanup yes # GSSAPI options # GSSAPIAuthentication no # GSSAPICleanupCredentials yes X11Forwarding yes X11DisplayOset 10 PrintMotd no PrintLastLog yes TCPKeepAlive yes # UseLogin no # MaxStartups 10:30:60 # Banner /etc/issue.net # Allow client to pass locale environment variables AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server UsePAM yes
Untuk menjalankan sshd, cukup ketikkan sshd pada konsole. Ada beberapa pilihan dalam menjalankan sshd. Pilihan ini diketikkan sebagai preks saat menjalankan sshd. Misal : # sshd -g 60 (menjalankan sshd dengan timeout untuk klien 60 detik)
# sshd
Kongurasi Klien
Untuk klien, ssh mempergunakan le /etc/ssh_cong. Setelah di-edit, le tersebut berisi :
# This is the ssh client system-wide conguration le. See
31
# ssh_cong(5) for more information. This le provides defaults for # users, and the values can be changed in per-user conguration les # or on the command line. # Conguration data is parsed as follows: # 1. command line options # 2. user-specic le # 3. system-wide le # Any conguration value is only changed the rst time it is set. # Thus, host-specic denitions should be at the beginning of the # conguration le, and defaults at the end. # Site-wide defaults for some commonly used options. For a comprehensive # list of available options, their meanings and defaults, please see the # ssh_cong(5) man page. Host * # ForwardAgent no # ForwardX11 no # ForwardX11Trusted yes # RhostsRSAAuthentication no # RSAAuthentication yes # PasswordAuthentication yes # HostbasedAuthentication no # GSSAPIAuthentication no # GSSAPIDelegateCredentials no # GSSAPIKeyExchange no # GSSAPITrustDNS no #BatchMode no # CheckHostIP yes # AddressFamily any # ConnectTimeout 0 # StrictHostKeyChecking ask # IdentityFile ~/.ssh/identity # IdentityFile ~/.ssh/id_rsa # IdentityFile ~/.ssh/id_dsa # Port 22 # Protocol 2,1 # Cipher 3des #Ciphers #aes128-cbc,3des-cbc,blowsh-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc # MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160 # EscapeChar ~ # Tunnel no # TunnelDevice any:any # PermitLocalCommand no SendEnv LANG LC_* HashKnownHosts yes GSSAPIAuthentication yes GSSAPIDelegateCredentials no
32
Dedication
Tulisan ini merupakan hasil dari praktek langsung membuat jaringan komputer (LAN) yang dijalani oleh penulis selama satu minggu penuh. Dilaksanakan pada saat liburan semester Gasal 2007/2008, tepatnya tanggal 20-26 Januari 2008 silam. Praktek yang dijalani penulis bersama 5 orang rekannya tersebut merupakan salah satu dari sekian rangkaian seleksi untuk menjadi warga lab B201 (Lab Komputer dan Digital) di Jurusan Teknik Elektro ITS Surabaya. Saat itu, penulis dan rekan-rekannya diminta untuk membangun sebuah jaringan yang terdiri dari 6 buah PC dengan Operating System (OS) yang berbeda-beda untuk tiap PC. Tiap orang dalam grup tersebut bertanggung jawab terhadap satu buah PC berikut OS-nya. OS yang dipakai di antaranya: Debian Lenny, Windows Server 2003, Open Solaris, Free BSD, Open SuSe, dan yang terakhir adalah Fedora. Selain meng-kongurasi jaringan, tiap PC dengan OS-nya yang 'unik' harus dapat memberikan servis aplikasi-aplikasi yang telah ditentukan oleh 'senior'. Penulis sendiri mendapatkan 'jatah' OS Debian Lenny dengan 18 aplikasi yang 'kudu' diberikannya. Aplikasi yang diberikan Lenny bisa dibilang paling banyak dan juga paling sulit. Maklum, Debian Lenny bertindak sebagai server dalam jaringan yang dibuat. Meski di akhir praktek tidak semua servis mampu diselesaikan oleh penulis, tapi penulis coba mencari-cari lagi metode penyelesaian yang tepat dari internet dan belajar dari rekan yang lain. Kalaupun tidak ketemu caranya, penulis coba memberikan gambaran seperti apakah aplikasi yang dimaksud. Penulis berharap ilmu yang didapat dari pengalamannya selama mengkongurasi jaringan bersama rekan-rekannya ini akan dapat bermanfaat bagi mereka yang ingin belajar meng-administrasi jaringan LAN dengan server berbasis Debian Lenny. Surabaya, Maret 2008 ttd Penulis
33