Linux dapat memilih komputer mana saja yang dapat mengaksesnya. Pembatasan antar jaringan ini dinamakan Network Access Control. Alat pengontrolan akses jaringan ini dinamakan firewall.
Tentang Firewall
Secara umum, firewall biasanya menjalankan fungsi:- Analisa dan filter paket Data yang dikomunikasikan lewat protokol di internet, dibagi atas paket-paket. Firewall dapat menganalisa paket ini, kemudian memperlakukannya sesuai kondisi tertentu. Misal, jika ada paket a maka akan dilakukan b. Untuk filter paket, dapat dilakukan di Linux tanpa program tambahan.
- Bloking isi dan protokol Firewall dapat melakukan bloking terhadap isi paket, misalnya berisi applet Jave, ActiveX, VBScript, Cookie.
- Autentikasi koneksi dan enkripsi Firewall umumnya memiliki kemampuan untuk menjalankan enkripsi dalam autentikasi identitas user, integritas dari satu session, dan melapisi transfer data dari intipan pihak lain. Enkripsi yang dimaksud termasuk DES, Triple DES, SSL, IPSEC, SHA, MD5, BlowFish, IDEA dan sebagainya.
Catatan:
Untuk mempelajari firewall, minimal Anda harus mengetahui bagaimana TCP/IP bekerja. Sebagai literatur, Anda dapat membaca Buku TCP/IP karangan ONNO W. PURBO. Dokumen online berbahasa Indonesia tentang pengenalan TCP/IP juga tersedia di http://www.k-elektronik.org.
Tipe firewall :
- Network-Level Firewall Filter paket dilakukan biasanya dijalankan di router. Filter ini dapat dijalankan dengan memberlakukan rule set tertentu. Contoh tipikal dari Network-Lever Firewall adalah TCP Wrappers. Filter paket di Linux akan dibahas pada bagian selanjutnya.
- Application-Proxy Firewall/Application Gateways Berbeda dengan firewall sebelumnya yang memfilter dan bloking paket, Application-Proxy firewall meneruskan paket yang ada ke host internal yang dituju. Firewall ini bisa dikatakan sebagai jembatan. Application-Proxy Firewall biasanya berupa program khusus. Lebih jauh tentang Application Gateways dapat Anda baca artikel karangan JOHN WACK di
http://www.telstra.com.au/pub/docs/security/800-10/node52.html.
Catatan :
Contoh tipikal dari Application-Proxy Firewall adalah TIS FWTK (Trusted Information System Firewall Toolkit), beberapa sumbernya :
http://www.micrognosis.com/nreadwin/fwtk/history.txt ; tentang sejarah TIS FWTK. http://www.ssc.com/lj/issue25/1024.html ; dokumen "Creating Firewall using the TIS Toolkit" karangan BENJAMIN EWY.
ftp://ftp.tis.com/pub/firewalls/toolkit/dist ; Program TIS FWTK. Untuk menginstallnya di Linux, Anda harus mendownload patchnya di
ftp://ftp.tisl.ukans.edu/pub/security/firewalls/fwtkpatches.tgz.
Filter Paket di Linux
Program paling populer untuk filter paket (dan dimasukkan hampir kesemua distribusi Linux) adalah TCP Wrappers, dibuat oleh WIETSE VENEMA. Aplikasinya berada di/usr/sbin/tcpd
Catatan :
Dokumentasi yang dilampirkan pada saat TCP Wrappers ini dipublikasikan dapat Anda baca di http://www.raptor.com/lib/tcp_wrapper.ps.Untuk melihat bagaimana TCP Wrappers ini bekerja, lihat sampel /etc/inetd.conf secara umum : ftp stream tcp nowait root /usr/sbin/ftpd
telnet stream tcp nowait root /usr/sbin/telnetd
shell stream tcp nowait root /usr/sbin/rshd
login stream tcp nowait root /usr/sbin/rlogind
pop3 stream tcp nowait root /usr/sbin/pop3d
Ambil contoh salah satu, yakni telnetd :
telnet stream tcp nowait root /usr/sbin/telnetd
Penjelasan dari entri telnet tersebut adalah :
- Service yang dijalankan adalah telnet
- Tipe soket STREAM
- Protokol yang digunakan TCP
- Nowait berarti bahwa inetd harus memanggil program telnetd pada saat dibutuhkan.
- Root berarti bahwa telnetd harus dijalankan dengan user root
- /usr/sbin/telnetd menunjukkan letak program telnetd.
Catatan :
Binary Slackware, SuSE dan RedHat secara otomatis sudah menjalankan TCP Wrapper begitu selesai instalasi.Dengan TCP Wrapper, tcpd akan memotong permintaan inetd kepada semua service. Dalam contoh di atas, saat ada user menjalankan telnet di port 25, inetd akan memanggil telnetd. Tapi sebelum ke telnetd, dipotong dulu oleh tcpd, dicocokkan dengan beberapa rule set yang telah diatur. Jika memenuhi syarat, akan diteruskan ke telnetd. Jika tidak, permintaan diputus. Berikut isi dari inetd.conf yang telah dipasang tcpd (TCP Wrappers)
ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd -l -i -a
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetsnoopd
shell stream tcp nowait root /usr/sbin/tcpd in.rshd -L
login stream tcp nowait root /usr/sbin/tcpd in.rlogind
pop3 stream tcp nowait root /usr/sbin/tcpd in.pop3d
TCP Wrapper sebagai Kontrol Akses
Tcpd dalam memberlakukan aturannya, membaca dua konfigurasi file, yaitu- /etc/hosts.allow - host yang diperbolehkan untuk mengakses
- /etc/hosts.deny - host yang tidak diperbolehkan untuk mengakses
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided by
# the '/usr/sbin/tcpd' server.
#
# Version: @(#)/etc/hosts.allow 1.00 05/28/93
#
# Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org
#
#
# End of hosts.allow.
Dan file hosts.deny akan tampak :
#
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
# Version: @(#)/etc/hosts.deny 1.00 05/28/93
#
# Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org
#
#
# End of hosts.deny.
Untuk memasukkan rule set dalam file tersebut, WIETZE VENEMA membuat bahasa tersendiri yang dituangkan dalam hosts_options. Untuk mengetahui detailnya, Anda bisa ketikkan :
$ man hosts_options
Inti dari rule set pada kedua file di atas menggunakan format :
Daemon list : client list : option
Misalnya, Anda ingin memberikan akses hanya untuk mesin dengan nomor ip 1.2.3.4, dapat menuliskan :
ALL:ALL:DENY
ALL:1.2.3.4:ALLOW
Rule set tersebut, dapat Anda masukkan dalam file /etc/hosts.deny, sehingga file tersebut menjadi seperti berikut :
#
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
# Version: @(#)/etc/hosts.deny 1.00 05/28/93
#
# Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org
#
#
ALL:ALL:DENY
ALL:1.2.3.4:ALLOW
# End of hosts.deny.
Anda bisa melakukan ujicoba dengan mengakses service pada inetd lewat nomor IP 1.2.3.4 dan nomor IP lain. Lihat perbedaannya, sekaligus mengetes apakah ruleset yang Anda buat telah berjalan dengan baik.
Tidak ada komentar:
Posting Komentar