Tedi Heriyanto
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.
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.
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 :
Password login yang terdapat pada file /etc/passwd dienkripsi dengan menggunakan
algoritma DES yang telah dimodifikasi [ ]. Meskipun demikian hal tersebut tidak
1
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.
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
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 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.
Gunakan password yang merupakan campuran antara huruf kapital dan huruf
kecil.
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.
/etc/rc.d/init.d/sendmail stop
Beberapa buah service yang dapat dimatikan bila komputer anda adalah komputer host :
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 :
# the running INETD process, edit this file, then send the
#########################################################################
#########################################################################
#
# Echo, discard, daytime, and chargen are used primarily for testing.
# off.
#
# Again, these allow for sending plain text passwords over the wire,
# Finger, systat and netstat give out user information which may be
# Authentication
# End of inetd.conf
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 :
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.
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 :
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.
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 :
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 :
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 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 :
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.
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 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.
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 :
Disarankan untuk mengganti telnet dengan program lain seperti secure shell (SSH), tetapi
apabila tetap ingin menggunakannya ada beberapa program pengganti yang relatif lebih
aman :
SRA Telnet. Autentikasi yang digunakan berdasarkan RFC 1416. Dapat diperoleh
di http://www.net.tamu.edu/ftp/security/TAMU/
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 :
ftp
finger
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 :
Berikut ini adalah beberapa options yang dapat mempengaruhi keamanan web server :
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.
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
Sniffer
Sniffer adalah alat yang terhubung dengan jaringan komputer dan mendengarkan seluruh
lalu lintas jaringan [ ]. Sebuah program sniffing memungkinkan seseorang mendengarkan
4
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.
trinux. Berisikan tcpdump dan sniffit dalam satu buah floppy bootable disk.
Tersedia di http://www.trinux.org/
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
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
ifstatus
ifstatus memeriksa seluruh interface jaringan pada sistem dan melaporkan interface yang
berada pada mode debug atau promiscuous.
Antisniff
Merupakan alat pendeteksi sniffer yang paling komprehensif. Antisniff dapat diperoleh di
http://www.l0pht.com/antisniff/
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.
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
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/
Referensi :
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.
3www.brumleve.com/BrownOffice/
15