Melindungi Windows dengan Linux
Firewall di Linux
Linux memiliki fasilitas firewall di kernelnya. Hampir semua distribusi Linux mengkonfigurasikan kernelnya dengan fasilitas firewall. Firewall di Linux dikonfigurasi dengan menggunakan program 'ipchains' pada kernel 2.2, 'ipfwadm' pada kernel versi 2.0, dan 'ipnatctl' serta 'iptables' untuk kernel versi 2.3/2.4. Artikel ini akan menggunakan 'ipchains' karena kebanyakan distribusi Linux saat ini menggunakan kernel versi 2.2 dan kernel versi 2.4 belum dirilis pada saat artikel ini dibuat.
Ipchains berguna untuk memodifikasi tabel firewall di dalam kernel Linux. Kernel Linux kemudian akan menggunakan tabel tersebut sebagai instruksi untuk melakukan sesuatu terhadap paket TCP/IP yang masuk melalui komputer Linux yang bersangkutan.
Ada tiga macam firewall yang dapat dimodifikasi: input (menyatakan paket yang memasuki sistem Linux anda), output (menyatakan paket yang keluar dari Linux anda), dan forward (menyatakan paket yang melalui Linux anda).
Contoh:
- ipchains -A input -p tcp --dport 21 -j REJECT, akan memblokir koneksi ke port 21 (ftp)
- ipchains -A output -d 199.95.207.0/24 -j REJECT, akan memblokir koneksi ke doubleclick.net dari sistem Linux anda.
- ipchains -F, ini akan menghapus seluruh aturan firewall yang telah ada sebelumnya, sebaiknya anda jalankan perintah ini sebelum mendefinisikan aturan-aturan firewall anda.
Ipchains adalah program yang cukup kompleks, jika anda ingin mendalaminya, bacalah IPCHAINS-HOWTO atau man page dari ipchains.
Melindungi Windows dari Serangan dari Internet
Versi-versi awal dari Microsoft Windows memiliki banyak kelemahan di subsistem TCP/IP-nya. Beberapa dari kelemahan-kelemahan ini telah diperbaiki di versi-versi berikutnya, namun Windows masih saja terlalu mudah untuk dibuat bertekuk lutut. Berapa kali anda mengalami kejadian komputer Windows anda tiba-tiba menjadi 'biru-biru' ketika anda terhubung ke Internet? Salah satu cara untuk mengatasi kelemahan dari sistem TCP/IP milik Windows adalah dengan menggunakan firewall Linux sebagai penghubung ke Internet.
Jika komputer Windows anda digunakan sebagai client, cara terbaik untuk melindunginya adalah dengan tidak menghubungkannya secara langsung ke Internet. Anda dapat menggunakan fasilitas IP-Masquerading/NAT pada Linux, dan menempatkan komputer Windows anda di jaringan internal (dengan IP internal). Komputer Windows anda tidak akan bisa diakses dari Internet dan komputer Windows anda dapet mengakses Internet secara tidak langsung melalui gateway Linux anda. Hampir semua aktivitas sehari-hari yang berhubungan dengan Internet dapat dilakukan dengan konfigurasi seperti ini. Untuk melakukan hal ini gunakan perintah seperti ini:
ipchains -A forward -s 192.168.0.0/255.255.255.0 -d 0.0.0.0/0 -j MASQ
perintah tersebut akan melakukan masquerade paket yang datang dari jaringan internal 192.168.0.0/255.255.255.0 ke Internet. Perintah tersebut hanya berlaku jika gateway Linux anda memiliki dua buah interface jaringan, satu menuju jaringan internal anda (umumnya adalah ethernet), dan satu lagi menuju Internet (umumnya adalah link PPP dial-up atau dedicated). Lihatlah IP-Masquerading HOWTO untuk penjelasan lebih lanjut.
Jika anda menggunakan Windows NT sebagai server, mungkin kasusnya akan lebih rumit. Anda tetap dapat menempatkan Linux box sebagai penghubung ke Internet. Alternatif pertama adalah dengan menggunakan Linux sebagai packet filtering firewall. Yang anda perlu lakukan adalah memblokir paket yang dapat mengkanvaskan sistem Windows anda.
ipchains -A forward -s 0.0.0.0/0 -d 192.168.0.0/24 -p icmp -j DENY
akan memblokir paket ICMP yang menuju alamat network 192.168.0.0/24 (jaringan Windows anda), termasuk paket ping-of-death. Namun aturan ini tidak disarankan karena paket ICMP diperlukan untuk keperluan lain yang penting, jadi sebaiknya yang anda lakukan adalah memperbaiki sistem Windows anda.
Serangan teardrop, bonk dan fragment bomb dapat dicegah dengan mengcompile kernel Linux anda dengan pilihan IP: always defragment.
Terkadang SMB server (server yang menangani Microsoft Networking) pada Windows anda tidak dalam keadaan aman. Hal ini dapat dicegah dengan memblokir port 137, 138 dan 139 dengan cara:
ipchains -A forward -s 0.0.0.0/0 -d 192.168.0.0/24 -p tcp --dport 137:139 -j REJECT
Namun cara terbaik untuk melindungi Windows adalah dengan memfilter seluruh paket kecuali paket yang diperlukan saja, misalnya jika Windows NT anda berfungsi sebagai web server, anda cukup mengizinkan paket TCP ke port 80 untuk lewat:
ipchains -P forward DENY
ipchains -A forward -s 0.0.0.0/0 -d 192.168.0.0/24 -p tcp --dport 80 -j ALLOW
Perkembangan lebih lanjut dari Linux bahkan mengizinkan server Windows untuk ditempatkan di jaringan internal, jadi tidak secara langsung berhubungan dengan Internet. Fasilitas ini (RNAT, reverse network address translation) masih dalam tahap pengembangan pada kernel 2.3, lihatlah situs http://www.samba.org/netfilter/ untuk informasi mengenai fasilitas netfilter pada kernel 2.3/2.4. Jika anda menggunakan kernel 2.0/2.2, lihatlah situs http://www.suse.de/~mha/HyperNews/get/linux-ip-nat.html untuk informasi lebih lanjut. Hal inilah yang dilakukan oleh Komisi Pemilihan Umum pada Pemilihan Umum yang lalu. Mereka menggunakan Windows NT dan IIS sebagai web server yang ditempatkan di belakang gateway Linux yang berfungsi sebagai firewall RNAT. Dengan demikian server Windows NT akan lebih aman karena tidak perlu berhadapan secara langsung dengan rimba belantara Internet.
Melindungi Windows dari Virus dan Serangan Melalui Email
Cara terbaik untuk membasmi nyamuk demam berdarah adalah bukan dengan membunuh nyamuknya, namun dengan membasmi sarangnya. Namun hal tersebut terkadang tidak praktis atau bahkan tidak mungkin dilakukan. Sama saja dengan di dunia komputer, sistem operasi Windows masih sangat dibutuhkan, dan banyak pekerjaan kita masih sangat tergantung pada Microsoft Windows.
Sebaliknya Linux adalah sistem operasi yang relatif aman terhadap virus. Linux memiliki konsep sekuriti yang mencegah virus dapat berkembang biak dengan leluasa seperti halnya pada Windows95/98. Sebuah proses yang dimiliki oleh user biasa tidak diberi hak untuk memodifikasi sistem, jadi virus di Linux, kalaupun ada, tidak akan menyebabkan kerusakan pada sistem anda, dan tidak akan mudah menyebar ke user lainnya. Sekarang anda tahu mengapa sangat tidak dianjurkan untuk menggunakan account root secara terus menerus.
Lalu mengapa jika Linux sedemikian aman terhadap virus, namun banyak pihak-pihak yang membuat software antivirus untuk Linux? Salah satu cara penyebaran virus adalah melalui email. Cara paling efisien untuk menangani virus yang melalui email yaitu dengan memasang pendeteksi virus di server email. AMaVis (http://aachalon.de/AMaViS/) adalah software untuk mendeteksi virus pada attachment email (tentunya virus pada platform Windows, bukan Linux) yang datang ke server mail berbasis Linux. AMaVis membutuhkan pendeteksi virus untuk operasionalnya.
Beberapa antivirus yang dapat digunakan di Linux adalah:
- McAfee Antivirus (ftp://ftp.mcafee.com/pub/antivirus/unix/)
- AntiVir/X (http://hbedv.de)
- Sophos AntiVirus (http://www.sophos.com/downloads/full/)
- AntiViral Toolkit Pro (http://www.kasperskylab.ru/eng/news/default.html)
Selain itu, program client email juga masih banyak yang memiliki bug dalam membaca email, sehingga seorang cracker dapat membuat email yang dibuat dengan tujuan untuk menjalankan program di komputer client. Versi terbaru dari program client email sudah tidak memiliki masalah ini, namun tentunya masih banyak program email yang belum diupgrade ke versi terbaru. Salah satu cara untuk mencegahnya adalah dengan memfilter email-email tersebut yang mungkin membahayakan sistem komputer anda. Lihatlah dokumen di http://www.wolfenet.com/~jhardin/procmail-security.html untuk penjelasan lebih lanjut.
Melindungi Windows dari Trojan Horses
Windows pun dikenal rentan terhadap trojan horses seperti NetBus dan BackOrifice. Ada berbagai macam cara untuk menjalankan program apa saja di dalam Windows yang dikehendaki oleh oleh oknum-oknum tak bertanggung jawab. Untuk melindungi komputer Windows anda yang terhubung ke Internet, anda perlu mem-filter paket-paket tertentu. Namun tentunya hal ini tidak berlaku untuk penyerang yang berasal dari dalam jaringan anda.
Untuk memblokir BackOrifice:
ipchains -A output -p udp -s 192.168.0.0/24 -d 0.0.0.0/0 31337 -j REJECT
Untuk memblokir NetBus dan NetBus Pro:
ipchains -A output -p udp -s 192.168.0.0/24 -d 0.0.0.0/0 12345:12346 -j REJECT
ipchains -A output -p udp -s 192.168.0.0/32 -d 0.0.0.0/0 20034 -j REJECT
Untuk memblokir WinCrash:
ipchains -A output -p udp -s 192.168.0.0/24 -d 0.0.0.0/0 5742 -j REJECT
Untuk memblokir Socket de Troye:
ipchains -A output -p udp -s 192.168.0.0/24 -d 0.0.0.0/0 30303 -j REJECT
Untuk memblokir Master's Paradise:
ipchains -A output -p udp -s 192.168.0.0/24 -d 0.0.0.0/0 40421 -j REJECT
Semua contoh di atas mengasumsikan jaringan anda adalah 192.168.0.0/24
Mencari Kelemahan Sistem Windows Anda
Salah satu cara untuk menganalisa keamanan rumah anda adalah dengan berpura-pura menjadi pencuri. Hal yang sama berlaku di dunia komputer. Setelah anda selesai menset sistem keamanan jaringan anda, anda dapat melakukan hal-hal yang biasanya dilakukan oleh seorang cracker.
Anda dapat melakukan portscanning ke host yang ingin anda amankan untuk mengetahui layanan apa saja yang terdapat pada host tersebut. Program portscanner yang populer adalah nmap, dapat didapatkan di http://www.insecure.org/nmap/index.html.
Anda juga dapat mendeteksi kelemahan-kelemahan sistem pada tingkat protokol dengan program seperti saint atau nessus. Saint dapat didapatkan di http://www.wwdsi.com/saint/. Nessus dapat didapatkan di http://www.nessus.org/. Tentunya anda tidak ingin melakukan hal ini pada saat komputer Windows anda sedang dipakai kerja, karena bisa mengakibatkan Windows anda crash.
Melindungi Firewall Linux Anda
Semua yang anda lakukan di atas tidak akan berguna jika komputer Linux anda tidak aman. Seorang cracker akan berusaha untuk menjebol firewall Linux anda setelah mengetahui bahwa seluruh sistem anda dilindungi oleh firewall. Sebagaimana software pada umumnya, Linux pun memiliki bug atau kesalahan-kesalahan pemrograman lainnya. Kelebihan Linux dan software bebas (free software) dibandingkan dengan software tertutup (closed software) adalah kesalahan-kesalahan pemgrograman (bug) lebih cepat diperbaiki dan perbaikannya jauh lebih cepat sampai ke pengguna. Ada banyak kasus bug di kernel Linux yang diperbaiki hanya dalam hitungan jam, sedangkan vendor komersil membutuhkan berhari-hari dan bahkan lebih dari satu bulan untuk memperbaikinya. Tempat terbaik untuk mendapatkan informasi mengenai bug-bug tersebut beserta perbaikannya adalah di situs web distribusi yang anda pakai. Hampir semua vendor distribusi Linux terkemuka memiliki halaman khusus yang membahas masalah keamanan pada produknya. Beberapa di antaranya juga memiliki mailing-list khusus untuk mengumumkan masalah keamanan, sehingga anda tidak perlu repot-repot melihat situs web vendor distribusi setiap hari. Linuxtoday juga memiliki bagian khusus yang mengumumkan masalah sekuriti Linux pada umumnya di http://security.linuxtoday.com. Situs ini membahas secara umum dan tidak spesifik distribusi tertentu.
Jika anda adalah seseorang yang paranoid dan memiliki ruang harddisk yang cukup banyak, anda dapat melakukan logging terhadap paket-paket yang melalui firewall anda. Pada setiap perintah ipchains di atas dapat anda tambahkan parameter "-l" untuk menjalankan logging. Setiap paket yang cocok akan dicatat melalui fasilitas syslog. Pada kebanyakan distribusi, hasilnya akan dicatat pada file /var/log/messages atau /var/adm/messages. Yang perlu anda pikirkan adalah ruang harddisk anda dan paket apa saja yang ingin anda catat. Kesalahan membuat pencatatan ini dapat membuat harddisk anda terisi penuh dengan cepat, terutama pada firewall yang sibuk.
Yang akan dilakukan oleh seorang cracker pertama kali sebelum menjebol sistem anda adalah melakukan portscan terhadap firewall anda.
0 Response to "Melindungi Windows dengan Linux"
Posting Komentar