LINUX DAN SECURITY - DOC

Document Sample
LINUX DAN SECURITY - DOC Powered By Docstoc
					LINUX DAN SECURITY
Tedi Heriyanto

September 2000

Materi ini disampaikan pada Seminar Nasional Komputer II di

Universitas Gadjah Mada Jogjakarta pada bulan September 2000


Abstraksi



Dalam makalah akan dibahas mengenai beberapa isu keamanan yang umum ditemui pada
sistem operasi Linux yaitu keamanan pada host dan keamanan pada jaringan. Dalam
keamanan host, akan dibahas mengenai password, services, program-program SUID,
serta enkripsi data, sementara pada keamanan jaringan, yang akan dibahas adalah ftp,
telnet, keamanan email, dan keamanan web. Di bagian akhir makalah, akan dibicarakan
mengenai beberapa buah tools yang dapat digunakan untuk memperbaiki keamanan
jaringan anda.

Keamanan Host (host security)

Password

Untuk dapat mengakses sistem operasi Linux digunakan mekanisme password. Pada
distribusi-distribusi Linux yang lama, password tersebut disimpan dalam suatu file teks
yang terletak di /etc/passwd. File ini harus dapat dibaca oleh setiap orang (world
readable) agar dapat digunakan oleh program-program lain yang menggunakan
mekanisme password tersebut.



Berikut ini adalah contoh isi file /etc/passwd :



root:..CETo68esYsA:0:0:root:/root:/bin/bash

bin:jvXHHBGCK7nkg:1:1:bin:/bin:

daemon:i1YD6CckS:2:2:daemon:/sbin:

adm:bj2NcvrnubUqU:3:4:adm:/var/adm:
rms:x9kxv932ckadsf:100:100:Richard M Stallman:/home/rms:/bin/bash

dmr:ZeoW7CaIcQmjhl:101:101:Dennis M Ritchie:/home/dmr:/bin/bash

linus:IK40Bb5NnkAHk:102:102:Linus Torvalds:/home/linus:/bin/bash




Keterangan :

Field pertama : nama login

Field kedua : password yang terenkripsi

Field ketiga : User ID

Field keempat : Group ID

Field kelima : Nama sebenarnya

Field keenam : Home directory user

Field ketujuh : User Shell

Password login yang terdapat pada file /etc/passwd dienkripsi dengan menggunakan
algoritma DES yang telah dimodifikasi [ ]. Meskipun demikian hal tersebut tidak
                                          1


mengurangi kemungkinan password tersebut dibongkar (crack). Karena penyerang
(attacker) dapat melakukan dictionary-based attack dengan cara :

      menyalin file /etc/passwd tersebut
      menjalankan program-program yang berguna untuk membongkar password,
       contohnya adalah Crack (www.users.dircon.co.uk/~crypto) dan John the Ripper
       (www.openwall.com/john/).

Untuk mengatasi permasalahan ini pada distribusi-distribusi Linux yang baru digunakan
program utility shadow password yang menjadikan file /etc/passwd tidak lagi
berisikan informasi password yang telah dienkripsi, informasi tersebut kini disimpan
pada file /etc/shadow yang hanya dapat dibaca oleh root.

Berikut ini adalah contoh file /etc/passwd yang telah di-shadow :

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:

daemon:x:2:2:daemon:/sbin:
adm:x:3:4:adm:/var/adm:

rms:x:100:100:Richard M Stallman:/home/rms:/bin/bash

dmr:x:101:101:Dennis M Ritchie:/home/dmr:/bin/bash

linus:x:102:102:Linus Torvalds:/home/linus:/bin/bash

Dengan demikian, penggunaan shadow password akan mempersulit attacker untuk
melakukan dictionary-based attack terhadap file password.

Selain menggunakan shadow password beberapa distribusi Linux juga menyertakan
program hashing MD5 yang menjadikan password yang dimasukkan pemakai dapat
berukuran panjang dan relatif mudah diingat karena berupa suatu passphrase.

Mekanisme yang telah disediakan sistem operasi tersebut di atas tidaklah bermanfaat bila
pemakai tidak menggunakan password yang "baik". Berikut ini adalah beberapa kriteria
yang dapat digunakan untuk membuat password yang "baik" [ ] :
                                                            2




      Jangan menggunakan nama login anda dengan segala variasinya.
      Jangan menggunakan nama pertama atau akhir anda dengan segala variasinya.
      Jangan menggunakan nama pasangan atau anak anda.
      Jangan menggunakan informasi lain yang mudah didapat tentang anda, seperti
       nomor telpon, tanggal lahir.
      Jangan menggunakan password yang terdiri dari seluruhnya angka ataupun huruf
       yang sama.
      Jangan menggunakan kata-kata yang ada di dalam kamus, atau daftar kata
       lainnya.
      Jangan menggunakan password yang berukuran kurang dari enam karakter.
      Gunakan password yang merupakan campuran antara huruf kapital dan huruf
       kecil.
      Gunakan password dengan karakter-karakter non-alfabet.
      Gunakan password yang mudah diingat, sehingga tidak perlu ditulis.
      Gunakan password yang mudah diketikkan, tanpa perlu melihat pada keyboard.

Contoh distribusi Linux yang telah menyertakan utility shadow password dan MD5 hash
adalah : RedHat 6.2, Trustix Secure Linux 1.1.

Services

Beberapa distribusi Linux pada saat instalasi secara default memasang semua service-
service yang ada pada host, misalnya web service, email service, dan sebagainya. Hal ini
tentu saja sangat merugikan dipandang dari segi keamanan, karena bukan tidak mungkin
service-service tersebut tidak digunakan dan bahkan lebih parah lagi service-service
tersebut dapat menjadi hole yang memungkinkan attacker menyerang sistem maupun
jaringan anda. Untuk mengatasi hal tersebut, sebaiknya service-service yang tidak
digunakan dimatikan dengan menggunakan script-script tertentu atau ditiadakan dengan
cara dihapus.

Misalnya pada distribusi Red Hat 6.2, bila anda tidak membutuhkan service sendmail,
maka hapuslah software tersebut dengan cara :

rpm -e sendmail.

Namun sebelumnya anda mungkin perlu mematikan service tersebut :

/etc/rc.d/init.d/sendmail stop

Beberapa buah service yang dapat dimatikan bila komputer anda adalah komputer host :

       r utilities (rshd, rlogin, rwhod, dan rexec)
       finger
       Sendmail
       Web server

       NFS
       NIS

Bila anda tidak mengetahui kegunaan suatu service, sebaiknya tiadakan service tersebut.
Editlah file /etc/inetd.conf dan berikan tanda komentar (#) untuk service-service
yang tidak anda butuhkan. Anda dapat memeriksa service-service lainnya dengan cara
meng-grep baris-baris yang tidak berawalan dengan #, menggunakan :

grep -v "^#" /etc/inetd.conf

Kemudian restart inetd (Internet Super Server) dengan cara :

kill -HUP inetd

Dalam Trustix Secure Linux (TSL), service-service yang terdapat pada INETD Super
Server secara default ditiadakan. Berikut ini adalah cuplikan file /etc/inetd.conf
yang disertakan pada Trustix Secure Linux :

#

# inetd.conf This file describes the services that will be available

# through the INETD TCP/IP super server. To re-configure

# the running INETD process, edit this file, then send the

# INETD process a SIGHUP signal.
#

# Version: @(#)/etc/inetd.conf 3.10 05/27/93

#

# Authors: Original taken from BSD UNIX 4.3/TAHOE.

# Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>

#

#     Modified     for     Debian     Linux      by       Ian       A.Murdock
<imurdock@shell.portal.com>

#

# Modified for RHS Linux by Marc Ewing <marc@redhat.com>

#

# Modified for TSL by Erlend Midttun <erlendbm@trustix.com>

#

#######################################################################
##

# A word of warning: This is a place where little is better.

#

#######################################################################
##

# <service_name>   <sock_type>   <proto>   <flags>    <user>    <server_path>
<args>

#

# Echo, discard, daytime, and chargen are used primarily for testing.

# There are certain security aspects of these. Recommended setting is

# off.

#

# To re-read this file after changes, just do a 'killall -HUP inetd'

#
#echo stream tcp nowait root internal

#echo dgram udp wait root internal

#discard stream tcp nowait root internal

#discard dgram udp wait root internal

#daytime stream tcp nowait root internal

#daytime dgram udp wait root internal

#chargen stream tcp nowait root internal

#chargen dgram udp wait root internal

#time stream tcp nowait root internal

#time dgram udp wait root internal

#

# These are standard services.

#

# Telnet allows for user logins using plain text passwords.

# A far superior way is using SSH (www.ssh.org) for this

# telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

#

# Shell, login, exec, comsat and talk are BSD protocols.

#

# Again, these allow for sending plain text passwords over the wire,

# and again SSH proves better.

#shell stream tcp nowait root /usr/sbin/tcpd in.rshd

#login stream tcp nowait root /usr/sbin/tcpd in.rlogind

#

# Pop and imap mail services et al

#
#pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d

#pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

#imap stream tcp nowait root /usr/sbin/tcpd imapd

#

# The Internet UUCP service.

#

#uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/lib/uucp/uucico -l

#

# Tftp service is provided primarily for booting. Most sites

# run this only on machines acting as "boot servers." Do not uncomment

# this unless you *need* it.

#

#tftp dgram udp wait root /usr/sbin/tcpd in.tftpd

#bootps dgram udp wait root /usr/sbin/tcpd bootpd

#

# Finger, systat and netstat give out user information which may be

# valuable to potential "system crackers." Many sites choose to disable

# some or all of these services to improve security.

#

#finger stream tcp nowait nobody /usr/sbin/tcpd in.fingerd

#systat stream tcp nowait guest /usr/sbin/tcpd /bin/ps -auwwx

#netstat stream tcp nowait guest /usr/sbin/tcpd /bin/netstat -f inet

#

# Authentication

#

# identd is run standalone now
#

#auth stream tcp wait root /usr/sbin/in.identd in.identd -e -o

#

# End of inetd.conf




SUID Root Programs

SUID Root Program adalah program-program yang berjalan dengan akses root, meskipun
yang menjalankannya bukan root. Program-program tersebut akan sangat berbahaya
terutama bila user dapat menulis padanya. Untuk itu perlu diperiksa dengan cara :

mkdir -m700 /etc/info

find / -type f \( -perm -04000 -o -perm -02000 \) -ls > /etc/info/suid-
results

Kemudian anda harus memikirkan program-program SUID apa yang dibutuhkan dan
lokasinya dan biarkan program-program tersebut. Namun bila program-program SUID
tersebut tidak anda butuhkan atau ketahui manfaatnya, rubahlah permisi mereka menjadi
700 (chmod 700 *) atau bahkan lebih baik lagi dengan merubah permisi mereka
menjadi 700 dan memindahkannya ke direktori temporer hingga dapat dipastikan mereka
tidak dibutuhkan, lalu dapat dihapus.

Data Encryption

Untuk mengamankan data, dapat digunakan beberapa program enkripsi seperti GNU
Privacy Guard (www.gnupg.org) ataupun Pretty Good Privacy (www.pgpi.com). Kedua
program ini tersedia secara bebas dan tersedia untuk berbagai sistem operasi utama.

Kedua program tersebut dapat digunakan untuk mengenkripsi/mendekripsi data ataupun
email. Selain itu keduanya dapat digunakan untuk enkripsi data menggunakan metode
private key maupun public key.

Keamanan Jaringan (network security)

FTP
FTP merupakan protokol yang mendefinisikan standar untuk mentransfer data melalui
jaringan (RFC 765). Program-program ftp dapat dikategorikan menjadi dua yaitu ftp
server dan ftp client. FTP mulanya ditujukan untuk memudahkan transfer data dari
beragam komputer yang berjauhan letaknya. Hal ini dapat diketahui berdasarkan tujuan
yang ingin dicapai oleh FTP sebagaimana terdapat pada RFC 765 :

        The objectives of FTP are :

   1.   to promote sharing of files (computer programs and/or data),
   2.   to encourage indirect or implicit (via programs) use of remote computers,
   3.   to shield a user from variations in file storage systems among Hosts, and
   4.   to transfer data reliably and efficiently. FTP, though usable directly by a user at a
        terminal, is designed mainly for use by programs.



Oleh karena itu isu keamanan menjadi kurang penting, namun dengan semakin luasnya
penggunaan Internet, maka keamanan menjadi salah satu isu yang utama.

FTP memiliki beberapa kelemahan sebagai berikut :

       FTP menggunakan autentikasi berdasarkan mekanisme username/password
        standar. Akibatnya server tidak dapat memastikan bahwa pemakai adalah benar-
        benar seperti yang dikatakannya.
       Secara default password dikirim dalam bentuk plaintext, sehingga dengan
        menggunakan sniffer, attacker dapat mengambil password tersebut.
       Sesi FTP tidak dienkripsi sehingga tidak ada privacy.

Selain itu jika di server anda terdapat suatu direktori yang dapat digunakan oleh semua
orang untuk memasukkan datanya maka ada kemungkinan server anda akan digunakan
sebagai pirate softwares repository.

Beberapa hal yang dapat dilakukan untuk mengurangi kemungkinan holes pada FTP
server anda adalah :

       Menggunakan software ftp server yang relatif aman, contohnya proftpd
        (www.proftpd.org) dan FTP BSD (www.openbsd.org).
       Batasi orang-orang/host-host yang boleh mengaksesnya dengan cara
        memodifikasi file-file /etc/ftphosts dan /etc/ftpusers.
       Jika ada direktori yang diperuntukkan bagi upload file, batasi ruang yang
        disediakan .
       Pastikan permisi akses file untuk file-file berikut sudah benar. Jika belum set file-
        file berikut :

       chmod 555 [ftp-home] ftp/
       chmod 555 [ftp-home] ftp/bin
       chmod 111 [ftp-home] ftp/bin/ls
       chmod 555 [ftp-home] ftp/etc
       chmod 444 [ftp-home] ftp/etc/passwd

  dan set seluruh ownership file-file di atas kepada root

  chown -R root [ftp-home] ftp/

       Pastikan pada direktori /bin tidak terdapat shell script yang dapat menjalankan
        sesuatu yang tidak kita inginkan.
       Gunakan program pengganti seperti scp (client) dan sshd (server) yang terdapat
        pada OpenSSH (www.openssh.com). Dengan menggunakan kedua program ini,
        transmisi data dilakukan dalam bentuk terenkripsi.




Email

Email merupakan salah satu fasilitas Internet yang paling banyak digunakan oleh orang.
Protokol yang digunakan untuk transpor email adalah Simple Mail Transport Protocol
(SMTP). Server SMTP memiliki cara kerja sebagai berikut :

       menerima pesan masuk
       memeriksa alamat si penerima :

       apabila untuk alamat lokal, pesan akan diterima dan disimpan.
       apabila untuk alamat remote, pesan akan di-forward

Server SMTP memiliki kelemahan utama yaitu mereka mempercayai setiap orang,
sehingga pemakai dapat menentukan alamat email yang mereka inginkan dan server
SMTP akan memproses email dengan alamat palsu ini.

Ada dua hal yang harus dilakukan untuk mengatasinya yaitu :

       melindungi server dari penetrasi sehingga attacker tidak dapat mengakses sistem
        anda.
       melindungi service SMTP dari penyalahgunaan sehingga outsiders tidak dapat
        mengirimkan spam atau fake mail menggunakan server mail anda.

Untuk mengirimkan email, selain diperlukan SMTP server juga dibutuhkan Mail
Transport Agent (MTA). Salah satu MTA yang paling banyak digunakan adalah
sendmail. Pada distribusi Red Hat 7.2, jika menggunakan instalasi default, sendmail akan
diinstal dan dijalankan sebagai salah satu service di host anda.
Sendmail sering menjadi sasaran para attacker karena :

        sendmail memiliki sejarah keamanan yang panjang, telah banyak ditemukan bugs
         pada program sendmail yang dapat berakibat fatal.
        sendmail merupakan service yang tersedia secara publik, sehingga setiap orang
         dapat menggunakannya.
        sendmail biasanya dijalankan sebagai root, jika attacker dapat menemukan hole
         maka kemungkinan ia dapat memiliki akses root di host yang menjalankan
         sendmail.
        sendmail merupakan program yang kompleks dan sulit dikonfigurasi dan attacker
         berharap terjadi kesalahan konfigurasi.

Untuk melindungi sistem anda dari serangan attacker yang berusaha memanfaatkan
kelemahan sendmail dapat dilakukan beberapa hal berikut :

        Protecting against unauthorized relaying. Pada sendmail versi 8.9.x anda dapat
         mengkonfigurasi server anda untuk me-relay hanya dari host-host yang diijinkan.
        Real time blacklist. Sendmail dapat digunakan untuk menetapkan untuk menerima
         atau menolak email dari domain tertentu. Hal ini sangat berguna untuk mengatasi
         spammer yang diketahui.
        Disabling perintah EXPN dan VRFY. Kedua perintah SMTP ini menyebabkan
         kebocoran informasi. Attacker menggunakan kedua perintah ini untuk
         mengidentifikasi pemakai yang valid dan mengekspansi daftar distribusi.
        Menggunakan TCP Wrappers untuk memblok traffic. Jika site anda hanya
         memproses email dalam jumlah kecil, keamanan sendmail dapat diintegrasikan d
         engan TCP Wrappers untuk meningkatkan keamanan.
        Selalu perbarui program sendmail anda. Pastikan anda memiliki program
         sendmail terbaru yang telah memperbaiki bugs yang telah diketahui.

  Gunakan MTA pengganti : qmail (www.qmail.org), postfix (www.postfix.org). Jika
  anda kesulitan dengan semua hal tersebut, mungkin sebaiknya anda menggunakan
  MTA lain.

Telnet

Tujuan protokol telnet adalah menyediakan fasilitas komunikasi dua arah, berorientasi 8-
bit. Tujuan utamanya adalah memungkinkan sebuah metode standar interfacing
peralatan-peralatan terminal dan proses berorientasi terminal satu sama lainnya.

Telnet terdiri dari dua buah program yaitu telnetd, yang berfungsi sebagai server, dan
telnet, yang berfungsi sebagai client. Secara umum telnet adalah program yang
memungkinkan seseorang untuk mengakses komputer dari remote machine. Oleh karena
tidak didesain dengan mempertimbangkan keamanan maka banyak kelemahan yang
mengemuka yaitu :

        password yang digunakan untuk login ke remote machine tidak dienkripsi.
      data yang berjalan di jaringan tidak dienkripsi
      tidak menerapkan session integrity checking

Disarankan untuk mengganti telnet dengan program lain seperti secure shell (SSH), tetapi
apabila tetap ingin menggunakannya ada beberapa program pengganti yang relatif lebih
aman :

      deslogin : memberikan pelayanan login jaringan dengan autentikasi yang aman.
       Data yang ditransmisikan dienkripsi dengan DES sehingga terlindungi dari
       electronic        eavesdropping.        deslogin      dapat      diperoleh    di
       ftp://ftp.uu.net/pub/security/des/
      STEL            (Secure          Telnet).         Dapat        diperoleh      di
       ftp://idea.sec.dsi.unimi.it/pub/security/cert-it/
      SRA Telnet. Autentikasi yang digunakan berdasarkan RFC 1416. Dapat diperoleh
       di http://www.net.tamu.edu/ftp/security/TAMU/
      SRP (Stanford University). Dapat diperoleh di ftp://srp.stanford.edu/pub/srp/

Web

Web Server

Web server merupakan service yang harus dijalankan apabila kita ingin agar site yang
telah dibangun dapat diakses dari Internet. Berikut ini adalah beberapa program web
server yang banyak digunakan :

      Apache (www.apache.org)
      IIS (www.microsoft.com)
      Netscape (www.netscape.com)

Dengan memasang web server untuk dapat diakses oleh banyak orang, maka terbuka
peluang bagi attacker untuk menyerang web server anda. Untuk mengurangi
kemungkinan attacker menyerang data yang terdapat pada web server, maka sebaiknya
data yang ditaruh pada web server tidaklah bersifat rahasia, namun dokumen publik.
Selain itu, komputer yang berfungsi sebagai web server sebaiknya meminimalkan
software-software yang terinstal, karena dengan semakin banyaknya software yang
terinstal, kemungkinan terdapatnya bugs yang mengganggu sistem akan semakin besar.
Selain itu minimalkan service-service yang terinstalasi.

Jika suatu komputer hanya berfungsi sebagai web server maka beberapa service berikut
dapat ditiadakan :

      lpd (line printer daemon)
      r services (rshd, rlogin, rwhod, dan rexec)
      ftp
      finger
      NFS (Network File System)
      SMB (Server Message Block)
      ypbind dan ypserv
      amd
      portmap

Selanjutnya setelah mengamankan web server anda, perlu diamankan software web
server. Yang akan dibicarakan di sini adalah Apache, karena Apache merupakan software
web server yang paling banyak digunakan saat ini, seluruh distribusi Linux telah
menyertakan Apache sebagai software web servernya.

Apache merupakan pengganti httpd dari National Center for Supercomputer
Applications. Apache telah menyediakan mekanisme keamanan yang telah built-in,
termasuk :

      Host-based network access control
      Kendali untuk mengkonfigurasi lokasi script CGI
      Kendali untuk mengkonfigurasi ulang setting anda.



Berikut ini adalah beberapa options yang dapat mempengaruhi keamanan web server :

      ExecCGI : menspesifikasikan bahwa script CGI dapat dijalankan pada hierarki
       direktori ini.
      FollowSymlink : membolehkan user membuat symbolic link hanya dengan meng-
       click pada hyperlink mereka.
      Includes : menspesifikasikan bahwa Apache akan memproses server side include.
      Index : memungkinkan ditampilkannya listing direktori ketika tidak ada halaman
       default yang ditemukan.

Apache dapat pula dikonfigurasi dengan menambahkan proteksi password dan akses
kendali pada tingkat direktori dengan htpasswd. Sistem htpasswd memberikan kendali
akses pada level pemakai dan kelompok melalui tiga buah file konfigurasi, yaitu :

      .htpasswd. File ini merupakan database password dan menyimpan nama user dan
       passwordnya. Ia menyerupai file /etc/passwd.
      .htgroup. Merupakan file database password kelompok. Ia menyimpan informasi
       keanggotaan kelompok dan dalam hal ini menyerupai file /etc/group.
       .htgroup adalah optional, diperlukan bila ingin mengimplementasikan kendali
       akses kelompok.
      .htaccess. Merupakan file akses htpasswd. Ia menyimpan aturan-aturan akses
       (allow, deny), lokasi file-file konfigurasi, metode autentikasi, dan sebagainya.

Web Client
Penggunaan browser seperti Netscape Communicator dan Internet Explore juga memiliki
risiko keamanan. Karena program-program tersebut tidak bebas dari bugs software.
Selain itu dengan semakin banyaknya site yang memanfaatkan teknologi dynamic web
seperti Javascript, ActiveX akan semakin meningkatkan risiko keamanan.

Pada bulan Agustus 2000, Netscape Communicator versi 4.0 hingga 4.74 untuk sistem
operasi Windows, UNIX dan Macintosh memiliki kelemahan pada distribusi Java yang
disertakan, yang memungkinkan Java membuka suatu server yang dapat diakses oleh
sembarang client, selain itu juga memungkinkan Java mengakses sembarang URL
termasuk file lokal [ ].
                      3




Tool untuk keamanan jaringan anda

Sniffer

Sniffer adalah alat yang terhubung dengan jaringan komputer dan mendengarkan seluruh
lalu lintas jaringan [ ]. Sebuah program sniffing memungkinkan seseorang mendengarkan
                      4


percakapan-percakapan pada komputer.

Sniffer biasanya digunakan untuk hal-hal berikut ini :

         Menangkap password clear text dan nama login dari jaringan.
         Konversi data jaringan ke bentuk yang mudah dipahami manusia.
         Fault analysis untuk menemukan permasalahan-permasalahan dalam jaringan.
         Performance analysis untuk menemukan bottleneck dalam jaringan.
         Network intrusion detection untuk menemukan hacker/cracker.
         Network traffic logging, untuk membuat log yang tidak dimodifikasi dan dihapus
          oleh hacker.

Sniffer dapat berupa hardware maupun software, biasanya sniffer ini memperoleh data
dari transaksi yang berlangsung dan dapat mengambil data dari berbagai macam protokol
(TCP/IP, IPX/SPX dan sebagainya).

Berikut ini adalah macam-macam sniffer yang dapat diperoleh secara bebas :

         tcpdump. Program wiretap terumum dan tertua. Dalam mode yang paling
          sederhana, ia akan menghasilkan satu baris dekode paket-paket ke commandline,
       satu baris per paket. tcpdump merupakan program penangkap paket standar
       UNIX. Dapat diperoleh di http://www.tcpdump.org/.
      Ethereal. Merupakan program sniffing berbasis GUI terbaik untuk UNIX.
       Tersedia di http://ethereal.zing.org
      sniffit (http://reptile.rug.ac.be/~coder/sniffit/sniffit.html) Berguna ketika berusaha
       menganalisis data layer aplikasi.
      Snort. Packet-sniffer/logger berbasis libcap dengan filtering yang ekstensif. Dapat
       diperoleh di http://www.clark.net/~roesch/security.html
      trinux. Berisikan tcpdump dan sniffit dalam satu buah floppy bootable disk.
       Tersedia di http://www.trinux.org/
      karpski (http://niteowl.userfriendly.net/linux/RPM/karpski.html). Program paket
       sniffer GUI.
      SuperSniffer v1.3 (http://www.mobis.com/~ajax/projects/). Merupakan sniffer
       paket berbasis libpcap yang diperbaiki dengan banyak modifikasi seperti file log
       yang terenkripsi DES, lalu lintas dapat dilog dengan pencocokan pola oleh
       ekspresi reguler, koneksi POP dan FTP dilog pada satu baris, telnet negotiation
       garbage diabaikan, pengabaian koneksi ganda, tcp packet reassembly, parellel tcp
       connection logging.
      exdump (http://exscan.netpedia.net/exdump.html). Lightweight packet sniffer
       untuk Linux?

      linux_sniffer.c. Program ini terdiri dari 175 baris kode bahasa C, didistribusikan
       utamanya pada site-site cracker di Internet. Program ini spesifik Linux. Bersifat
       free dan merupakan cara yang mudah mempelajari lalu lintas paket. Tersedia di
       www.catch22.com/Twilight.NET/phuncnet/hacking/proggies/sniffers/

Secara teori, mustahil untuk dapat mendeteksi program sniffer karena mereka hanya
mengumpulkan paket, mereka tidak mentrasmisikan apapun. Namun secara praktis,
terkadang mungkin untuk mendeteksi program sniffer.

Berikut ini adalah beberapa alat yang dapat digunakan untuk mendeteksi sniffer :

      ifconfig

Secara default, workstation mendengarkan dan menanggapi hanya paket-paket yang
dialamatkan padanya. Namun, bila network interface workstation dialihkan ke mode
promiscuous, workstation dapat memonitor dan menangkap seluruh lalu lintas jaringan
dan paket-paket yang lewat, tanpa memperdulikan tujuannya.

Untuk mendeteksi apakah sebuah interface berada pada mode promiscuous pada host
lokal anda, gunakan ifconfig.

Berikut ini adalah laporan ifconfig mengenai status seluruh interface tanpa adanya sniffer
:

eth0         Link       encap:Ethernet       HWaddr                   00:50:DA:0C:16:19
inet      addr:192.168.21.12     Bcast:192.168.21.255                Mask:255.255.255.0
UP      BROADCAST            RUNNING         MULTICAST           MTU:1500      Metric:1
RX     packets:1869           errors:0        dropped:0          overruns:0     frame:0
TX    packets:1090           errors:0        dropped:0         overruns:0     carrier:0
collisions:0                                                             txqueuelen:100
Interrupt:10                              Base                           address:0xb000

lo                Link                 encap:Local                 Loopback
inet                     addr:127.0.0.1                      Mask:255.0.0.0
UP          LOOPBACK           RUNNING          MTU:3924           Metric:1
RX     packets:5       errors:0      dropped:0      overruns:0      frame:0
TX     packets:5     errors:0      dropped:0      overruns:0      carrier:0
collisions:0                                                   txqueuelen:0
Sementara tampilan berikut adalah status seluruh interface dengan adanya sniffer :



eth0        Link       encap:Ethernet        HWaddr        00:50:DA:0C:16:19
inet     addr:192.168.21.12     Bcast:192.168.21.255      Mask:255.255.255.0
UP    BROADCAST    RUNNING     PROMISC    MULTICAST     MTU:1500    Metric:1
RX     packets:1869      errors:0      dropped:0      overruns:0     frame:0
TX     packets:1090     errors:0     dropped:0      overruns:0     carrier:0
collisions:0                                                  txqueuelen:100
Interrupt:10                       Base                       address:0xb000

lo                Link                 encap:Local                 Loopback
inet                     addr:127.0.0.1                      Mask:255.0.0.0
UP          LOOPBACK           RUNNING          MTU:3924           Metric:1
RX     packets:5       errors:0      dropped:0      overruns:0      frame:0
TX     packets:5     errors:0      dropped:0      overruns:0      carrier:0
collisions:0 txqueuelen:0

Terlihat bahwa interface eth0 berjalan pada mode promiscuous.

      ifstatus

ifstatus memeriksa seluruh interface jaringan pada sistem dan melaporkan interface yang
berada pada mode debug atau promiscuous.



ifstatus dapat diperoleh di http://cert.unisa.it/pub/Tools/Network/ifstatus/

      Antisniff

Merupakan alat pendeteksi sniffer yang paling komprehensif. Antisniff dapat diperoleh di
http://www.l0pht.com/antisniff/

      NePED (Network Promiscuous Ethernet Detector)

Sebuah tool dari The Apostols yang dapat mendeteksi sniffer yang berjalan pada segmen
lokal. NePED dapat diperoleh dari http://www.apostols.org/projectz/neped/
Scanner

Scanner adalah alat keamanan yang memeriksa celah-celah keamanan. Scanner dapat
dibedakan menjadi dua yaitu :

System Scanner

Untuk melihat celah keamanan pada localhost, biasanya terjadi karena kesalahan pada
pemberian akses file, default account, UID yang duplikat.

Contoh sistem scanner adalah COPS (Computer Oracle and Password System). COPS
ditulis oleh Dan Farmer. COPS menganalisis sistem anda untuk mencari permasalahan
konfigurasi umum, dan tanda-tanda yang masih ada pada sistem UNIX, termasuk :

  - file, direktori dan permisi device yang tidak valid atau errorneous.

  - password yang lemah.

  - keamanan yang buruk pada file password dan kelompok.

  - bit-bit SUID/SGID yang tidak tepat pada file-file.

  - perubahan-perubahan yang mencurigakan dalam checksum file.

Network Scanner

Network scanner digunakan untuk melihat celah keamanan pada jaringan. Contoh-contoh
network scanner adalah :

      ISS (Internet Security Scanner). ISS ditulis oleh Christopher Klaus dan dapat
       diperoleh di www.atomicfrog.com/archives/exploits/crack-scan/iss.tar.gz
      SATAN (Security Administor's Tool for Analyzing Networks), berfungsi untuk
       memindai kelemahan remote sistem pada bidang-bidang berikut: FTP, NFS, NIS,
       rsh, Rexd, sendmail, Trivial FTP, dan Xserver. Dapat diperoleh di
       www.fish.com/satan
      SAINT (Security Administrator's Integrated Network Tool). SATAN merupakan
       versi SATAN yang telah banyak diperbaiki dan mendukung celah-celah
       keamanan terkini seperti : CGI-based Web attack, DoS (denial of service), POP
       server attack, SSH vulnarabilities, dan remote buffer overflow. SAINT dapat
       diperoleh dari www.wwdsi.com/saint/
      Nessus. Nessus merupakan free scanner yang sangat baik dan canggih. Ditulis
       oleh Renaud Deraison, Nessus selalu berkembang. Dapat dijalankan pada Linux,
       Windows NT, dan berbagai sistem UNIX. Nessus mendukung berbagai serangan
       melalui pemanfaatan plug-ins. Nessus menggunakan GUI yang atraktif dan
       intuitif. Informasi lebih lanjut mengenai Nessus dapat dijumpai di
       www.nessus.org
      nmap (Network Mapper). Nmap adalah sebuah utility untuk melakukan port
       scanning pada jaringan besar. Secara khusus nmap mendukung : TCP connect
       scanning, TCP half open scanning, dan beragam fasilitas jaringan lainnya. Selain
       itu nmap mendukung pula feature performance dan reliability seperti dynamic
       delay time calculations, parallel port scanning, deteksi host yang down melalui
       ping paralel. Nmap juga mampu memberikan hasil log yang mudah dibaca oleh
       manusia. Nmap dapat diperoleh di www.insecure.org/nmap/

Firewall

Firewall adalah sistem atau sekelompok sistem yang menetapkan kebijakan kendali akses
antara dua jaringan. Secara prinsip, firewall dapat dianggap sebagai sepasang mekanisme
: yang pertama memblok lalu lintas, yang kedua mengijinkan lalu lintas jaringan. Firewall
dapat digunakan untuk melindungi jaringan anda dari serangan jaringan oleh pihak luar,
namun firewall tidak dapat melindungi dari serangan yang tidak melalui firewall dan
serangan dari seseorang yang berada di dalam jaringan anda, serta firewall tidak dapat
melindungi anda dari program-program aplikasi yang ditulis dengan buruk.

Secara konseptual, terdapat dua macam firewall yaitu network level dan application level.
Firewall network level mendasarkan keputusan mereka pada alamat sumber, alamat
tujuan dan port yang terdapat dalam setiap paket IP. Network level firewall sangat cepat
dan sangat transparan bagi pemakai. Application level firewall biasanya adalah host yang
berjalan sebagai proxy server, yang tidak mengijinkan lalu lintas antar jaringan, dan
melakukan logging dan auditing lalu lintas yang melaluinya. Application level firewall
menyediakan laporan audit yang lebih rinci dan cenderung lebih memaksakan model
keamanan yang lebih konservatif daripada network level firewall.

Free Firewall:

      ipchains. Ipchains adalah user-space portion dari kode terbaru paket filter Linux
       yang diperkenalkan dalam kernel versi 2.1.102.
      Falcon Project (Free Application-Level CONnection kit) adalah proyek open
       firewall dengan tujuan mengembangkan sistem firewall yang free, aman dan OS-
       independent. Falcon terdiri dari tiga modul utama yaitu proxy Falcon (ditulis
       dalam Perl), 3rd-party proxy (squid/qmail/BIND8) yang dimodifikasi untuk
       lingkungan chroot dan konsep umum untuk OS hardening. Informasi lebih lanjut
       silakan lihat http://falcon.naw.de/
      Juniper adalah produk firewall toolkit. Ia ditujukan sebagai alat untuk
       membangun Internet firewall yang aman dan efektif. Dengan kata lain, Juniper
       didesain agar bekerja pada dual homed bastion host yang tidak memforwarrd
       paket-paket antara interface. Juniper mengimplementasikan fasilitas proxy
       transparan hingga memungkinkan mesin-mesin internal untuk mengakses Internet
       secara transparan seolah-olah mereka terhubung secara langsung ke Internet.
       Homepage : http://www.obtuse.com/juniper/
      floppyfw adalah sebuah router dan firewall sederhana dalam sebuah floppy. Ia
       menggunakan kemampuan firewall dasar Linux dan memiliki sistem packaging
       yang sederhana. Sangat sesuai untuk masquerading dan mengamankan jaringan
       pada ADSL dan kabel menggunakan IP statik dan DHCP. Homepage:
       http://www.zelow.no/floppyfw/
      T.Rex Open Source Firewall berjalan pada Linux, Solaris, dan AIX. Fitur yang
       ditawarkan mencakup dukungan untuk VPN (Virtual Private Network), NAT
       (Network Address Translation), dan aplikasi proxy tinggi, Web caching, workload
       balancing, content filtering, high availability, dukungan SOCKS dan masih
       banyak lagi. Homepage http://www.opensourcefirewall.com/

Berikut ini adalah beberapa commercial firewall :

      Checkpoint Firewall-1 (www.checkpoint.com). Checkpoint Firewall-1 adalah
       suite produk keamanan yang telah mendukung enterprise security, access control,
       autentikasi, content security, NAT, Reporting Module, VPN, Intrusion Detection,
       High Availability, LDAP User Account Management, dan Third Party Security
       Device Management.
      Raptor (www.axent.com). Raptor didasarkan pada arsitektur proxy based yang
       memonitor seluruh lalu lintas pada level aplikasi, menscan seluruh aplikasi dan
       protokol yang keluar dan masuk jaringan perusahaan.
      XSentry (www.trustix.com). XSentry 1.1 Firewall terdiri dari XSentry
       Administration Client dan XSentry Firewall Server. XSentry Internet Firewall
       Administration Client menawarkan user interface yang unik dan baru, yang
       memungkinkan pemodelan grafis entitas jaringan secara cepat dan aman, dan
       berkomunikasi secara aman dengan XSentry Firewall Server. User interface yang
       unik ini meminimalkan bahaya kesalahan konfigurasi.

Referensi :

      Anonymous, Maximum Linux Security: A Hacker's Guide to Protecting Your
       Linux Server and Workstation, Sams Publishing, 2000.

      David A Curry, Improving The Security of Your                        Unix    System,
       (http://www.alw.nih.gov/Security/Docs/unix-security.html)

      David A Ranch, Trinity OS : A Guide to Configuring Your Linux Server for
       Performance,        Security,     and     Managability,   July      2000,
       (http://www.ecst.csuchico.edu/~dranch/LINUX/TrinityOS/cHTML/TrinityOS-
       c.html)

      Jon Postel, File Transfer Protocol, RFC-765, (ftp://ftp.isi.edu/in-notes/rfc765.txt)

      Jon Postel dan J Reynolds, Telnet Protocol, RFC-854, (ftp://ftp.isi.edu/in-
       notes/rfc854.txt)

      Marcus J Ranum dan Matt Curtin, Internet Firewalls : FAQ, 1999.
       (http://www.interhack.net/pubs/fwfaq/firewalls-faq.html)
        Robert Graham, Sniffing FAQ, (http://www.robertgraham.com/pubs/sniffing-
         faq.html)

1Pada DES, diperlukan sebuah kunci untuk melakukan enkripsi dan dekripsi. Namun pada versi DES yang
   telah dimodifikasi, hasil enkripsi tidak dapat dikembalikan ke bentuk semula (dekripsi), metode ini
   biasa disebut one way function.

2David     A      Curry,     Improving      The       Security     of     Your       Unix     System,
  (http://www.alw.nih.gov/Security/Docs/unix-security.html)

3www.brumleve.com/BrownOffice/

4Robert Graham, Sniffing FAQ, (http://www.robertgraham.com/pubs/sniffing-faq.html)

15

				
DOCUMENT INFO