Next Previous Contents

8. Keamanan Jaringan

Keamanan jaringan menjadi semakin penting dengan semakin banyaknya waktu yang dihabiskan orang untuk berhubungan. Mengganggu keamanan jaringan sering lebih mudah daripada fisik atau lokal, dan lebih umum.

Terdapat sejumlah alat yang baik untuk membantu keamanan jaringan, dan semakin banyak disertakan dalam distribusi Linux.

8.1 Packet Sniffers

Salah satu cara umum yang digunakan penyusup untuk memperoleh akses ke banyak sistem di jaringan anda adalah dengan menggunakan sebuah packet sniffer pada host yang telah diganggu. Sniffer ini mendengarkan port Ethernet untuk hal-hal seperti "Password" dan "Login" dan "su" dalam aliran paket dan kemudian mencatat lalu lintas setelahnya. Dengan cara ini, penyerang memperoleh password untuk sistem yang bahkan tidak mereka usahakan untuk dibongkar. Password teks biasa adalah sangat rentan terhadap serangan ini.

Contoh: host A telah diganggu. Penyerang menginstal sebuah sniffer. Sniffer mencatat login admin ke host B dari host C. Ia memperoleh password personal admin ketika ia login ke B. Kemudian, admin melakukan 'su' untuk mengatasi suatu masalah. Mereka sekarang memiliki password root untuk Host B. Kemudian admin membolehkan seseorang telnet dari rekeningnya ke host Z di site lain. Sekarang penyerang memiliki password/login di host Z.

Di masa sekarang, penyerang bahkan tidak perlu mengganggu sebuah sistem untuk melakukan hal ini, mereka dapat membawa laptop atau pc ke suatu gedung dan menyadap ke jaringan anda.

Dengan menggunakan ssh atau metode password terenkripsi lainnya dapat mencegah serangan ini. Hal-hal seperti APOP untuk rekening pop juga dapat mencegah serangan ini. (Login pop normal sangat rentan untuk hal ini, sama seperti segala sesuatu yang mengirim password teks biasa melalui kabel).

8.2 Pelayanan sistem dan tcp_wrappers

Segera setelah anda menaruh sistem Linux anda di sembarang jaringan, hal pertama yang harus dilihat adalah pelayanan yang butuh anda tawarkan. Pelayanan-pelayanan yang tidak perlu anda tawarkan seharusnya ditiadakan sehingga anda memiliki satu hal yang tidak perlu dikhawatirkan dan penyerang memiliki satu hal kurangnya untuk mencari lubang.

Terdapat sejumlah cara untuk meniadakan pelayanan dalam Linux. Anda dapat melihat pada file /etc/inetd.conf dan melihat pelayanan apa yang ditawarkan oleh inetd anda. Tiadakan segala yang tidak anda butuhkan dengan mengkomentari mereka (taruh # di awal baris), dan kemudian mengirimkan proses inetd anda sebuah SIGHUP.

Anda dapat pula menghilangkan (atau mengkomentari) pelayanan-pelayanan di file /etc/services. Hal ini berarti client lokal anda tidak akan menemukan pelayanan (contoh, jika anda menghilangkan ftp, dan berusaha dan ftp ke site remote dari mesin tersebut maka akan gagal dengan pesan pelayanan yang tidak dikenal). Tidaklah berharga untuk menghilangkan pelayanan, karena tidak memberikan keamanan tambahan. Jika orang lokal ingin menggunakan ftp bahkan yang telah anda komentari, mereka ingin membuat client mereka menggunakan port ftp umum dan masih dapat bekerja baik.

Beberapa pelayanan yang ingin anda biarkan ada adalah:

Jika anda tahu anda tidak ingin menggunakan beberapa paket tertentu, anda dapat menghapusnya. rpm -e dalam distribusi Red Hat akan menghapus seluruh paket. Dalam debian dpkg akan melakukan hal yang sama.

Sebagai tambahan, anda benar-benar ingin meniadakan utilitas rsh/rlogin/rcp, termasuk login (digunakan oleh rlogin), shell (digunakan oleh rcp), dan exec (digunakan oleh rsh) dari dimulai dalam /etc/inetd.conf. Protokol-protokol ini sangat tidak aman dan menjadi penyebab eksploit dahulu.

Anda perlu memeriksa /etc/rc.d/rcN.d, dengan N adalah run level sistem anda dan melihat apakah pelayanan dimulai dalam direktori tersebut tidak dibutuhkan. File dalam /etc/rc.d/rcN.d sebenarnya adalah link simbolik ke direktori /etc/rc.d/init.d. Mengganti nama file dalam direktori init.d memiliki efek meniadakan seluruh link simbolik dalam /etc/rc.d/rcN.d. Jika anda hanya ingin meniadakan pelayanan untuk runlevel tertentu, ganti nama file yang sesuai dengan huruf kecil.

Jika anda memiliki file rc bergaya BSD, anda mungkin ingin memeriksa /etc/rc* untuk program-program yang tidak anda butuhkan.

Kebanyakan distribusi Linux menyertakan tcp_wrappers "wrapping" seluruh pelayanan tcp. Sebuah tcp_wrappers (tcpd) dipanggil dari inetd selain dari server sebenarnya. tcpd kemudian memeriksa host yang membutuhkan pelayanan dan kemudian mengeksekusi atau menolak akses server sebenarnya dari host tersebut. tcpd memungkinkan anda membatasi akses ke pelayanan tcp anda. Anda perlu membuat /etc/hosts.allow dan menambahkan hanya host yang membutuhkan akses ke pelayanan mesin anda.

Jika anda adalah pemakai dialup rumahan, kami menyarankan anda menolak seluruhnya. tcpd juga mencatat usaha yang gagal untuk mengakses pelayanan, sehingga ini dapat memberi anda ide bahwa anda sedang diserang. Jika anda menambahkan pelayanan baru, anda harus pasti mengkonfigurasinya untuk menggunakan tcp_wrappers berbasis TCP. Sebagai contoh, pemakai dial-up normal dapat mencegah orang luar koneksi ke mesin anda, namun masih memiliki kemampuan untuk menerima surat, dan membuat hubungan jaringan ke Internet. Untuk melakukan ini, anda mungkin menambahkan perintah berikut ke /etc/hosts.allow:

ALL: 127.

Dan tentu saja /etc/hosts.deny akan berisi:

ALL: ALL

yang akan mencegah koneksi eksternal ke mesin anda, namun masih memungkinkan anda dari dalam berhubungan ke server di Internet.

8.3 Memverifikasi Informasi DNS Anda

Memelihara informasi DNS tentang seluruh host di jaringan anda agar tetap baru dapat membantu meningkatkan keamanan. Bilamana ada host yang tidak dijinkan terhubung ke jaringan anda, anda dapat mengenalinya dengan tidak adanya masukan DNS. Banyak pelayanan dapat dikonfigurasi untuk tidak menerima koneksi dari host yang tidak memiliki masukan DNS yang valid.

8.4 identd

identd adalah program kecil yang umumnya berjalan di inetd. Ia mencatat pelayanan tcp apa yang dijalankan pemakai, dan kemudian melaporkannya kepada yang meminta.

Banyak orang salah mengerti kegunaan identd, sehingga meniadakannya atau memblok seluruh site yang memintanya. identd ada bukan untuk membantu remote site. Tidak ada cara untuk mengetahui jika data yang anda peroleh dari remote identd benar atau tidak. Tidak ada autentikasi dalam permintaan identd.

Lalu mengapa anda ingin menjalankannya? Karena ia membantu anda, dan adalah titik data lain dalam penelusuran. Jika identd anda tidak terganggu, maka anda mengerti ia memberi tahu remote site nama pemakai atau uid orang-orang yang menggunakan pelayanan tcp. Jika admin pada remote site datang kepada anda dan memberitahu pemakai anda berusaha menghack ke site mereka, anda dapat secara mudah mengambil tindakan terhadap pemakai tersebut. Jika anda tidak menjalankan identd, anda harus melihat banyak catatan, memperkirakan siapa yang ada pada saat itu, dan secara umum membutuhkan waktu yang lebih banyak untuk menelusuri pemakai.

identd yang disertakan dalam banyak distribusi lebih mudah dikonfigurasi daripada yang diperkirakan orang. Anda dapat meniadakan identd untuk pemakai tertentu (mereka dapat membuat file .noident), anda dapat mencatat seluruh permintaan identd (Saya menyarankannya), anda bahkan dapat memiliki identd mengembalikan uid daripada nama pemakai atau bahkan NO-USER.

8.5 SATAN, ISS, dan Scanner Jaringan Lainnya

Terdapat sejumlah paket software berbeda yang melakukan penelusuran berdasarkan port dan pelayanan mesin atau jaringan. SATAN dan ISS adalah dua yang paling dikenal. Software ini berhubungan ke mesin sasaran (atau seluruh mesin sasaran di suatu jaringan) di semua port yang ada, dan berusaha menentukan pelayanan apa yang sedang berjalan. Berdasarkan informasi ini, anda dapat menemukan mesin yang rentan terhadap eksploitasi tertentu pada server.

SATAN (Security Administrators Tool for Analyzing Networks) adalah sebuah penelusur port dengan antara muka web. Ia dapat dikonfigurasi untuk melakukan pemeriksaan ringan, menengah, atau berat pada mesin atau pada jaringan mesin. Akan merupakan ide yang baik untuk memperoleh SATAN dan memeriksa mesin atau jaringan anda, dan membenahi masalah-masalah yang ditemukan. Pastikan anda memperoleh SATAN dari sun-site atau FTP atau web site yang bereputasi. Terdapat salinan Troya SATAN yang didistribusikan di net. http://www.trouble.org/~zen/satan.html

ISS (Internet Security Scanner) adalah penelusur berdasarkan port yang lain. Ia lebih cepat daripada SATAN, dan mungkin lebih baik untuk jaringan yang besar. Namun demikian, SATAN memberikan lebih banyak informasi.

Abacus-Sentry adalah penelusur port komersil dari www.psionic.com. Lihat informasi lebih lanjut di homepagenya. http://www.psionic.com

Mendeteksi penelusuran port. Terdapat beberapa alat yang dirancang untuk memberitahu anda adanya probe SATAN dan ISS dan software penelusuran lainnya. Namun demikian, dengan pemakaian tcp_wrappers yang liberal dan memastikan untuk melihat file log anda secara berkala, anda dapat mengetahui probe tersebut. Bahkan pada setting terendah, SATAN masih meninggalkan jejak pada log di sistem Red Hat.

8.6 Sendmail, qmail dan MTA

Salah satu pelayanan penting yang dapat anda sediakan adalah server surat. Sayangnya, ia juga sangat rentan diserang, karena banyaknya tugas yang harus dilakukan dan dibutuhkannya ijin khusus.

Jika anda menggunakan sendmail, penting untuk menjaga versi anda agar up to date. Sendmail memiliki sejarah panjang di eksploitasi keamanan. Selalu pastikan anda menjalankan versi terbaru. http://www.sendmail.org

Jika anda bosan mengupgrade versi sendmail anda setiap minggu, anda dapat mempertimbangkan beralih ke qmail. qmail dirancang dengan perhatian pada keamanan sejak awalnya. Ia cepat dan stabil dan aman. http://www.qmail.org

8.7 Serangan Denial of Service

Serangan denial of service adalah saat ketika penyerang berusaha menggunakan beberapa sumber daya hingga terlalu sibuk untuk menjawab permintaan yang resmi, atau menolak pemakai resmi mengakses mesin anda.

Serangan-serangan semacam ini meningkat dengan cepat pada tahun-tahun belakangan ini. Beberapa yang populer dan terbaru ditampilkan di bawah ini. Perhatikan bahwa yang baru selalu muncul setiap saat, sehingga ini hanya merupakan contoh. Baca list Linux security dan list serta archive bugtraq untuk informasi terkini.

Anda dapat menemukan banyak kode eksploitasi, dan deskripsi lebih mendalam tentang bagaimana mereka bekerja di http://www.rootshell.com menggunakan mesin pencari mereka.

8.8 Keamanan NFS (Network File System)

NFS adalah protokol file sharing yang paling banyak digunakan. Ia memungkinkan server menjalankan nfsd dan mountd untuk mengekspor seluruh filesystem ke mesin lain dengan dukungan nfs filesystem pada kernelnya (atau beberapa dukungan client jika mereka bukan mesin Linux). Mountd mencatat filesystem yang termount di /etc/mtab, dan dapat menampilkannya.

Banyak site menggunakan NFS untuk bertugas sebagai direktori home untuk pemakai, sehingga tak peduli mesin apa yang dimasuki, mereka akan selalu memiliki file-filenya.

Terdapat sedikit "keamanan" dibolehkan dalam mengekspor filesystem. Anda dapat membuat peta nfsd pemakai root remote (uid=0) ke pemakai nobody, membatasi akses total ke file-file yang diekspor. Namun demikian, karena pemakai individu memiliki akses ke file-file mereka (atau paling tidak uid yang sama), superuser remote dapat login atau su ke rekening mereka dan memiliki akses total ke file-file mereka. Ini hanya penghalang kecil bagi seorang penyerang yang memiliki akses untuk melakukan mount filesystem remote anda.

Jika harus menggunakan NFS, pastikan anda mengekspor ke mesin-mesin yang anda butuh untuk ekspor saja. Jangan pernah mengekspor seluruh direktori root anda, ekspor hanya direktori yang perlu anda ekspor.

Lihat NFS HOWTO untuk informasi lebih jauh tentang NFS.

8.9 NIS (Network Information Service) (dahulu YP)

Network Information Service (dahulu YP) adalah suatu cara mendistribusikan informasi ke sekelompok mesin. Master NIS menyimpan tabel informasi dan mengkonversinya ke file peta NIS. Peta ini kemudian melayani jaringan, memungkinkan mesin klien NIS untuk memperoleh login, password, direktori home dan informasi shell (seluruh informasi di file /etc/passwd standar). Hal ini memungkinkan pemakai merubah password mereka sekali dan berlaku pula di seluruh mesin dalam domain NIS.

NIS tidak seluruhnya aman. Ia tidak pernah dimaksudkan demikian. Ia dimaksudkan untuk berguna dan sederhana. Setiap orang dapat menduga nama domain NIS anda (di setiap tempat di Net) dapat memperoleh salinan file passwd, dan menggunakan Crack dan John the Ripper terhadap password pemakai anda. Juga, adalah mungkin untuk menipu NIS dan melakukan berbagai trik kotor. Jika anda harus menggunakan NIS, pastikan anda paham bahayanya.

Terdapat pengganti NIS yang lebih aman, disebut NIS+. Silakan periksa NIS HOWTO untuk informasi lebih banyak. http://sunsite.unc.edu/mdw/HOWTO/NIS-HOWTO.html

8.10 Firewall

Firewall adalah suatu cara untuk membatasi informasi yang dibolehkan masuk dan keluar dari jaringan lokal anda. Umumnya host firewall terhubung ke Internet dan LAN lokal anda, dan akses LAN anda ke Internet hanya melalui firewall. Dengan demikian firewall dapat mengendalikan apa yang diterima dan dikirim dari Internet dan LAN anda.

Terdapat beberapa tipe dan metode setting firewall. Mesin-mesin Linux dapat menjadi firewall yang baik dan murah. Kode firewall dapat dibangun langsung ke dalam kernel 2.0 atau lebih tinggi. Alat ipfwadm user space memungkinkan anda merubah tipe lalu lintas jaringan yang anda bolehkan secara on the fly. Anda dapat pula mencatat tipe lalu lintas jaringan tertentu.

Firewall adalah teknik yang sangat berguna dan penting dalam mengamankan jaringan anda. Penting untuk menyadari bahwa anda tidak boleh pernah berpikir bahwa dengan memiliki firewall, anda tidak perlu mengamankan mesin-mesin di baliknya. Ini kesalahan fatal. Periksa Firewall-HOWTO yang sangat bagus di arsip terbaru sunsite untuk informasi mengenai firewall dan Linux. http://sunsite.unc.edu/mdw/HOWTO/Firewall-HOWTO.html

Informasi lebih banyak juga dapat ditemukan di IP-Masquerade mini-howto: http://sunsite.unc.edu/mdw/HOWTO/mini/IP-Masquerade.html

Informasi lebih lanjut tentang ipfwadm (Alat yang memungkinkan anda merubah setting firewall anda, dapat ditemukan di homepagenya: http://www.xos.nl/linux/ipfwadm


Next Previous Contents