Makalah ini membahas beberapa isu keamanan yang umum pada sistem operasi Linux seperti keamanan password, services, program SUID, enkripsi data, serta keamanan FTP, email, dan web. Metode yang dibahas untuk meningkatkan keamanan meliputi penggunaan shadow password, menonaktifkan services tidak diperlukan, mengatur perizinan program SUID, serta menggunakan enkripsi untuk melindungi data.
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Linux dan security
1. 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:
2. 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:
3. 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.
4. 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
5. 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>
#
6. # 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,
7. # 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
8. #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
9. 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.
10. 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 :
11. •
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.
12. •
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
13. 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.
14. 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
15. 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
16. •
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
:
18. 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/
19. •
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/
20. •
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,
21. •
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,