Linux dan security
Upcoming SlideShare
Loading in...5
×
 

Linux dan security

on

  • 116 views

 

Statistics

Views

Total Views
116
Views on SlideShare
116
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Linux dan security Linux dan security Document Transcript

  • 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 mengurangi kemungkinan password tersebut dibongkar (crack). Karena penyerang (attacker) dapat melakukan dictionary-based attack dengan cara : 1 • • 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 serviceservice 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/suidresults 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 benarbenar 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 filefile 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 8bit. 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 mengclick 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 percakapan-percakapan pada komputer. 4 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 inet addr:127.0.0.1 UP LOOPBACK RUNNING RX packets:5 errors:0 dropped:0 TX packets:5 errors:0 dropped:0 collisions:0 txqueuelen:0 Loopback Mask:255.0.0.0 MTU:3924 Metric:1 overruns:0 frame:0 overruns:0 carrier: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 OSindependent. 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 (http://www.alw.nih.gov/Security/Docs/unix-security.html) Unix System,
  • • 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/TrinityOSc.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/innotes/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/sniffingfaq.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 (http://www.alw.nih.gov/Security/Docs/unix-security.html) of Your 3www.brumleve.com/BrownOffice/ 4Robert Graham, Sniffing FAQ, (http://www.robertgraham.com/pubs/sniffing-faq.html) 15 Unix System,