Sunday - May 18, 2008

Home | Site Map | Channels | Profile | Press Room | Services | Contact 

currently 6 user(s) online

search 

   Latest News

»

sony-ak.com Luncurkan Kamus Teknologi Informasi (May 27, 2006)

»

sony-ak.com Luncurkan IT Event Calendar (May 20, 2006)

»

Web Chat Berbasis AJAX dari sony-ak.com (May 09, 2006)

»

sony-ak.com Advertising Program (May 01, 2006)

»

Sony AK di Tabloid PCplus (April 18, 2006)

news archives » 


   Random Article

»

Mengatasi Crash Pada Windows Akibat DLL (4331)

»

Apa itu Microsoft SQL Server? (5864)

»

Coyote Linux: Linux Single Floppy untuk Solusi Internet Gateway (NAT) yang Murah dan Efektif (4356)

»

Mengenal SMTP (Simple Mail Transfer Protocol) - RFC 821 (4419)

»

Perkembangan Microsoft Excel dari Versi 2.0 sampai XP (6715)

   Newsletter

Join our newsletter, you will get alert about content updates

powered by Yahoo! Groups















Nedstat Basic - Free web site statistics

 
 
Mengamankan Mesin Linux Anda - Bagian I

Author: Ariesa Rahardjo
Published: March 18, 2006
Visits: 2040 - Category:
Linux
 
     
 

Komputer dan elemen jaringan yang terhubung ke suatu jaringan komputer akan berisiko tinggi untuk diserang oleh cracker. Beberapa kemungkinan serangan bisa kita lihat sebagai berikut:
  • Virus, worms, backdoor dan aplikasi trojan.
  • Sniffing atau wire tapping.
  • Password cracking.
  • Eksploitasi terhadap bug-bug pada aplikasi yang ada dengan teknik buffer overflow.
  • Denial of Services (DoS).

Beberapa serangan di atas berbasiskan pada teknik-teknik yang sudah populer dengan bantuan script atau tool yang mana biasanya dimanfaatkan oleh cracker yang pengetahuannya tidak begitu tinggi atau kurang memahami sistem. Sekali sebuah sistem berhasil dimasuki, maka si penyusup ini bisa melakukan berbagai hal, beberapa diantaranya adalah:

  • Merubah atau menghapus informasi.
  • Membeberkan informasi sensitif kepada pihak lain.
  • Menginstall kode jahat yang bisa digunakan untuk mendapatkan informasi lebih lanjut.
  • Menggunakan sistem yang sudah dimasuki tadi untuk menyerang sistem atau mesin yang lain pada jaringan komputer.

Tulisan ini akan membeberkan beberapa hal yang harus diperhatikan oleh seorang Linux system administrator agar bisa mengamankan mesin Linux-nya dengan lebih baik. Untuk itu pengetahuan yang baik mengenai Linux memang sudah menjadi suatu keharusan. Penulis berharap pembaca juga sudah mengerti mengenai dasar-dasar sistem operasi Linux.

Sekarang mari kita simak berbagai langkah-langkah dalam mengamankan sistem Linux Anda.

1. Instalasi Linux
Sebelum menginstall suatu distribusi Linux, maka Anda harus sudah paham apa yang akan digunakan oleh server atau workstation. Ini maksudnya adalah software-software apa yang akan diinstall pada masing-masing fungsi server atau workstation tadi. Idealnya adalah Anda harus menginstall software atau service yang benar-benar dibutuhkan saja pada mesin Linux sesuai dengan fungsi mesin Linux tersebut.

Pada distribusi Linux modern saat ini, mereka sudah membolehkan pengguna untuk memilih tipe instalasi yang diinginkan. RedHat contohnya, memberikan beberapa tipe instalasi seperti berikut ini.

  1. Workstation -- Instalasi tipe workstation ini akan membuat sistem untuk digunakan pada penggunaan desktop. GUI akan diinstall, dan ini bisa KDE ataupun Gnome atau keduanya. Instalasi tipe ini tidak akan menginstall network daemon xinetd (inet services), sebagai hasilnya maka service seperti finger, telnet, talk dan FTP tidak akan bekerja.
  2. Server -- Instalasi tipe server akan membolehkan Anda untuk membuat sistem Anda berfungsi sebagai Linux server. Di sini ada tiga sub kategori, yaitu server minimum tanpa GUI, full server tanpa GUI dan full server dengan GUI.
  3. Laptop -- Tipe ini mirip seperti pada tipe workstation.
  4. Custom -- Tipe ini sangat fleksibel pada saat instalasi karena membolehkan Anda memilih apa saja yang ingin diinstall. Tetapi fleksibel di sini bisa jadi awal dari kompleksitas instalasi. Sistem yang sifatnya custom tapi di-custom secara tidak benar akan membuat sistem tidak bisa bekerja dengan baik. Di sini penulis merekomendasikan agar Anda memilih tipe workstation atau server.
  5. Upgrade -- Ini digunakan jika Anda sudah memiliki sistem Linux (misalnya RedHat) pada komputer Anda dan Anda ingin dengan cepat untuk meng-update paket yang mutakhir.

Tulisan ini sebenarnya akan lebih condong pada mengamankan sistem server Linux. Akan tetapi beberapa teknik juga bisa digunakan untuk membantu dalam mengamankan workstation.

2. Buang paket software dan proses yang tidak perlu
Banyak software yang sebenarnya tidak diperlukan tetapi malah diinstall biarpun Anda telah memilih sistem seminimal mungkin. Sebagai contoh RedHat, pada tipe instalasi server ia akan menginstall software-software berikut tanpa membolehkan Anda untuk men-deselect-nya pada saat instalasi.

Jadi tahap pertama yang harus dilakukan setelah instalasi selesai pada server adalah meng-uninstall software-software yang tidak diperlukan. Gunakan perintah RPM berikut ini untuk melakukan uninstall terhadap software-software tersebut.

[root@wen /]# rpm -e <softwarenames>

yang mana <softwarenames> merupakan nama software yang ingin Anda uninstall, contohnya anacron.

Program seperti anacron, apmd and at adalah daemon yang berjalan sebagai suatu service pada background system Linux. Adalah hal yang baik jika Anda terlebih dahulu menghentikan service mereka sebelum meng-uninstall-nya. Untuk menghentikan proses mereka, gunakan perintah seperti berikut ini.

[root@wen /]# /etc/rc.d/init.d/proccessname stop

Contohnya:

# /etc/rc.d/init.d/apmd stop
Shutting down APM daemon: [OK]

Sekali suatu proses sudah dihentikan, maka Anda bisa meng-uninstall-nya dengan menggunakan perintah berikut ini.

[root@wen /]# rpm –e –-nodeps software-name

Contohnya:

[root@wen /]# rpm –e –nodeps anacron apmd at dhcpcd dosfstools eject

Contoh tersebut akan meng-uninstall anacron, apmd, at, dhcpd, dosfstools dan eject. Anda bisa menambahkan sendiri daftar paket software untuk di-uninstall. Daemon anacron memiliki spool directory di /var/spool/anacron yang mana harus dihapus setelah paket anacron di-uninstall. Perintah untuk menghapus directory tersebut adalah "rm -rf /var/spool/anacron".

Program-program berikut ini digunakan untuk beberapa tipe spesifik dari hardisk. Anda perlu membiarkan program yang memang secara spesifik didesain bagi tipe hardisk yang Anda gunakan. Gunakan perintah rpm untuk menghapus salah satunya, tetapi lewati saja bagian ini jika memang sistem Anda memiliki dua tipe hardisk (IDE dan SCSI).

  • hdparm -- digunakan oleh hardisk tipe IDE dan tidak digunakan untuk SCSI hardisk
  • mkinitrd -- digunakan oleh hardisk tipe SCSI atau RAID dan tidak digunakan untuk IDE hardisk

Program-program berikut ini digunakan untuk men-setup tipe keyboard dan bahasanya, tipe mouse, default time zone Anda, NIS dan password Anda, symbolic link Anda (pada directory /etc/rc.d) dan utilitas menu text mode yang memungkinkan Anda untuk mengakses semua fitur-fitur tersebut. Sangat direkomendasikan bahwa program-program tersebut sebaiknya dihilangkan dengan perintah rpm setelah server selesai diinstall.

Program-program berikut ini juga boleh dihapus jika tidak digunakan pada server Anda.

  • ash -- versi lebih kecil dari Bourne shell
  • ash.static -- versi lebih kecil dari Bourne shell dan statically linked
  • cyrus-sasl -- authentikasi yang sederhana dan lapisan security untuk program messaging elektronik cyrus
  • krb5-libs -- shared library yang digunakan oleh Kerberos 5. Setelah krb5-libs dihapus dengan perintah rpm, maka directory /usr/kerberos bisa dihapus dengan perintah "rm -rf"
  • openldap -- paket program protokol untuk akses directory
  • procmail -- program pemrosesan e-mail yang biasa digunakan oleh sendmail
  • quota -- digunakan untuk memonitor/membatasi user/group disk usage
  • sendmail -- program mail transport agent (MTA)
  • tcsh -- shell jenis lain yang juga banyak digunakan
  • time -- digunakan oleh developer untuk mengoptimasi programmnya

Checkpoint terakhir ketika meng-install program adalah pastikan bahwa kompiler dan paket-paket software yang digunakan untuk development tidak ikut diinstall dan pastikan semuanya sudah dihapus sebelum server tersebut digunakan. Anda bisa menghapusnya dari directory-nya masing-masing. Jika instalasinya dilakukan dengan menggunakan RPM, maka Anda bisa menghapusnya dengan perintah berikut ini.

[root@wen /]# rpm –e [compiler package name]

Anda mungkin juga ingin menghapus file-file dokumentasi. Secara default, semua RPM yang diinstall pada sistem Linux akan disertai pula dengan dokumentasinya masing-masing. Dokumentasi ini berisi file-file orisinil dari sumbernya, seperti README, FAQ, BUG, INSTALL, NEWS dan lain sebagainya. Untuk menghapus dokumentasi-dokumentasi ini Anda bisa ketikkan perintah berikut ini.

[root@wen /]# cd /usr/share/doc/
[root@wen /]# rm –rf *

Service yang tidak diperlukan
Banyak service pada Linux yang mungkin tidak digunakan akan tetapi dijalankan secara otomatis secara default setelah Anda meng-install Linux. Tahap berikutnya dalam mengamankan Linux Anda adalah dengan cara menghapusnya dari startup file pada directory /etc/rc3.d, diasumsikan server booting ke Runlevel 3 multi-user mode. Berikut ini adalah daftar auto-configuration soft links yang menunjuk ke script aktual pada directory /etc/rc.d/init.d (daftar Anda mungkin bisa agak berbeda, tergantung pada distribusi Linux yang Anda gunakan, versi dan jenis instalasi).

1. S05apmd -> ../init.d/apmd
2. S10network -> ../init.d/network
3. S11portmap -> ../init.d/portmap
4. S15netfs -> ../init.d/netfs
5. S20random -> ../init.d/random
6. S30syslog -> ../init.d/syslog
7. S32gated -> ../init.d/gated
8. S40atd -> ../init.d/atd
9. S40crond -> ../init.d/crond
10. S45pcmcia -> ../init.d/pcmcia
11. S50inet -> ../init.d/inet
12. S55named -> ../init.d/named
13. S60lpd -> ../init.d/lpd
14. S60mars-nwe -> ../init.d/mars-nwe
15. S60nfs -> ../init.d/nfs
16. S65dhcpd -> ../init.d/dhcpd
17. S72amd -> ../init.d/autofs
18. S75keytable -> ../init.d/keytable
19. S80sendmail -> ../init.d/sendmail
20. S85gpm -> ../init.d/gpm
21. S85httpd -> ../init.d/httpd
22. S90xfs -> ../init.d/xfs
23. S91smb -> ../init.d/smb
24. S95innd -> ../init.d/innd
25. S99linuxconf -> ../init.d/linuxconf
26. S99local -> ../rc.local

Anda dapat mengganti atau menghapus link dan file yang tidak dibutuhkan, sehingga service-service yang berhubungan dengannya tidak akan terbawa ketika sistem melakukan booting. Pendekatan yang lebih radikal adalah dengan menghapus mereka seluruhnya. Adalah dianjurkan untuk mengganti nama file-nya terlebih dahulu dan kemudian uji sistem Anda apakah tetap bisa bekerja dengan normal. Setelah Anda yakin sistem tetap berjalan baik, barulah Anda bisa menghapusnya. Anda juga bisa menghapus atau mengganti nama-nama file pada directory runlevel yang lain, seperti graphic multi-user mode (jika memang itu tidak digunakan lagi).

Jika Anda sedang mengamankan pre-installed Linux system, maka Anda mungkin akan melihat lebih banyak services, tergantung dari opsi instalasi pada saat Anda meng-install-nya. Intinya adalah disable semua service yang memang tidak Anda gunakan. Anda juga bisa mengubah nama filenya secara manual menjadi nama yang baru. Selama file-file tersebut tidak didahului dengan huruf kapital S, maka mereka tidak akan secara otomatis dijalankan ketika sistem booting. Script berikut ini akan merubah file-file dari service-service yang tidak digunakan menjadi .Nofilename, sebagai contoh S05apmd menjadi .NoS05apmd.

#This script renames the first five unneeded services
#in /etc/rc.d/rc3.d. You can repeat it to disable all
#the services you are not using
cd /etc/rc.d/rc3.d
for file in S05apmd S15netfs S32gated S40atd S45pcmcia
do
mv $file .NO$file
done

Tahap berikutnya adalah men-disable network services yang tidak diperlukan dan ini biasanya diatur melalui proses inetd atau xinetd. Pada prinsipnya, default service berikut ini sebaiknya di-disable saja.

Untuk men-disable service-nya, buka file /etc/inetd.conf dengan text editor, seperti vi dan letakkan tanda # pada bagian awal masing-masing service yang ingin di-disable. Jika Linux Anda menggunakan xinetd (bukannya inetd), maka edit file /etc/xinetd.conf dan directory /etc/xinetd.d untuk men-disable service-service yang tidak diperlukan tersebut. Berikut ini adalah contoh dari file xinetd.conf.

#
# Simple configuration file for xinetd
defaults
{
  instances      = 60
  log_type       = SYSLOG authpriv
  log_on_success = HOST PID
  log_on_failure = HOST
}
includedir /etc/xinetd.d

Untuk men-disable servicenya, edit file pada /etc/xinetd.d dan pastikan "disable = yes", seperti pada contoh service FTP berikut ini.

# Converted by inetdconvert
service ftp
{
  socket_type    = stream
  protocol       = tcp
  wait           = no
  user           = root
  server         = in.ftpd
  server_args    = -l -a
  disable        = yes
}

Super internet server inetd atau xinetd harus di-restart agar perubahan yang Anda lakukan bisa berjalan, atau Anda bisa me-restart Linux Anda.

Perhatikan bahwa untuk sistem yang digunakan untuk produksi (production system), adalah hal yang sangat direkomendasikan untuk menghapus file-file service jika service-service tersebut sudah di-disable. Jika tidak service yang dijalankan, maka inetd atau xinetd sebaiknya di-disable dan dihapus dari dalam sistem Linux Anda.

Jika Anda menginginkan remote terminal access dan kemampuan transfer file, maka Anda dapat menginstall OpenSSH pada URL http://www.openssh.org/

Tahap berikutnya Anda bisa menghapus atau mengosongkan crontabs dan membersihkan file password. Anda sebaiknya membiarkan cron jobs dan username yang telah Anda ketahui dan memang itu dibutuhkan oleh server. Hapus job atau username lain yang tidak Anda ketahui. Berikut ini hanyalah contoh kecilnya.

cd /var/spool/cron/crontabs
rm adm lp sys
for user in adm lp news uucp operator games gopher ftp
do
 /usr/sbin/userdel –r $user
done

Referensi

  • Nortel Networks, Linux Operating System Hardening Guideline Document, November 2003, Nortel Networks

Demikian tulisan mengenai beberapa cara mengamankan sistem operasi Linux server Anda bagian yang pertama. Untuk membaca bagian yang kedua silakan klik artikel "Mengamankan Mesin Linux Anda - Bagian II". Pada bagian berikutnya akan diulas lebih jauh hal-hal lain yang perlu diperhatikan ketika mengamankan sistem Linux Anda. Semoga berguna bagi Anda semuanya. Jika ada komentar atau saran bisa dikirimkan melalui ariesa.rahardjo@gmail.com. Untuk membaca tulisan menarik lainnya silakan menuju ke situs Sony AK Knowledge Center dengan alamat di www.sony-ak.com.

Terima kasih.




 Recommended articles
 

»

Uraian Singkat: Mengenal Loseless dan Lossy Compression (1756)

»

Mengenal Active Server Pages (ASP) (3450)

»

Tips Mengetahui Kapasitas Hardisk dan Sisa Ruang pada Hardisk dengan Borland Delphi (4527)

»

ADSL: Teknologi Jaringan Internet Broadband Berbasis Multimedia (10496)

»

Membangun Kembali Database Northwind Pada SQL Server (3157)

 Send your comments or suggestions
Full Name :
E-mail :
Comments :
 
 

  Privacy | Site Map | Advertise

  Copyright © 2003 - 2006 Sony AK Knowledge Center - all rights reserved

  info@sony-ak.com