Sponsor

Monday 7 November 2011

sistem keamanan pada linux



Keamanan SISTEM OPERASI pada linux

Linux


Komponen Arsitektur Keamanan Linux :

1.      Account Pemakai (user account)

Keuntungan :
·         Kekuasaan dalam satu account yaitu root, sehingga mudah dalam administrasi system.
·         Kecerobohan salah satu user tidak berpengaruh kepada system secara keseluruhan.
·         Masing-masing user memiliki privacy yang ketat

Macam User :
Root       : kontrol system file, user, sumber daya (devices) dan akses jaringan
User        : account dengan kekuasaan yang diatur oleh root dalam melakukan aktifitas
                 dalam system.
Group     : kumpulan user yang memiliki hak sharing yang sejenis terhadap suatu
                 devices tertentu.

2.      Kontrol Akses secara Diskresi (Discretionary Access control)

Discretionary Access control (DAC) adalah metode pembatasan yang ketat, yang meliputi :
·         Setiap account memiliki username dan password sendiri.
·         Setiap file/device memiliki atribut(read/write/execution) kepemilikan, group, dan user umum.

Jika kita lakukan list secara detail menggunakan $ls –l, kita dapat melihat penerapan DAC pada file system linux :

d rw-   - -x    - - -  5  fade  users 1024  Feb    8 12:30 Desktop
- rw-   r - -    r - -   9 Goh  hack    318  Mar  30 09:05 borg.dead.letter
















-
rw-
r - -
r - -
9
Goh
hack
318
Mar
30
09:05
borg.dead.letter
1
2
3
4
5
6
7
8
9
10
11

Keterangan :





1 =
tipe dari file ; tanda dash ( - ) berarti file biasa, d berarti directory, l berarti file link, dsb
5 =
6 =
7 =
Jumlah link file
Nama pemilik (owner)
Nama Group
2 =
Izin akses untuk owner (pemilik), r=read/baca, w=write/tulis, x=execute/eksekusi
8 =
9 =
10 =
Besar file dalam byte
Bulan dan tanggal update terakhir
Waktu update terakhir
3 =
Izin akses untuk group
11 =
Nama file/device
4 =
Izin akses untuk other (user lain yang berada di luar group yang didefinisikan sebelumnya)



















Perintah-perintah penting pada DAC :
·         Mengubah izin akses file :
1.      bu : chmod < u | g | o > < + | - > < r | w | e > nama file,
contoh :
chmod u+x g+w o-r borg.dead.letter ; tambahkan akses eksekusi(e) untuk user (u), tambahkan juga akses write(w) untuk group (g) dan kurangi izin akses read(r) untuk other(o) user.
2.      chmod metode octal, bu: chmod - - - namafile , digit dash ( - ) pertama untuk izin akses user, digit ke-2 untuk izin akses group dan digit ke-3 untuk izin akses other, berlaku ketentuan : r(read) = 4, w(write) = 2, x (execute) = 1 dan tanpa izin akses = 0.
Contoh :
Chmod 740 borg.dead.letter
Berarti : bagi file borg.dead.letter berlaku
digit ke-1 à 7=4+2+1=izin akses r,w,x penuh untuk user.
digit ke-2 à 4=4+0+0=izin akses r untuk group
digit ke-3 à 0=0+0+0=tanpa izin akses untuk other user.

·         Mengubah kepemilikan : chown <owner/pemilik><nama file>
·         Mengubah kepemilikan group : chgrp <group owner><nama file>
·         Menggunakan account root untuk sementara :
~$su                      ; system akan meminta password
password : ****    ; prompt akan berubah jadi pagar, tanda login sebagai root
~#

·         Mengaktifkan shadow password, yaitu membuat file /etc/passwd menjadi dapat dibaca (readable) tetapi tidak lagi berisi password, karena sudah dipindahkan ke /etc/shadow

Contoh tipikal file /etc/passwd setelah diaktifkan shadow:
root:x:0:0::/root:/bin/bash
fade:x:1000:103: , , , :/home/fade:/bin/bash

Lihat user fade, dapat kita baca sebagai berikut :

username                     : fade
Password                     : x
User ID (UID)                        : 1000
Group ID (GUID)      : 103
Keterangan tambahan : -
Home directory                       : /home/fade
Shell default                : /bin/bash

Password-nya bisa dibaca (readable), tapi berupa huruf x saja, password sebenarnya disimpan di file /etc/shadow dalam keadaan dienkripsi :
root:pCfouljTBTX7o:10995:0:::::
fade:oiHQw6GBf4tiE:10995:0:99999:7:::

Perlunya Pro aktif password


Linux menggunakan metode DES (Data Encription Standart) untuk password-nya. User harus di training dalam memilih password yang akan digunakannya agar tidak mudah ditebak dengan program-program crack password dalam ancaman bruto force attack. Dan perlu pula ditambah dengan program Bantu cek keamanan password seperti :
·         Passwd+    : meningkatkan loging dan mengingatkan user jika mengisi password yang mudah ditebak, ftp://ftp.dartmouth.edu/pub/security
·         Anlpasswd            : dapat membuat aturan standar pengisian password seperti batas minimum, gabungan huruf besar dengan huruf kecil, gabungan angka dan huruf dsb, ftp://coast.rs.purdue.edu/pub/tools/unix/











3.      Kontrol akses jaringan (Network Access Control)

Firewall linux [1] :
alat pengontrolan akses antar jaringan yang membuat linux dapat memilih host yang berhak / tidak berhak mengaksesnya.

Fungsi Firewall linux :
·         Analisa dan filtering paket
Memeriksa paket TCP, lalu diperlakukan dengan kondisi yang sudah ditentukan, contoh paket A lakukan tindakan B.
·         Blocking content dan protocol
Bloking isi paket seperti applet java, activeX, Vbscript, Cookies
·         Autentikasi koneksi dan enkripsi
Menjalankan enkripsi dalam identitas user, integritas satu session dan melapisi data dengan algoritma enkripsi seperti : DES, triple DES, Blowfish, IPSec, SHA, MD5, IDEA, dsb.

Tipe firewall linux :
·         Application-proxy firewall/Application Gateways
Dilakukan pada level aplikasi di layer OSI, system proxy ini meneruskan / membagi paket-paket ke dalam jaringan internal. Contoh : software TIS FWTK (Tursted Information System Firewall Toolkit)
·         Network level Firewall, fungsi filter dan bloking paket dilakukan di router. Contoh : TCPWrappers, aplikasinya ada di /usr/sbin/tcpd. Cara kerjanya :
Lihat isi file /etc/inetd.conf :
...
telnet      stream     tcp    nowait    root /usr/sbin/telnetd
shell        stream     tcp    nowait    root /usr/sbin/rshd
pop3       stream     tcp    nowait    root /usr/sbin/pop3d

dengan diaktifkan TCPwrappers maka isi file /etc/inetd.conf :
...
telnet      stream     tcp    nowait    root /usr/sbin/tcpd in.telnetd
shell        stream     tcp    nowait    root /usr/sbin/tcpd in.rshd -L
pop3       stream     tcp    nowait    root /usr/sbin/tcpd in.pop3d

setiap ada permintaan layanan jarak jauh, dipotong dulu dengan pencocokan rule set yang telah diatur oleh tcp in, jika memenuhi syarat diteruskan ke file yang akan diekseskusi, tapi jika tidak memenuhi syarat digagalkan.


Pengaturan TCPWrapper dilakukan dengan mengkonfigurasi 2 file, yaitu :
·         /etc/host.allow à host yang diperbolehkan mengakses.
·         /etc/host.deny à host yang tidak diperbolehkan mengakses.


4.      Enkripsi (encryption)

Penerapan Enkripsi di linux :
·         Enkripsi password  à menggunakan DES ( Data Encryption Standard )
·         Enkripsi komunikasi data :
1.      Secure Shell (SSH) à Program yang melakukan loging terhadap komputer lain dalam jaringan, mengeksekusi perintah lewat mesin secara remote dan memindahkan file dari satu mesin ke mesin lainnya. Enkripsi dalam bentuk Blowfish, IDEA, RSA, Triple DES. Isi SSH Suite :
·        scp (secure shell copy) à mengamankan penggandaan data
·        ssh (secure shell client) à  model client ssh seperti telnet terenkripsi.
·        ssh-agent à otentikasi lewat jaringan dengan model RSA.
·        sshd (secure shell server) à di port 22
·        ssh-keygen à pembuat kunci (key generator) untuk ssh
Konfigurasi dilakukan di :
·        /etc/sshd_config (file konfigurasi server)
·        /etc/ssh_config (file konfigurasi client)
2.      Secure socket Layer (SSL) à mengenkripsi data yang dikirimkan lewat port http.
Konfigurasi dilakukan di : web server APACHE dengan ditambah PATCH SSL.

5.      Logging

Def : Prosedur dari Sistem Operasi atau aplikasi merekam setiap kejadian dan menyimpan rekaman tersebut untuk dapat dianalisa.

Semua file log linux disimpan di directory /var/log, antara lain :

·         Lastlog : rekaman user login terakhir kali
·         last : rekaman user yang pernah login dengan mencarinya pada file /var/log/wtmp
·         xferlog : rekaman informasi login di ftp daemon berupa data wktu akses, durasi transfer file, ip dan dns host yang mengakses, jumlah/nama file, tipe transfer(binary/ASCII), arah transfer(incoming/outgoing), modus akses(anonymous/guest/user resmi), nama/id/layanan user dan metode otentikasi.
·         Access_log : rekaman layanan http / webserver.
·         Error_log : rekaman pesan kesalahan atas service http / webserver berupa data jam dan waktu, tipe/alasan kesalahan
·         Messages : rekaman kejadian pada kernel ditangani oleh dua daemon :
o   Syslog à merekam semua program yang dijalankan, konfigurasi pada syslog.conf
o   Klog à menerima dan merekam semua pesan kernel








6.      Deteksi Penyusupan (Intrusion Detection)

Def : aktivitas mendeteksi penyusupan secara cepat dengan menggunakan program khusus secara otomatis yang disebut Intrusion Detection System

 



Tipe dasar IDS :
·         Ruled based system : mencatat lalu lintas data jika sesuai dengan database dari tanda penyusupan yang telah dikenal, maka langsung dikategorikan penyusupan. Pendekatan Ruled based system :
o   Preemptory (pencegahan) ; IDS akan memperhatikan semua lalu lintas jaringan, dan langsung bertindak jika dicurigai ada penyusupan.
o   Reactionary (reaksi) ; IDS hanya mengamati file log saja.
·         Adaptive system : penerapan expert system dalam mengamati lalu lintas jaringan.

 

Program IDS :
·         Chkwtmp : program pengecekan terhadap entry kosong
·         Tcplogd : program pendeteksi stealth scan (scanning yang dilakukan tanpa membuat sesi tcp)
·         Host entry : program pendeteksi login anomaly (perilaku aneh) à bizarre behaviour (perilaku aneh), time anomalies (anomaly waktu), local anomaly.

Windows NT


Komponen Arsitektur Keamanan NT :

1. Adminisrasi User dan Group

Jenis Account User :
·         Administrator
·         Guest
·         User

Jenis Account Gorup :
·         Administrator
·         Guest
·         User
·         Operator back-up
·         Power user
·         Operator server
·         Operator account
·         Operator printer


Hak User / Grup :
·         Hak basic : acces computer from network, back-up files/directory, change system time, logon locally, manage auditing and security, log (event viewer), restore files and directory, shutdown system, take ownership files or other object, dll.
·         Hak advance : access service and kernel untuk kebutuhan pengembangan system

2. Keamanan untuk system File

A. NTFS :
·         Cepat dalam operasi standar file (read – write – search)
·         Terdapat system file recovery,  access control dan permission.
·         Memandang obyek sebagai kumpulan atribut, termasuk permission access.

B. Proteksi untuk integritas data


Transaction logging  : merupakan system file yang dapat di-recovery untuk dapat mencatat semua perubahan terakhir pada directory dan file secara otomatis.
·         Jika transaksi system berhasil NT  akan melakukan pembaharuan pada file.
·         Jika transaksi gagal, NT akan melalui  :
·          Tahap analisis : mengukur kerusakan dan menentukan lokasi cluster yang harus diperbarui per informasi dalam file log.
·          Tahap redo : melakukan semua tahapan transaksi yang dicatat pada titik periksa terakhir
·          Tahap undo : mengembalikan ke kondisi semula untuk semua transaksi yang belum selesai dikerjakan.

Sector sparing  : Teknik dynamic data recovery yang hanya terdapat pada disk SCSI dengan cara memanfaatkan teknologi fault-tolerant volume untuk membuat duplikat data dari sector yang mengalami error. Metodenya adalah dengan merekalkulasi dari stripe set with parity atau dengan membaca sector dari mirror drive dan menulis data tersebut ke sektor baru.


Cluster remapping : Jika ada kegagalan dalam transaksi I/O pada disk , secara otomatis akan mencari cluster baru yang tidak rusak, lalu menandai alamat cluster yang mengandung bad sector tersebut.

C. Fault tolerance : Kemampuan untuk menyediakan redudansi data secara realtime yang akan memberikan tindakan penyelamatan bila terjadi kegagalan perangkat keras, korupsi perangkat lunak dan kemungkinan masalah lainnya.
Teknologinya disebut RAID (Redudant Arrays of inexpensive Disk) : sebuah array disk dimana dalam sebuah media penyimpanan terdapat informasi redudan tentang data yang disimpan di sisa media tersebut.
Kelebihan RAID :
·         Meningkatkan kinerja I/O
·         meningkatkan reabilitas media penyimpanan

Ada 2 bentuk fault tolerance :
1.      Disk mirroring (RAID 1) : meliputi penulisan data secara simultan kedua media penyimpanan yang secara fisik terpisah.
2.      Disk stripping dengan Parity (RAID 5) : data ditulis dalam strip-strip lewat satu array disk yang didalam strip-strip tersebut terdapat informasi parity yang dapat digunakan untuk meregenerasi data apabila salah satu disk device dalam strip set mengalami kegagalan.



3. Model Keamanan Windows NT

Dibuat dari beberapa komponen yang bekerja secara bersama-sama untuk memberikan keamanan logon dan access control list (ACL) dalam NT :

·         LSA (Local security Authority) : menjamin user memiliki hak untuk mengakses system. Inti keamanan yang menciptakan akses token, mengadministrasi kebijakan keamanan local dan memberikan layanan otentikasi user.
·         Proses logon : menerima permintaan logon dari user (logon interaktif dan logon remote), menanti masukan username dan password yang benar. Dibantu oleh Netlogon service.
·         Security Account Manager (SAM) : dikenal juga sebagai directory service database, yang memelihara database untuk account user dan memberikan layan validasi untuk proses LSA.
·         Security Reference Monitor (SRM) : memeriksa status izin user dalam mengakses, dan hak user untuk memanipulasi obyek serta membuat pesan-pesan audit.

4. Keamanan Sumber daya lokal

Obyek dalam NT  [file, folder (directory), proses, thread, share dan device], masing-masing akan dilengkapi dengan Obyek Security Descriptor yang terdiri dari :
·         Security ID Owner : menunjukkan user/grup yang memiliki obyek tersebut, yang memiliki kekuasaan untuk mengubah akses permission terhadap obyek tersebut.
·         Security ID group : digunakan oleh subsistem POSIX saja.
·         Discretionary ACL (Access Control List) : identifikasi user dan grup yang diperbolehkan / ditolak dalam mengakses, dikendalikan oleh pemilik obyek.
·         System ACL : mengendalikan pesan auditing yang dibangkitkan oleh system, dikendalikan oleh administrator keamanan jaringan.

5. Keamanan Jaringan

Jenis Keamanan Jaringan Windows NT :

·         Model keamanan user level : account user akan mendapatkan akses untuk pemakaian bersama dengan menciptakan share atas directory atau printer.
o   Keunggulan : kemampuan untuk memberikan user tertentu akses ke sumberdaya yang di-share dan menentukan jenis akses apa yang diberikan.
o   Kelemahan : proses setup yang kompleks karena administrator harus memberitahu setiap user dan menjaga policy system keamanan tetap dapat dibawah kendalinya dengan baik.
·         Model keamanan Share level : dikaitkan dengan jaringan peer to peer, dimana user manapun membagi sumber daya dan memutuskan apakaha diperlukan password untuk suatu akses tertentu.
o   Keuntungan : kesederhanaannya yang membuat keamanan share-level tidak membutuhkan account user untuk mendapatkan akses.
o   Kelemahan : sekali izin akses / password diberikan, tidak ada kendali atas siap yang menakses sumber daya.


Cara NT menangani keamanan jaringan :

  1. Memberikan permission :
·        Permission NTFS local
·        Permission shere

  1. Keamanan RAS (Remote Access Server)
Melakukan remote access user menggunakan dial-up :
·        Otentikasi user name dan password yang valid dengan dial-in permission.
·        Callback security : pengecekan nomor telepon yang valid.
·        Auditing : menggunakan auditing trails untuk melacak ke/dari siapa, kapan user memiliki akses ke server dan sumberdaya apa yang diakses.
  1. Pengamanan Layanan internet :
·        Firewall terbatas pada Internet Information server (IIS).
·        Menginstal tambahan proxy seperti Microsoft Proxy server.
  1. Share administrative :memungkin administrator mendapatkan akses ke server windows NT atau workstation melalui jaringan

6. Keamanan pada printer

Dilakukan dengan mensetting properties printer :
  1. Menentukan permission : full control, Manage document, print
  2. Biasanya susunan permission pada NT defaulut :
·         Adminstrator – full control
·         Owner – Manage document
·         Semua user – print
  1. Mengontrol print job, terdiri dari :
·        Setting waktu cetak
·        Prioritas
·        Notifikasi (orang yang perlu diberi peringatan)
  1. Set auditing information

7. Keamanan Registry

Tools yang disediakan dalam pengaksesan registry :
·         System policy editor : mengontrol akses terhadap registry editor, memungkinkan administrator mengedit dan memodifikasi value tertentu dalam registry dengan berbasis grafis.
·         Registry editor (regedit32.exe) : tools untuk melakukan edit dan modifikasi value dalam registry.
·         Windows NT Diagnostics (winmsd.exe) : memungkinkan user melihat setting isi registry dan valuenya tanpa harus masuk ke registry editor sendiri.







Tools backup untuk registry yaitu  :
·         Regback.exe memanfaatkan command line / remote session untuk membackupr registry.
·         ntbackup.exe : otomatisasi backup HANYA pada Tape drive, termasuk sebuah kopi dari file backup registry local.
·         Emergency Repair Disk (rdisk.exe) : memback-up hive system dan software dalam registry.

8. Audit dan Pencatatan Log

·         Pencatatan logon dan logoff  termasuk pencatatan dalam multi entry login
·         Object access (pencatatan akses obyek dan file)
·         Privilege Use (paencatatan pemakaian hak user)
·         Account Management (manajemen user dan group)
·         Policy change (Pencatatan perubahan kebijakan keamanan)
·         System event (pencatatan proses restart, shutdown dan pesan system)
·         Detailed tracking (pencatatan proses dalam system secara detail)

Setting Keamanan Data Dan System Di Linuxmengatur Hak Akses Di Linux Pada kesempatan kali ini saya akan sedikit membahas mengenai Dasar Keamanan Jaringan Pada Sistem Operasi Linux.Bermodalkan ilmu yang agak sok tau ini saya mencoba membahas mengenai Dasar Keamanan Jaringan Pada Sistem Operasi Linux yang dikutip dari  “Adiministrasi Jaringan Linux”, oleh: R. Anton Raharja, Afri Yunianto, Wisesa Wdiantoro..
Beberapa Dasar Keamanan Jaringan Pada Sistem Operasi Linux ini akan dibahas secara mendasar pada artikel kali ini yang telah saya sadur dan saya tulis ulang dengan menggunakan bahasa pribadi sendiri.Berikut ini adalah ulasan mengenai Dasar Keamanan Jaringan Pada Sistem Operasi Linux.1. Security.
Ketika jaringan kita terhubung dengan sebuah WAN atau terhubung dengan Internet, maka kita tidak hanya harus mempertimbangkan masalah keamanan dari tiap-tiap komputer di dalam jaringan kita, tetapi juga harus memperhatikan keamanan jaringan secara keseluruhan.
Kita tidak dapat menjamin bahwa semua orang di “luar sana” adalah orang baik-baik, sehingga permasalahan keamanan jaringan ini merupakan hal yang harus mendapat perhatian yang lebih dari seorang administrator jaringan. Kita juga sebaiknya tidak selalu berpikir bahwa keamanan jaringan bukan hanya berhubungan dengan hacker atau cracker dari “luar sana” tetapi sering kali ancaman tersebut juga datang dari sisi jaringan internal kita sendiri.



2. Kepedulian masalah security.
Berikut diberikan beberapa contoh hal-hal yang harus diwaspadai dalam keamanan jaringan :
  • Password Attack
Deskripsi : usaha penerobosan suatu sistem jaringan dengan cara memperoleh password dari jaringan tersebut.
Pencegahannya : installah shadow password, suatu program enkripsi untuk melindungi password.
  • Malicious Code
Deskripsi : kode-kode pada suatu program yang “tersamar” yang tidak diketahui fungsi dan manfaatnya, tetapi sewaktu-waktu dapat aktif dan beraksi membahayakan keadaan sistem.
Pencegahan : gunakan program-program seperti tripwire, TAMU, sXid atau dengan menggunakan MD5Checksum.
  • Sniffer
Deskripsi : suatu usaha untuk menangkap setiap data yang lewat dari suatu jaringan.
Pencegahan : mengenkripsikan semua data yang akan kita lewatkan kedalam jaringan, misalnya menggunakan ssh (secure shell) yang mempunyai fungsi yang sama dengan telnet tetapi semua data yang dilewatkan kejaringan akan di enkrip dengan enkripsi 128 bit.
  • Scanner
Deskripsi : merupakan utilitas bantu untuk mendeteksi celah-celah keamanan.
Pencegahan : pada umumnya program-program scanner menggunakan paket SYN dan ACK untuk mendeteksi celah-celah sekuriti yang ada pada suatu sistem, SYN dan ACK menggunakan ICMP sehingga untuk pencegahannya adalah memlter paket-paket ICMP dari sistem.
  • Spoofing
Deskripsi : merupakan penyerangan melalui autentikasi suatu sistem ke sitem lainnya dengan menggunakan paket-paket tertentu.
Pencegahan : kongurasikan sistem untuk menolak semua paket yang berasal dari localhost, memakai program enkripsi untuk akses remote (mis: ssh), mematikan service yang berhubungan dengan “dunia luar” apabila dirasakan kurang diperlukan.

  • Denial Of Service (DOS) Attack
Deskripsi : DoS merupakan serangan yang dilancarkan melalui paket-paket tertentu, biasanya paket-paket sederhana dengan jumlah yang sangat banyak/besar dengan maksud mengacaukan keadaan jaringan target.
Pencegahan : dilakukan dengan mematikan alamat broadcast, dan memfilter paket-paket ICMP, UDP, serta selalu melakukan update kernel yang digunakan oleh sistem.
3. Setting Beberapa File.
Beberapa file perlu dikonfigurasi untuk mengamankan jaringan :
  • /etc/host.allow
File ini digunakan untuk mengizinkan user dari luar untuk login ke dalam system berdasarkan hostname dan IP addressnya.
  • /etc/host.deny
Berlawanan fungsi dengan host.allow, file ini berisi daftar hostname dan nomor IP address yang dilarang melakukan remote login ke dalam system.
  • /proc/sys/net/ipv4/icmp_echo_ignore_all
File ini apabila bernilai “1″ maka semua paket-paket yang menggunakan port icmp akan di tolak.
  • /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
Agak berbeda dengan file sebelumnya, apabila bernilai “1″ file ini hanya menolak semua paket-paket icmp yang berasal dari IP broadcasts. jadi tidak seluruh paket icmp ditolak (deny).
  • /proc/sys/net/ipv4/conf/all/rp_filter
File ini digunakan untuk menghindari usaha spoong dari luar system. Set “1″ untuk mengaktifkannya.
  • /proc/sys/net/ipv4/tcp_syncookies
SYN attack adalah sebuah serangan DoS yang akan menghabiskan semua resource cpu dari system. Set “1″ untuk mengaktifkannya.
  • /etc/pam.d/su


Apabila system menggunakan PAM, dapat dikongurasikan untuk membatasi akses root berdasarkan user. Tambahkan dua baris di bawah pada /etc/pam.d/su,agar hanya user dibawah group wheel saja yang dapat login sebagai root.
  • auth sufficient /lib/security/pam_rootok.so debug
  • auth required /lib/security/pam_wheel.so group=wheel
  • /etc/lilo.conf
Untuk lebih mengamankan system tambahkan password dan statement restricted pada lilo.conf agar tidak semua orang dengan mudah masuk ke dalam sistem dan mempunyai kekuasaan root.

Tidak sedikit pengguna Linux pemula yang mengalami kebingungan karena tidak dapatmengoperasikan suatu program atau mengakses sebuah file atau direktori dikarenakan oleh hak akses yang ada pada setiap file dan direktori yang ada pada Linux

.Linux mengenal hak akses yang mengatur setiap user sehingga tiap user hanya dapat mengaksesfile-file atau direktori tertentu saja, hal ini digunakan untuk kepentingan keamanan sistem.
Dua perintah (program) dalam Linux yang digunakan untuk mengatur hak akses tersebut adalahchmod dan chown. Program chmod digunakan untuk mengubah hak akses suatu file, sedangkanchown digunakan untuk mengganti pemilik file tersebut.

v  Hak Akses dalam Linux

Sebelum melangkah lebih jauh mengenai penggunaan perintah diatas, sebelumnya perludijelaskan terlebih dahulu mengenai hak akses di dalam Linux.

Setiap file dan direktori yang ada dalam sistem linux memiliki tiga buah hak akses, satu untuk user itu sendiri, kemudian untuk user dalam grup yang sama dengan pemilik file dan yangterakhir untuk user lainnya.

Anda dapat melihat hak akses sebuah file dengan menggunakan perintah ls l,
perhatikan contoh dibawah ini :

-rw-rw-r-- 1 postgres postgres 41527 Jul 12 2001 summary.pdf
drwxrwxr-x 2 postgres postgres 4096 Sep 20 2002 Suse
-rw-r--r-- 1 root root 4935 Aug 23 2001 T123456.log
-rw-r--r-- 1 postgres postgres 13335 Apr 10 17:04 tchart2.java

Karakter pertama menunjukkan jenisnya, jika berisi karakter d, berarti itu adalah direktorisedangkan jika kosong berarti file. Sembilan karakter berikutnya menunjukkan hak aksesnya,dengan tiga karakter pertama menunjukkan hak akses untuk user tersebut, tiga karakterberikutnya menunjukkan hak akses untuk grup nya dan tiga karakter terakhir menunjukkan hak akses untuk user lain.

Masing-masing arti karakter tersebut dapat dilihat pada tabel berikut:

Karakter Arti Nilai
r (read) Hak akses untuk membaca
4w (write) Hak akses untuk menulis
2x (exec) Hak akses untuk menjalankan 1


Dengan mengkombinasikan nilai pada masing-masing hak akses tersebut, akan didapatkan hakakses masing-masing,

 perhatikan tabel berikut:

Hak Akses Nilai Arti

--- 0 Tidak memiliki hak akses (tidak dapat di akses)
r-- 4 Dapat dibaca dan ditulis (diedit)
rw- 6 Dapat dibaca dan ditulis (diedit)
rwx 7 Dapat dibaca, ditulis dan dieksekusi (dijalankan)
r-x 5 Dapat dibaca dan dijalankan, tetapi tidak dapat diedit
--x 1 Hanya dapat dijalankan

Berikut contoh penerapannya:

Hak Akses Nilai Arti-rw------- 600 Pemilik memiliki hak akses baca dan tulis, sedangkan orang lain tidak memilikihak akses apapun. Set dengan hak akses ini supaya file anda tidak dapat dibaca orang lain,biasanya digunakan untuk file-file dokumen

-rw-r--r-- 644 Pemilik memiliki hak akses baca dan tulis sedangkan orang lain hanya dapatmembaca saja. Gunakan hak akses ini jika anda ingin orang lain dapat membaca file anda-rw-rw-rw- 666 Dengan hak akses ini, orang lain juga akan dapat membaca dan merubah fileanda

-rwx------ 700 Pemilik dapat membaca, menulis dan menjalankan file ini, hak akses ini yangbiasanya digunakan untuk menjalankan program-rwxr-xr-x 755 Pemilik memiliki hak akses baca, tulis dan menjalankan file ini, sedangkan oranglain hanya dapat membaca dan menjalankan file tersebut

drwx------ 700 Hanya pemilik yang dapat mengakses, membaca dan menulis pada direktoritersebut. Setiap direktori harus memiliki hak akses x untuk dapat diakses

drwxr-xr-x 755 Isi direktori ini hanya dapat dirubah oleh pemilik, tetapi orang lain dapatmembaca isi direktori tersebut

Menggunakan Perintah chmod

Untuk menggunakan chmod, perintahnya adalah

:# chmod hak akses nama file misalnya

:# chmod 644 coba.txt

perintah tersebut akan mengubah hak akses file coba.txt menjadi seperti berikut:

-rw-r--r-- 1 postgres postgres 41527 Jul 12 2001 coba.txt
Untuk mengganti hak akses sebuah direktori beserta dengan isinya, gunakan parameter R,dengan parameter tersebut, chmod akan dijalankan secara rekursif, misalnya seluruh file yangada pada direktori /home/user/public_html akan dirubah hak aksesnya menjadi 755,

makaperintahnya adalah sebagai berikut:

# chmod R 755 /home/user/public_html

Menggunakan Perintah chownPerintah chown digunakan untuk mengganti pemilik sebuah file, perintah ini hanya dapatdigunakan oleh user root. Perintah ini hanya dapat digunakan oleh user root.Perintahnya adalah sebagai berikut:

# chown namauser.nama grup nama file misalnya

:# chown user.user coba.txt

perintah chown juga dapat digunakan dengan menggunakan parameter R, contohnya adalah sebagai berikut:

# chown R apache.apache /var/www/html

Perintah chattrSeringkali secara tidak sengaja kita menghapus atau mengedit sebuah file penting, di dalamLinux tidak ada fasilitas undelete, jadi file yang telah terhapus tidak dapat dikembalikan lagi.

Perintah (program) chattr digunakan untuk melindungi sebuah file sehingga tidak akan dapatdihapus ataupun dirubah dengan perintah apapun. Perintah chattr memberikan atribut i pada fileyang dilindungi, perintahnya:

# chattr +i namafilemisal:# chattr +i penting.txt

setelah perintah tersebut dijalankan, gunakan perintah ls l untuk melihat hasilnya: jika suatu ketika file ini akan diedit atau dihapus, terlebih dahulu atribut diatas harus dilepas,untuk melepasnya gunakan perintah berikut:

# chattr i namafileAkhir kata penulis mengucapkan selamat mencoba, semoga tulisan ini berguna bagi parapembaca sekalianAbstraksi
berikutnya 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.




v  Keamanan Host (host security) pada linux
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.
Berikut ini adalah contoh isi file /etc/passwd :
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 :
Field pertama : nama login
Field kedua : password yang terenkripsi
Field ketiga : User ID
Field keempat : Group ID
Field kelima : Nama sebenarnya
Field keenam : Home directory user
Field ketujuh : User Shell
Password login yang terdapat pada file /etc/passwd dienkripsi dengan menggunakan algoritma DES yang telah dimodifikasi [1]. Meskipun demikian hal tersebut tidak mengurangi kemungkinan password tersebut dibongkar (crack). Karena penyerang (attacker) dapat melakukan dictionary-based attack dengan cara :


·         menyalin file /etc/passwd tersebut
·         menjalankan program-program yang berguna untuk membongkar password, contohnya adalah Crack (www.users.dircon.co.uk/~crypto) dan John the Ripper (www.openwall.com/john/).
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.
Berikut ini adalah contoh file /etc/passwd yang telah di-shadow :
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
Dengan demikian, penggunaan shadow password akan mempersulit attacker untuk melakukan dictionary-based attack terhadap file password.
Selain menggunakan shadow password beberapa distribusi Linux juga menyertakan program hashing MD5 yang menjadikan password yang dimasukkan pemakai dapat berukuran panjang dan relatif mudah diingat karena berupa suatu passphrase.
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 nama login anda dengan segala variasinya.
·         Jangan menggunakan nama pertama atau akhir anda dengan segala variasinya.
·         Jangan menggunakan nama pasangan atau anak anda.
·         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.
·         Jangan menggunakan password yang berukuran kurang dari enam karakter.
·         Gunakan password yang merupakan campuran antara huruf kapital dan huruf kecil.

·         Gunakan password dengan karakter-karakter non-alfabet.
·         Gunakan password yang mudah diingat, sehingga tidak perlu ditulis.
·         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.
Namun sebelumnya anda mungkin perlu mematikan service tersebut :
/etc/rc.d/init.d/sendmail stop
Beberapa buah service yang dapat dimatikan bila komputer anda adalah komputer host :
·         r utilities (rshd, rlogin, rwhod, dan rexec)
·         finger
·         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 :


grep -v "^#" /etc/inetd.conf
Kemudian restart inetd (Internet Super Server) dengan cara :
kill -HUP inetd
Dalam Trustix Secure Linux (TSL), service-service yang terdapat pada INETD Super Server secara default ditiadakan. Berikut ini adalah cuplikan file /etc/inetd.conf yang disertakan pada Trustix Secure Linux :
#
# inetd.conf This file describes the services that will be available
# through the INETD TCP/IP super server. To re-configure
# the running INETD process, edit this file, then send the
# INETD process a SIGHUP signal.
#
# Version: @(#)/etc/inetd.conf 3.10 05/27/93
#
# Authors: Original taken from BSD UNIX 4.3/TAHOE.
# Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
#
# Modified for Debian Linux by Ian A.Murdock <imurdock@shell.portal.com>
#
# Modified for RHS Linux by Marc Ewing <marc@redhat.com>
#
# Modified for TSL by Erlend Midttun <erlendbm@trustix.com>
#
#########################################################################
# A word of warning: This is a place where little is better.
#
#########################################################################
# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
#
# Echo, discard, daytime, and chargen are used primarily for testing.
# There are certain security aspects of these. Recommended setting is
# off.
#
# To re-read this file after changes, just do a 'killall -HUP inetd'
#
#echo stream tcp nowait root internal
#echo dgram udp wait root internal
#discard stream tcp nowait root internal
#discard dgram udp wait root internal
#daytime stream tcp nowait root internal
#daytime dgram udp wait root internal
#chargen stream tcp nowait root internal
#chargen dgram udp wait root internal
#time stream tcp nowait root internal
#time dgram udp wait root internal
#
# These are standard services.
#
# Telnet allows for user logins using plain text passwords.
# A far superior way is using SSH (www.ssh.org) for this
# telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
#
# Shell, login, exec, comsat and talk are BSD protocols.
#
# Again, these allow for sending plain text passwords over the wire,
# and again SSH proves better.
#shell stream tcp nowait root /usr/sbin/tcpd in.rshd
#login stream tcp nowait root /usr/sbin/tcpd in.rlogind
#
# Pop and imap mail services et al
#
#pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d
#pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d
#imap stream tcp nowait root /usr/sbin/tcpd imapd
#
# The Internet UUCP service.
#
#uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/lib/uucp/uucico -l
#
# Tftp service is provided primarily for booting. Most sites
# run this only on machines acting as "boot servers." Do not uncomment
# this unless you *need* it.
#
#tftp dgram udp wait root /usr/sbin/tcpd in.tftpd
#bootps dgram udp wait root /usr/sbin/tcpd bootpd
#
# Finger, systat and netstat give out user information which may be
# valuable to potential "system crackers." Many sites choose to disable
# some or all of these services to improve security.
#
#finger stream tcp nowait nobody /usr/sbin/tcpd in.fingerd
#systat stream tcp nowait guest /usr/sbin/tcpd /bin/ps -auwwx
#netstat stream tcp nowait guest /usr/sbin/tcpd /bin/netstat -f inet
#
# Authentication
#
# identd is run standalone now
#
#auth stream tcp wait root /usr/sbin/in.identd in.identd -e -o
#
# End of inetd.conf
v  SUID Root Programs keamanan pada linux
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 :
mkdir -m700 /etc/info
find / -type f \( -perm -04000 -o -perm -02000 \) -ls > /etc/info/suid-results
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.
Kedua program tersebut dapat digunakan untuk mengenkripsi/mendekripsi data ataupun email. Selain itu keduanya dapat digunakan untuk enkripsi data menggunakan metode private key maupun public key.
Keamanan Jaringan (network security)
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 :
The objectives of FTP are :
1.      to promote sharing of files (computer programs and/or data),
2.      to encourage indirect or implicit (via programs) use of remote computers,
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.
FTP memiliki beberapa kelemahan sebagai berikut :
·         FTP menggunakan autentikasi berdasarkan mekanisme username/password standar. Akibatnya server tidak dapat memastikan bahwa pemakai adalah benar-benar seperti yang dikatakannya.
·         Secara default password dikirim dalam bentuk plaintext, sehingga dengan menggunakan sniffer, attacker dapat mengambil password tersebut.
·         Sesi FTP tidak dienkripsi sehingga tidak ada privacy.
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 :
·         Menggunakan software ftp server yang relatif aman, contohnya proftpd (www.proftpd.org) dan FTP BSD (www.openbsd.org).
·         Batasi orang-orang/host-host yang boleh mengaksesnya dengan cara memodifikasi file-file /etc/ftphosts dan /etc/ftpusers.
·         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 :
·         chmod 555 [ftp-home] ftp/
·         chmod 555 [ftp-home] ftp/bin
·         chmod 111 [ftp-home] ftp/bin/ls
·         chmod 555 [ftp-home] ftp/etc
·         chmod 444 [ftp-home] ftp/etc/passwd
dan set seluruh ownership file-file di atas kepada root
chown -R root [ftp-home] ftp/
·         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
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 :
·         menerima pesan masuk
·         memeriksa alamat si penerima :
·         apabila untuk alamat lokal, pesan akan diterima dan disimpan.
·         apabila untuk alamat remote, pesan akan di-forward
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.
Ada dua hal yang harus dilakukan untuk mengatasinya yaitu :
·         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 sering menjadi sasaran para attacker karena :
·         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.
·         Selalu perbarui program sendmail anda. Pastikan anda memiliki program sendmail terbaru yang telah memperbaiki bugs yang telah diketahui.
Gunakan MTA pengganti : qmail (www.qmail.org), postfix (www.postfix.org). Jika anda kesulitan dengan semua hal tersebut, mungkin sebaiknya anda menggunakan MTA lain.
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 :

·         password yang digunakan untuk login ke remote machine tidak dienkripsi.
·         data yang berjalan di jaringan tidak dienkripsi
·         tidak menerapkan session integrity checking
Disarankan untuk mengganti telnet dengan program lain seperti secure shell (SSH), tetapi apabila tetap ingin menggunakannya ada beberapa program pengganti yang relatif lebih aman :
·         deslogin : memberikan pelayanan login jaringan dengan autentikasi yang aman. Data yang ditransmisikan dienkripsi dengan DES sehingga terlindungi dari electronic eavesdropping. deslogin dapat diperoleh di ftp://ftp.uu.net/pub/security/des/
·         STEL (Secure Telnet). Dapat diperoleh di ftp://idea.sec.dsi.unimi.it/pub/security/cert-it/
·         SRA Telnet. Autentikasi yang digunakan berdasarkan RFC 1416. Dapat diperoleh di http://www.net.tamu.edu/ftp/security/TAMU/
·         SRP (Stanford University). Dapat diperoleh di ftp://srp.stanford.edu/pub/srp/
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 :
·         lpd (line printer daemon)
·         r services (rshd, rlogin, rwhod, dan rexec)
·         ftp
·         finger
·         NFS (Network File System)
·         SMB (Server Message Block)
·         ypbind dan ypserv
·         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 :
·         Host-based network access control
·         Kendali untuk mengkonfigurasi lokasi script CGI
·         Kendali untuk mengkonfigurasi ulang setting anda.
Berikut ini adalah beberapa options yang dapat mempengaruhi keamanan web server :
·         ExecCGI : menspesifikasikan bahwa script CGI dapat dijalankan pada hierarki direktori ini.
·         FollowSymlink : membolehkan user membuat symbolic link hanya dengan meng-click pada hyperlink mereka.
·         Includes : menspesifikasikan bahwa Apache akan memproses server side include.
·         Index : memungkinkan ditampilkannya listing direktori ketika tidak ada halaman default yang ditemukan.
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.
·         .htaccess. Merupakan file akses htpasswd. Ia menyimpan aturan-aturan akses (allow, deny), lokasi file-file konfigurasi, metode autentikasi, dan sebagainya.
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].
v  Tool untuk keamanan jaringan pada sistem linux
Sniffer
Sniffer adalah alat yang terhubung dengan jaringan komputer dan mendengarkan seluruh lalu lintas jaringan [4]. Sebuah program sniffing memungkinkan seseorang mendengarkan percakapan-percakapan pada komputer.
Sniffer biasanya digunakan untuk hal-hal berikut ini :
·         Menangkap password clear text dan nama login dari jaringan.
·         Konversi data jaringan ke bentuk yang mudah dipahami manusia.
·         Fault analysis untuk menemukan permasalahan-permasalahan dalam jaringan.
·         Performance analysis untuk menemukan bottleneck dalam jaringan.
·         Network intrusion detection untuk menemukan hacker/cracker.
·         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.
·         Snort. Packet-sniffer/logger berbasis libcap dengan filtering yang ekstensif. Dapat diperoleh di http://www.clark.net/~roesch/security.html
·         trinux. Berisikan tcpdump dan sniffit dalam satu buah floppy bootable disk. Tersedia di http://www.trinux.org/
·         karpski (http://niteowl.userfriendly.net/linux/RPM/karpski.html). Program paket sniffer GUI.
·         SuperSniffer v1.3 (http://www.mobis.com/~ajax/projects/). Merupakan sniffer paket berbasis libpcap yang diperbaiki dengan banyak modifikasi seperti file log yang terenkripsi DES, lalu lintas dapat dilog dengan pencocokan pola oleh ekspresi reguler, koneksi POP dan FTP dilog pada satu baris, telnet negotiation garbage diabaikan, pengabaian koneksi ganda, tcp packet reassembly, parellel tcp connection logging.
·         exdump (http://exscan.netpedia.net/exdump.html). Lightweight packet sniffer untuk Linux?
·         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
Secara default, workstation mendengarkan dan menanggapi hanya paket-paket yang dialamatkan padanya. Namun, bila network interface workstation dialihkan ke mode promiscuous, workstation dapat memonitor dan menangkap seluruh lalu lintas jaringan dan paket-paket yang lewat, tanpa memperdulikan tujuannya.
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

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:5 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
Sementara tampilan berikut adalah status seluruh interface dengan 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 PROMISC 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

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:5 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
Terlihat bahwa interface eth0 berjalan pada mode promiscuous.
·         ifstatus
ifstatus memeriksa seluruh interface jaringan pada sistem dan melaporkan interface yang berada pada mode debug atau promiscuous.

ifstatus dapat diperoleh di http://cert.unisa.it/pub/Tools/Network/ifstatus/
·         Antisniff
Merupakan alat pendeteksi sniffer yang paling komprehensif. Antisniff dapat diperoleh di http://www.l0pht.com/antisniff/
·         NePED (Network Promiscuous Ethernet Detector)
Sebuah tool dari The Apostols yang dapat mendeteksi sniffer yang berjalan pada segmen lokal. NePED dapat diperoleh dari http://www.apostols.org/projectz/neped/
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.
- password yang lemah.
- keamanan yang buruk pada file password dan kelompok.
- bit-bit SUID/SGID yang tidak tepat pada file-file.
- perubahan-perubahan yang mencurigakan dalam checksum file.
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
·         SAINT (Security Administrator's Integrated Network Tool). SATAN merupakan versi SATAN yang telah banyak diperbaiki dan mendukung celah-celah keamanan terkini seperti : CGI-based Web attack, DoS (denial of service), POP server attack, SSH vulnarabilities, dan remote buffer overflow. SAINT dapat diperoleh dari www.wwdsi.com/saint/
·         Nessus. Nessus merupakan free scanner yang sangat baik dan canggih. Ditulis oleh Renaud Deraison, Nessus selalu berkembang. Dapat dijalankan pada Linux, Windows NT, dan berbagai sistem UNIX. Nessus mendukung berbagai serangan melalui pemanfaatan plug-ins. Nessus menggunakan GUI yang atraktif dan intuitif. Informasi lebih lanjut mengenai Nessus dapat dijumpai di www.nessus.org
·         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/


v  Firewall system keamanan pada linux
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/

Berikut ini adalah beberapa commercial firewall :
·         Checkpoint Firewall-1 (www.checkpoint.com). Checkpoint Firewall-1 adalah suite produk keamanan yang telah mendukung enterprise security, access control, autentikasi, content security, NAT, Reporting Module, VPN, Intrusion Detection, High Availability, LDAP User Account Management, dan Third Party Security Device Management.
·         Raptor (www.axent.com). Raptor didasarkan pada arsitektur proxy based yang memonitor seluruh lalu lintas pada level aplikasi, menscan seluruh aplikasi dan protokol yang keluar dan masuk jaringan perusahaan.
·         XSentry (www.trustix.com). XSentry 1.1 Firewall terdiri dari XSentry Administration Client dan XSentry Firewall Server. XSentry Internet Firewall Administration Client menawarkan user interface yang unik dan baru, yang memungkinkan pemodelan grafis entitas jaringan secara cepat dan aman, dan berkomunikasi secara aman dengan XSentry Firewall Server. User interface yang unik ini meminimalkan bahaya kesalahan konfigurasi.

v  COPS: Polisi Sistem Linux Anda

I. DESKRIPSI
  • COPS (Computer Oracle and Password System) adalah perangkat lunak keamanan yang
  • dibuat oleh Dan Farmer yang berfungsi untuk melakukan pemeriksaan dan melaporkan
  • kelemahan sistem dan lubang keamanan lokal secara umum. Perangkat lunak ini
  • diperkenalkan pada konferensi USENIX pada tahun 1990, dan di dalam paketnya berisi
  • bourne shell- scripts dengan kombinasi awk, sed, grep, dll, program- program dalam bahasa
  • C, perl, serta paper mengenai keamanan dan COPS.
  • Walaupun cukup lama rilis perangkat lunak ini dan tidak di- update berkala, COPS dapat
  • dijadikan model dan utilitas keamanan tahap pertama bagi sistem Linux Anda.
II. FITUR PEMERIKSAAN COPS
  • COPS memiliki beberapa fitur pemeriksaan yaitu:
  • Program dan berkas SUID (Set User ID)
  • Pemeriksaan terhadap program dan berkas SUID dalam sistem, baik berupa shell- scripts
  • atau binari juga mode - nya.
  • Berkas /etc/passwd dan /etc/group
  • Pemeriksaan isi, format dan keamanan berkas - berkas tersebut.

  • Password yang lemah
Pemeriksaan password yang lemah pada sistem Anda termasuk seberapa mudah
password - password tersebut untuk ditebak.
  • Program dan berkas yang dijalankan melalui /etc/rc* dan berkas cron
  • CRC checksum pada perubahan binari dan berkas
  • Direktori home dan berkas startup (.profile, dll) dan perijinannya
  • Direktori yang mempunyai mode 'world- writable '
  • Ftp setup , baik anonymous - ftp maupun berkas ftp seperti /etc/ftpusers, account root
  • harus ada dalam berkas ini
  • Perijian atau mode berkas, direktori, dan divais (/dev)
  • Pembatasan tftp , decode alias di sendmail, masalah uudecode SUID, shell yang
  • tersembunyi pada /etc/inetd.conf termasuk rexd
  • Beberapa pemeriksaan root seperti direktori dalam path pencarian, penambahan '+'
  • pada berkas /etc/host.equiv, dan pembatasan NFS mount
  • Tanggal CERT- advisory di mana COPS akan memeriksa tanggal apakah beberapa berkas
  • yang didefinisikan memiliki kelemahan dan lubang kelemahan seperti yang terdapat
  • dalam advisory . Karena CERT- advisory ini sudah cukup lama kemungkinan akan
  • terdapat kesalahan dalam pemeriksaan, jadi Anda dianjurkan untuk membaca advisory
  • dan memeriksa berkas yang dilaporkan mempunyai masalah keamanan.
  • Kuang expert system
Sistem ini melakukan pemeriksaan kelemahan yang mengacu pada beberapa 'rule ' dan
akan mendeteksi sistem Anda apakah dapat di- compromised .
III. KEBUTUHAN INSTALASI
Kompiler C
Cracklib (http://www.crypticide.org/users/alecm/security/ atau mirror - nya)
Sebagian besar distribusi Linux menyertakan cracklib dalam CD instalasinya, contoh:
Mandrake Linux, tapi jika belum ada Anda dapat men- download dan menginstalnya
sendiri
Perl (optional )
IV. INSTALASI COPS
1. Download cops_104_linux.tgz dari
http://www.ibiblio.org/pub/Linux/system/security/ atau mirror - nya.
2. Ekstrak paket cops_104_linux.tgz
$ tar zxvf cops_104_linux.tgz
3. Masuk ke direktori hasil ekstrak
$ cd cops_104/
5.      Lakukan konfigurasi dengan melakukan reconfig untuk shell- scripts , ini dilakukan untuk

mengkonfigurasi COPS mengenai letak program- program yang diperlukan (hard- coded ).
$ ./reconfig
checking to make sure all the target(s) are here...
So far so good...
Looking for all the commands now...
Ok, now doing substitutions on the shell scripts...
Changing paths in makefile...
...
5. Edit makefile untuk disesuaikan dengan preferensi Anda
Direktori instalasi COPS
Edit baris INSTALL_DIR= linux ganti dengan direktori yang Anda inginkan, misal:
INSTALL_DIR=/usr/sbin/cops
Beberapa sistem membutuhkan uncomment baris BRAINDEADFLAGS -lcrypt untuk
kompilasi pass.chk.
6. Edit shell- script cops
MMAIL
Set 'YES' untuk mengirimkan laporan ke e- mail SECURE_USERS
RUN_SUID
Set 'YES' untuk mengaktifkan permeriksaan SUID dan ini memerlukan privileged- user
SECURE
Set ke direktori dimana Anda instal COPS, misal SECURE=/usr/sbin/cops
SECURE_USERS
Set ke account dimana Anda akan menerima laporan COPS, misal
Kompilasi COPS
$ make
8. Instal COPS
$ su
Password:
# make install
9. Jangan lupa untuk mengeset mode 700 untuk direktori dimana program- program COPS
berada.
# chmod 0700 /usr/sbin/cops
V. KONFIGURASI DAN MENJALANKAN COPS
1. Ubah dan sesuaikan berkas is_able.lst dan crc_list dengan sistem Anda.
2. Jalankan cops misal dengan option -v (verbose ), -s (direktori cops) dan -b (bit bucket ):
$ /usr/sbin/cops/cops -v -s /usr/sbin/cops -b error.cops
atau jika Anda mengkonfigurasikan COPS dengan mengaktifkan pemeriksaan SUID, Anda
memerlukan hak root untuk mengakses semua direktori di bawah '/'.
3. Setelah selesai, lihat hasil laporan pada berkas bertanggal dalam direktori dengan nama
hostname mesin yang diperiksa COPS. Contoh: laporan pada hostname machine1 akan

ditulis pada /usr/sbin/cops/machine1/ dalam berkas bertanggal misal
2003_Nov_14.



VI. MENJALANKAN COPS DENGAN PENJADWAL
Dengan memasukkan COPS ke dalam cron atau at maka Anda bisa menjalankannya dalam
interval waktu tertentu untuk memonitor keamanan sistem dan mengirimkan mail ke
administrator.
Untuk menggunakan pemeriksaan SUID (suid.chk), gunakan option -s untuk
memberitahukan cron dimana program- program COPS berada atau COPS akan mengeset
mode 700 untuk '/'.
VII. PEMERIKSAAN SECARA INDIVIDUAL
Anda bisa menjalankan pemeriksaan sistem secara individual untuk masing- masing
kategori pemeriksaan, misal pemeriksaan berkas SUID. Dengan menjalankan suid.chk
maka berkas dan program ber- SUID yang ditemukan akan dilaporkan.
$ su
Password:
# /usr/sbin/cops/suid.chk -s /usr/sbin/cops -o suid.cops
Laporan pemeriksaan berkas dan program SUID akan dituliskan pada berkas suid.cops
sesuai dengan argumen yang diberikan pada option -o.
3VIII. BEBERAPA CONTOH LAPORAN COPS
Perijinan Berkas, Direktori, dan Divais (/dev)
Keamanan filesystem di Linux tidak dapat terlepas dari masalah perijinan atau mode .
Direktori yang diset 'world- writable ' secara sengaja atau tidak sengaja dapat
memberikan celah keamanan pada sistem. Seseorang dapat menginstal dan menjalankan
program yang berbahaya bagi sistem ke dalam direktori tersebut, misal: exploit dan
password- cracker . Contoh laporan COPS untuk perijinan:
ATTENTION:
Security Report for Fri Nov 14 08:03:03 WIT 2003
from host machine1
**** root.chk ****
**** dev.chk ****
Warning! /dev/cdrom is _World_ readable!
**** is_able.chk ****
Warning! /usr/spool/mail is _World_ writable!
Warning! /etc/securetty is _World_ readable!
**** rc.chk ****
**** cron.chk ****
**** group.chk ****
**** home.chk ****
**** passwd.chk ****
**** user.chk ****
**** misc.chk ****
Contoh laporan COPS di atas memberikan penjelasan bahwa divais CD- ROM yang ada


dalam sistem dan berkas /etc/securetty dapat dibaca oleh semua orang, kemudian
direktori /usr/spool/mail dapat ditulis oleh semua orang sehingga kemungkinan
direktori ini bisa ditanam exploit , backdoor , dll.

Program SUID
Program ber - SUID akan selalu dieksekusi dengan hak pemiliknya siapapun yang
menjalankan program tersebut. Misal program mount diset SUID root maka ketika
dijalankan oleh salah satu pengguna dalam sistem, program mount tsb akan dijalankan
sebagai root.
Dalam sistem yang multiuser jika terdapat banyak program ber - SUID baik pengguna
ataupun root akan sangat berbahaya dan menimbulkan kemungkinan timbul lubang
keamanan terutama yang 'world- writable' .
ATTENTION:
SUID Security Report for Fri Nov 14 08:11:16 WIT 2003
from host machine1
Warning! ROOT owned SUID file /var/qmail/bin/qmail-scanner-queue.pl is type: setuid a
/usr/bin/suidperl -T script text executable!
These files are newly setuid/setgid:
-rwsr-xr-x 1 root bin 68876 Feb 19 2003 /bin/mount
-r-sr-xr-x 1 root bin 14964 Mar 8 2003 /bin/ping
-rws--x--x 1 root bin 31696 Mar 10 2003 /bin/su
-rwsr-xr-x 1 root bin 31072 Feb 19 2003 /bin/umount
  • -rws--x--x 1 root bin 32568 Mar 10 2003 /usr/bin/chage
  • -rws--x--x 1 root bin 27456 Mar 10 2003 /usr/bin/chfn
  • -rws--x--x 1 root bin 25844 Mar 10 2003 /usr/bin/chsh
  • -rws--x--x 1 root bin 10508 Apr 16 2002 /usr/bin/crontab
  • -rws--x--x 1 root bin 15416 Mar 10 2003 /usr/bin/expiry
  • -rws--x--x 1 root bin 32196 Mar 10 2003 /usr/bin/gpasswd
  • -rws--x--x 1 root bin 19128 Mar 10 2003 /usr/bin/newgrp
  • -rws--x--x 1 root bin 33924 Mar 10 2003 /usr/bin/passwd
  • -rws--x--x 1 root bin 14292 Mar 8 2003 /usr/bin/rcp
  • -rws--x--x 1 root bin 10260 Mar 8 2003 /usr/bin/rlogin
  • -rws--x--x 1 root bin 7380 Mar 8 2003 /usr/bin/rsh
  • -rwxr-sr-x 1 root slocate 26496 Feb 12 2003 /usr/bin/slocate
  • -r-xr-sr-x 1 root tty 9988 Feb 19 2003 /usr/bin/wall
  • -r-xr-sr-x 1 root tty 8212 Feb 19 2003 /usr/bin/write
  • -rwsr-xr-x 1 root root 5756 Mar 5 2003 /usr/libexec/pt_chown
  • These files are no longer setuid/setgid:
  • -rwsr-xr-x 1 root bin 10240 Jun 13 13:13 /bin/chgrp
  • -rwsr-xr-x 1 root bin 12288 Jun 13 13:13 /bin/df
  • -rws--s--- 1 root term 22528 Aug 13 13:13 /bin/login
  • -rws------ 1 root bin 21504 Jun 13 13:13 /bin/login.old
  • -rwsr-xr-x 1 root bin 22528 Jun 13 13:13 /bin/mail
  • -rwsr-xr-x 1 root bin 14336 Jun 13 13:13 /bin/passwd
  • -rwxr-sr-x 1 root MEM 22528 Jun 13 13:13 /bin/ps
  • -rwsr-xr-x 1 root bin 16384 Jun 13 13:13 /bin/su
  • -rwxr-sr-x 1 root MEM 14336 Jun 13 13:13 /etc/dmesg
  • -rwsr-x--- 1 root operator 29696 Jun 13 13:13 /etc/dump




v  membuat keamanan di linux (linux security)

  • pendahuluan
Keamanan komputer maupun jaringan komputer, terutama yang terhubung
ke internet harus direncanakan dan dikoordinasikan dengan baik agar dapat
melindungi sumber daya (resource) dan investasi di dalamnya. Informasi (data) dan
service (pelayanan) sudah menjadi sebuah komoditi yang sangat penting.
Kemampuan untuk mengakses dan menyediakan informasi secara cepat dan akurat
menjadi sangat esensial bagi suatu organisasi, baik yang berupa organisasi
komersial (perusahaan), perguruan tinggi, lembaga pemerintahan, maupun
individual (pribadi).
  • Aspek-aspek Security
Dalam mengamankan jaringan ada beberapa aspek yang harus kita perhatikan dan
dijaga, antara lain:
  • Kestabilan Sistem
Sistem yang kita buat harus stabil sejalan dengan waktu, dalam arti bila
sewaktu-waktu terjadi perubahan pada perilaku hardware maupun software
yang lain dari biasanya. Administrator harus mampu segera mengatasi masalahmasalah
tersebut, seperti memperbaiki bug yang ada, melakukan upgrade, dan
mengganti device rusak.
  • Ketersediaan data dan kerahasiaan
Harus ada perlindungan terhadap informasi baik berupa data, program, dan
segala hal yang dianggap penting agar tidak dihapus atau dirubah oleh orang
lain yang tidak berhak. Selain itu harus ada jaminan terhadap informasi agar
tidak bisa diakses/diketahui atau diubah oleh orang lain yang tidak berhak



  • Ketersediaan service
Servis-servis yang kita sediakan di dalam jaringan harus dijaga agar selalu
tersedia tanpa adanya gangguan Kendali Harus ada sistem pengendalian tertentu, seperti mengatur hak akses di dalam sistem jaringan. Karena perilaku pemakai sulit ditebak maka pengguna harus dibatasi dalam melakukan akses pada daerah dimana ia berwenang, sedangkan
bagi pengguna luar harus ditolak.
  • Monitoring
Administrator harus melakukan pemantauan terhadap sistem jaringan yang dibangunnya, siapa yang telah mengakses dan menggunakan servis, aktivitas apa yang telah dilakukan, mencari sela-sela sistem yang belum terlindungi, memantau catatan logging sistem, mendeteksi penyusup yang masuk dll. Sangat penting di sini untuk mengembangkan budaya memperhatikan aspek keamanan dalam menggunakan setiap fasilitas jaringan kepada seluruh user/pengguna. Perlu diperhatikan bagi administrator jaringan agar para pengguna jaringan ikut menjaga keamanan jaringan, misalnya dengan menerapkan disiplin menggunakan login miliknya dan tidak memberikannya kepada siapa pun, mengganti password secara berkala, dan hal-hal lain yang berguna untuk membangun semangat untuk melindungi jaringan secara bersama.
  • Pengaturan Akses dalam Sistem Unix
Salah satu cara yang umum digunakan untuk mengamankan informasi adalah dengan mengatur akses ke informasi melalui mekanisme “access control”. Implementasi dari mekanisme ini antara lain dengan menggunakan “password”. Di sistem Unix, untuk menggunakan sebuah sistem atau komputer, pemakai diharuskan melalui proses authentication dengan menuliskan “userid” dan “password”. Informasi yang diberikan ini dibandingkan dengan userid dan password yang berada di sistem. Apabila keduanya valid, pemakai yang bersangkutan diperbolehkan menggunakan sistem. Apabila ada yang salah, pemakai tidak dapat menggunakan sistem. Informasi tentang kesalahan ini biasanya dicatat dalam
berkas log. Besarnya informasi yang dicatat bergantung kepada konfigurasi dari
sistem setempat. Misalnya, ada yang menuliskan informasi apabila pemakai
memasukkan userid dan password yang salah sebanyak tiga kali. Ada juga yang
langsung menuliskan informasi ke dalam berkas log meskipun baru satu kali salah.
Informasi tentang waktu kejadian juga dicatat. Selain itu asal hubungan (connection)
juga dicatat sehingga administrator dapat memeriksa keabsahan hubungan.
·         Password di Sistem Unix
Akses ke sistem UNIX menggunakan password yang biasanya disimpan di dalam
berkas /etc/passwd. Di dalam berkas ini disimpan nama, userid, password, dan
informasi-informasi lain yang digunakan oleh bermacam-macam program. Contoh isi
berkas password dapat dilihat di bawah ini (dapat dibuka juga dengan perintah
‘vipw’):
root:fi3sED95ibqR7:0:1:System Operator:/:/sbin/sh
daemon:*:1:1::/tmp:
hakim:d98skjhj9l:72:98:Rahmat Hakim:/home/hakim:/bin/bash
Field Isi
sandhy Nama atau userid pemakai
d98skjhj9l password yang sudah terenkripsi (encrypted pass-word)
72 UID, user identification number
98 GID, group identification number
Sandhy Hasan nama lengkap dari pemakai (sering juga disebut GECOS
a atau GCOS field)
/home/sandhy home directory dari pemakai
/bin/bash shell dari pemakai.
Pada sistem UNIX lama, biasanya berkas /etc/passwd ini “readable”, yaitu
dapat dibaca oleh siapa saja. Meskipun kolom password di dalam berkas itu berisi
“encrypted password” (password yang sudah terenkripsi), tetapi ini merupakan
potensi sumber lubang keamanan. Ada program tertentu yang dapat digunakan
untuk memecah password tersebut. Contoh program ini antara lain: crack (UNIX),
viper (perl script), dan cracker jack (DOS). Program “password cracker” ini tidak
dapat mencari tahu kata kunci dari kata yang sudah terenkripsi. Akan tetapi, yang
dilakukan oleh program ini adalah melakukan coba-coba (brute force attack). Salah satu caranya adalah mengambil kata dari kamus (dictionary) kemudian
mengenkripsinya. Apabila hasil enkripsi tersebut sama dengan password yang
sudah terenkripsi (encrypted password), maka kunci atau passwordnya ketemu.
Selain melakukan “lookup” dengan menggunakan kamus, biasanya program
“password cracker” tersebut memiliki beberapa algoritma heuristic seperti
menambahkan angka di belakangnya, atau membaca dari belakang (terbalik), dan
seterusnya. Semakin sederhana password yang digunakan maka kemungkinan
terpecahnya password tersebut akan semakin tinggi dan semakin cepat selesainya.
  • Shadow Password
Salah satu cara untuk mempersulit mendapatkan berkas yang berisi password
(meskipun terenkripsi) adalah dengan menggunakan “shadow password”.
Mekanisme ini menggunakan berkas /etc/shadow untuk menyimpan encrypted
password, sementara kolom password di berkas /etc/passwd berisi karakter “x”.
Berkas /etc/shadow tidak dapat dibaca secara langsung oleh pemakai biasa
(bersifat hidden), tetapi bisa diakses oleh user root.


Beberapa perintah dan fungsi yang berhubungan dengan account dan password :
  • chage (mengeset password expiration)
  • chfn (untuk mengubah finger information)
  • chsh (mengubah default shell)
  • gpasswd (menambah user dalam group tertentu)
  • groupadd (menambah group)
  • groupdel (menghapus group)
  • groupmod (mengubah setting/informasi group)
  • id (menampilkan informasi ID beberapa informasi)
  • login (untuk login)
  • newgrp (mengganti group efektif)
  • passwd (membuat password atau mengubah password)
  • su (substitue user)
  • userdel (menghapus user)
  • usermod (mengubah setting dan informasi user)
  • Pemilihan Password
Dengan adanya kemungkinan password ditebak, misalnya dengan menggunakan
program password cracker, maka memilih password memegang peranan yang
sangat penting dan memerlukan perhatian khusus. Berikut ini adalah daftar hal-hal
yang sebaiknya tidak digunakan sebagai password :
• Nama orang, dan hewan.
• Nama komputer, nomor telepon atau plat nomor kendaran.
• Tanggal lahir, alamat rumah, nama tempat yang terkenal.
• Kata-kata yang terdapat dalam kamus (misal : bahasa Indonesia, bahasa
Inggris).
• Password dengan karakter yang sama diulang-ulang
• Password yang mengurutkan penekanan tombol pada keyboard
Sebaiknya jangan menggunakan password yang terdapat dalam kamus, atau katakata
yang umum digunakan. Gunakan kombinasi huruf besar dan kecil, dan
gunakan angka atau karakter lainnya. Password yang kita gunakan semakin
panjang tentu semakin baik. Panjang password minimal secara default biasanya
adalah 7 karakter. Kita bisa mengeset sesuai dengan kebutuhan kita (misal = 8
karakter). Untuk itu editlah file /etc/login.defs dengan text editor favorit anda :
[root]# vi /etc/login.defs
kemudian pada bagian PASS_MIN_LEN 7 (ganti 7 dengan 8).
Serangan Terhadap Sistem Keamanan
Serangan pada keamanan jaringan sangat banyak jenisnya. Bahkan mungkin
ditemukan cara-cara baru yang lebih mudah dan efektif serta tidak terlalu
membutuhkan kemampuan yang tinggi. Serangan-serangan ini ada yang bersifat
mengganggu, merusak, bahkan mengambil alih posisi superuser (root). Serangan
yang sering terjadi di internet di antaranya :




• Scanning
Scan adalah probe dalam jumlah besar menggunakan tool secara otomatis
dengan tujuan tertentu (misal : mendeteksi kelemahan-kelemahan pada host
tujuan). Scanner biasanya bekerja dengan men-scan port TCP /IP dan servisservisnya
dan mencatat respon dari komputer target. Dari scanner ini dapat
diperoleh informasi mengenai port-port mana saja yang terbuka. Kemudian
yang dilakukan adalah mencari tahu kelemahan-kelemahan yang mungkin
bisa dimanfaatkan berdasar port yang terbuka dan aplikasi serta versi aplikasi
yang digunakan.
• Sniffing
Sniffer adalah device (software maupun hardware) yang digunakan untuk
mendengar informasi yang melewati jaringan dengan protokol apa saja. Host
dengan mode promiscuous mampu mendengar semua trafik di dalam
jaringan. Sniffer dapat menyadap password maupun informasi rahasia, dan keberadaannya biasanya cukup sulit untuk dideteksi karena bersifat pasif.
Sniffer ini mendengarkan port Ethernet untuk hal-hal seperti "Password",
"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. Untuk mengatasinya, dapat
digunakan enkripsi, merancang arsitektur jaringan yang lebih aman dan
menggunakan One Time Password (OTP).

• Eksploit
Eksploit berarti memanfaatkan kelemahan sistem untuk aktifitas-aktifitas di
luar penggunaan normal yang sewajarnya.
• Spoofing
Biasanya IP spoofing dilakukan dengan menyamarkan identitas alamat IP
menjadi IP yang tepercaya (misal dengan script tertentu) dan kemudian
melakukan koneksi ke dalam jaringan. Bila berhasil akan dilanjutkan dengan
serangan berikutnya.
• DoS (Denial of Service) attack
Salah satu sumberdaya jaringan yang berharga adalah servis-servis yang
disediakannya. DoS atau malah Distributed DoS (DDoS) attack dapat
menyebabkan servis yang seharusnya ada menjadi tidak bisa digunakan. Hal
ini tentu akan mendatangkan masalah dan merugikan. Penyebab penolakan
servis ini sangat banyak sekali, dapat disebabkan antara lain :
1. Jaringan kebanjiran trafik (misal karena serangan syn flooding, ping
flooding, smurfing).
2. Jaringan terpisah karena ada penghubung (router/gateway) yang tidak
berfungsi.
3. Ada worm/virus yang menyerang dan menyebar sehingga jaringan
menjadi lumpuh bahkan tidak berfungsi, dll
• Malicious Code
Malicious Code adalah program yang dapat menimbulkan efek yang tidak
diinginkan jika dieksekusi. Jenisnya antara lain : trojan horse, virus, dan worm. Trojan Horse adalah program yang menyamar dan melakukan aktifitas
tertentu secara tersembunyi (biasanya merugikan, misal : game yang mencuri
password). Virus adalah program yang bersifat mengganggu bahkan
merusak dan biasanya memerlukan intervensi manusia dalam
penyebarannya. Worm adalah program yang dapat menduplikasikan diri dan
menyebar dengan cepat tanpa intervensi manusia. Malicious kode dapat
menimbulkan beragam tingkat permasalahan.
• Serangan secara fisik
Serangan secara fisik misalnya mengakses server/jaringan/piranti secara
ilegal :
• Buffer Ofer Flow
Dapat terjadi jika ada fungsi yang dibebani dengan data yang lebih besar dari
yang mampu ditangani fungsi tersebut. Buffer adalah penampungan
sementara di memori komputer dan biasanya mempunyai ukuran tertentu.
Jika hal itu terjadi maka kemungkinan yang dapat terjadi adalah :
Program menolak dan memberi peringatan
Program akan menerima data, meletakkannya pada memori dan
mengoverwrite isi memori jika ada data sebelumnya. Cracker dapat membuat
data di mana bagian overflownya adalah set instruksi tertentu untuk
mendapatkan akses. Jika set instruksi baru menempati tempat suatu instruksi
sebelumnya, maka instruksi cracker akan dapat dijalankan.
• Social Engineering
Social engineering berarti usaha untuk mendapatkan password dengan jalan
'memintanya' , misalkan dengan menggunakan fakemail.
• OS Finger Printing
Mengetahui operating system (OS) dari target yang akan diserang
merupakan salah satu pekerjaan pertama yang dilakukan oleh seorang
cracker. Setelah mengetahui OS yang dituju, dia dapat melihat database
kelemahan sistem yang dituju. Fingerprinting merupakan istilah yang umum digunakan untuk menganalisa OS sistem yang dituju. Beberapa cara
konvensional antara lain : telnet, ftp, netcat, dll.
Jika server tersebut kebetulan menyediakan suatu servis, seringkali ada
banner yang menunjukkan nama OS beserta versinya. Misalkan dilakukan
dengan telnet dengan port tertentu, atau dapat juga menggunakan program
tertentu.
Cara fingerprinting yang lebih canggih adalah dengan menganalisa respon
sistem terhadap permintaan (request) tertentu. Misalnya dengan menganalisa
nomor urut packet TCP/IP yang dikeluarkan oleh server tersebut dapat
dipersempit ruang jenis dari OS yang digunakan.
Ada beberapa tools untuk melakukan deteksi OS ini antara lain: nmap, dan
queso
• Crack password
Crack password adalah program untuk MENDUGA dan memecahkan
password dengan menggunakan sebuah atau beberapa kamus (dictionary)
Dewasa ini tool-tool yang digunakan dalam penyerangan semakin mudah digunakan
dan efektif, bahkan banyak yang disertai source kodenya..
v  firewall sebgai sistem keamanan pada linux
Firewall adalah sebuah perlindungan untuk membatasi informasi yang diperbolehkan masuk ataupun keluar dari jaringan lokal host. Sebuah firewall pada umumnya diinstal sebagai pagar untuk koneksi jaringan internal dengan Internet, sebagaimana dapat dilihat pada gambar dibawah ini.
Gambar 1. Firewall pada LAN
Firewall dapat mengerjakan banyak hal untuk jaringan dan server. Pada prakteknya, beberapa keuntungan utama yang dapat diperoleh dengan adanya firewall adalah sebagai berikut:
1. Firewall sebagai fokus keputusan security.
Firewall diibaratkan sebagai sebuah choke point, dimana semua traffic yang masuk dan keluar harus melewati pos pemeriksaan.. Oleh karena itu firewall dapat memilah-milah trafik yang disetujui dan yang tidak. Memfokuskan security dengan cara ini jauh lebih efisien dibanding memanfaatkan teknlogi lain yang mengonsentrasikan security melalui perangkat hardware atau software komersial lain.
2. Firewall mendukung security policy.
Beberapa servis internet seringkali tidak secure, dan kebanyakan orang tidak menyadarinya. Maka firewall dapat menjadi polisi penyelamat atas servis-servis ini, menjamin security policy situs-situs terjaga.
Pada beberapa situs, manajemen mungkin memutuskan hal-hal dibawah ini untuk diijinkan oleh firewall:
· hanya satu, dua, atau beberapa sistem internal saja yang diperbolehkan berkomunikasi dengan dunia luar
· hanya beberapa user atau group saja yang boleh memanfaatkan servis-servis tertentu
· hanya sistem-sistem tertentu yang diijinkan untuk mentransfer file-file ke atau dari internet

3. Firewall mencatat log aktifitas internet.
Oleh karena semua traffic melewati firewall, maka firewall merupakan tempat yang tepat untuk mengoleksi informasi tentang sistem dan jaringan yang digunakan beserta beragam penyalahgunaannya. Sebagai sebuah point tunggal dari akses-akses, firewall dapat merekam apa-apa yang terjadi di antara jaringan terproteksi dengan jaringan eksternal.
Pada umumnya firewall merupakan sebuah komputer yang telah dikonfigurasikan sedemikian rupa agar berfungsi sesuai dengan kebutuhan. Namun dalam prakteknya sebuah firewall yang dibuat harus juga mempertimbangan beberapa hal berikut , seperti :
· Pembatasan jumlah aplikasi dan librari yang terinstal pada firewall. Semakin banyak aplikasi atau libari yang tidak perlu yang terinstal semakin membuka peluang untuk memanfaatkan aplikasi tersebut untuk keperluan yang tidak “wajar”.
· Menonaktifkan servis-servis yang dianggap tidak perlu atau rawan serangan. Banyak penyusup memasuki server dengan memanfaatkan servis-servis tertentu yang memiliki titik lemah.
· Pembatasan jumlah user yang dapat mengakses shell firewall secara langsung. Semakin banyak user yang dapat telnet langsung ke firewall akan semakin memperbesar peluang untuk mencuri password atau mempelajari aplikasi dan librari yang terdapat pada firewall tersebut serta menemukan titik lemahnya.
· Penggunaan password yang sulit ditebak , biasanya berupa gabungan huruf besar dan kecil serta kombinasi nama dan angka. Seringkali orang malas menggunakan password yang sulit ditebak. Akibatnya penyusup dapat leluasa memanfaatkan titik lemah tersebut. Di samping itu sebaiknya juga dibiasakan untuk mengganti password secara periodik , misalkan seminggu sekali , terutama bagi root.
· Penempatan firewall pada suatu lokasi yang aman yang tidak mudah diakses oleh setiap orang. Menempatkan server di ruangan yang mudah dijangkau memperbesar peluang untuk me-reboot server tersebut dan mengaktifkan single mode untuk mengganti password root-nya sesuka hati.
Macam – macam firewall pada Linux sebagai sitem keamanan
Dalam UNIX, terdapat sejumlah program firewall yang populer digunakan dan tersedia satu paket dalam system operasi. Program firewall tersebut diantaranya adalah ipfwadm, ipchains, dan iptables. Berbagai varian Linux yang telah beredar menggunakan versi kernel nya masing-masing. Dukungan terhadap keamanan (security) data juga tergantung dari versi kernel. Firewall atau dinding api yang didukung oleh kernel versi lama, versi 2.0, adalah ipfwadm. Jenis firewall ini memiliki banyak kekurangan fitur seperti yang tersedia dalam IPChains. Ipfwadm hanya men-support tiga target untuk sebuah paket: accept, deny, atau reject, sedangkan rule-rule ipchains dapat memiliki enam built-in target. Ipfwadm sesungguhnya hanya cocok untuk firewall level IP sederhana saja, juga IP masquerading.
Untuk mesin-mesin Linux yang menggunakan kernel 2.2 ke atas, maka sudah mendukung ipchains, program firewall yang lebih powerful dari ipfwadm. Pada prakteknya ipchains adalah program pengganti ipfwadm yang telah banyak digunakan untuk kode IP firewall lama.
Saat ini versi kernel Linux yang baru adalah versi 2.4.x yang mensupport iptables. Iptables adalah pengganti ipchains. Iptables memiliki fitur yang lebih banyak daripada ipchains. Poin poin utama tentang iptables antara lain adalah connection tracking capability, misal kemampuan untuk melakukan inspeksi paket. Fitur ini bekerja untuk icmp dan udp sebagaimana koneksi-koneksi tcp. Menyederhanakan perilaku paket-paket dalam melakukan negosiasi built-in chain (INPUT, OUTPUT, FORWARD). Separasi sempurna terhadap packet filtering dan network address translation (NAT).
PERINTAH-PERINTAH DASAR / SYNTAX PADA IPTABLES
#iptables –t table command –j target
Table
IPTables memiliki 3 buah tabel, yaitu NAT, MANGLE dan FILTER. Penggunannya disesuaikan dengan sifat dan karakteristik masing-masing. Fungsi dari masing-masing tabel tersebut sebagai berikut :
  1. NAT : Secara umum digunakan untuk melakukan Network Address Translation. NAT adalah penggantian field alamat asal atau alamat tujuan dari sebuah paket.
  2. MANGLE : Digunakan untuk melakukan penghalusan (mangle) paket, seperti TTL, TOS dan MARK.
  3. FILTER : Secara umum, inilah pemfilteran paket yang sesungguhnya.. Di sini bisa ditentukan apakah paket akan di-DROP, LOG, ACCEPT atau REJECT
Command (Perintah)
Command pada baris perintah IPTables akan memberitahu apa yang harus dilakukan terhadap lanjutan sintaks perintah. Umumnya dilakukan penambahan atau penghapusan sesuatu dari tabel atau yang lain.
Command
Keterangan
-A
–append
Perintah ini menambahkan aturan pada akhir chain. Aturan akan ditambahkan di akhir baris pada chain yang bersangkutan, sehingga akan dieksekusi terakhir
-D
–delete
Perintah ini menghapus suatu aturan pada chain. Dilakukan dengan cara menyebutkan secara lengkap perintah yang ingin dihapus atau dengan menyebutkan nomor baris dimana perintah akan dihapus.
-R
–replace
Penggunaannya sama seperti –delete, tetapi command ini menggantinya dengan entry yang baru.
-I
–insert
Memasukkan aturan pada suatu baris di chain. Aturan akan dimasukkan pada baris yang disebutkan, dan aturan awal yang menempati baris tersebut akan digeser ke bawah. Demikian pula baris-baris selanjutnya.
-L
–list
Perintah ini menampilkan semua aturan pada sebuah tabel. Apabila tabel tidak disebutkan, maka seluruh aturan pada semua tabel akan ditampilkan, walaupun tidak ada aturan sama sekali pada sebuah tabel. Command ini bisa dikombinasikan dengan option –v (verbose), -n (numeric) dan –x (exact).
-F
–flush
Perintah ini mengosongkan aturan pada sebuah chain. Apabila chain tidak disebutkan, maka semua chain akan di-flush.
-N
–new-chain
Perintah tersebut akan membuat chain baru.
-X
–delete-chain
Perintah ini akan menghapus chain yang disebutkan. Agar perintah di atas berhasil, tidak boleh ada aturan lain yang mengacu kepada chain tersebut.
-P
–policy
Perintah ini membuat kebijakan default pada sebuah chain. Sehingga jika ada sebuah paket yang tidak memenuhi aturan pada baris-baris yang telah didefinisikan, maka paket akan diperlakukan sesuai dengan kebijakan default ini.
-E
–rename-chain
Perintah ini akan merubah nama suatu chain

Generic Matches
Generic Matches artinya pendefinisian kriteria yang berlaku secara umum. Dengan kata lain, sintaks generic matches akan sama untuk semua protokol. Setelah protokol didefinisikan, maka baru didefinisikan aturan yang lebih spesifik yang dimiliki oleh protokol tersebut. Hal ini dilakukan karena tiap-tiap protokol memiliki karakteristik yang berbeda, sehingga memerlukan perlakuan khusus.

Match
Keterangan
-p         
--protocol
Digunakan untuk mengecek tipe protokol tertentu. Contoh protokol yang umum adalah TCP, UDP, ICMP dan ALL. Daftar protokol bisa dilihat pada /etc/protocols.
Tanda inversi juga bisa diberlakukan di sini, misal kita menghendaki semua protokol kecuali icmp, maka kita bisa menuliskan –protokol ! icmp yang berarti semua kecuali icmp.
-s         
--src
--source
Kriteria ini digunakan untuk mencocokkan paket berdasarkan alamat IP asal. Alamat di sini bisa berberntuk alamat tunggal seperti 192.168.1.1, atau suatu alamat network menggunakan netmask misal 192.168.1.0/255.255.255.0, atau bisa juga ditulis 192.168.1.0/24 yang artinya semua alamat 192.168.1.x. Kita juga bisa menggunakan inversi.
-d         
--dst
--destination
Digunakan untuk mecocokkan paket berdasarkan alamat tujuan. Penggunaannya sama dengan match –src
-i         
--in-interface
Match ini berguna untuk mencocokkan paket berdasarkan interface di mana paket datang. Match ini hanya berlaku pada chain INPUT, FORWARD dan PREROUTING
-o         
--out-interface
Berfungsi untuk mencocokkan paket berdasarkan interface di mana paket keluar. Penggunannya sama dengan –in-interface. Berlaku untuk chain OUTPUT, FORWARD dan POSTROUTING
Implicit Matches
Implicit Matches adalah match yang spesifik untuk tipe protokol tertentu. Implicit Match merupakan sekumpulan rule yang akan diload setelah tipe protokol disebutkan. Ada 3 Implicit Match berlaku untuk tiga jenis protokol, yaitu TCP matches, UDP matches dan ICMP matches.
Sebagai gambaran berikut diberikan salah satu command untuk pembatasan seluruh akses dari jaringan luar ke jaringan internal yang menggunakan protokol UDP.
Script yang digunakan :
#iptables –A INPUT –p udp –d 10.14.4.2/24 –j DROP
#iptables –A FORWARD –p udp –d 10.14.4.2/24 –j DROP
IDS sebagai keamanan pada linux
(Intrusion Detection System)
Dilihat dari cara kerja dalam menganalisa apakah paket data dianggap
sebagai penyusupan atau bukan, IDS dibagi menjadi 2: knowledgebased
atau misuse detection dan behavior based atau anomaly based.
Knowledge-based IDS dapat mengenali adanya penyusupan dengan
cara menyadap paket data kemudian membandingkannya dengan database
rule IDS (berisi signature-signature paket serangan). Jika paket
data mempunyai pola yang sama dengan (setidaknya) salah satu pola
di database rule IDS, maka paket tersebut dianggap sebagai serangan,
dan demikian juga sebaliknya, jika paket data tersebut sama sekali
tidak mempunyai pola yang sama dengan pola di database rule IDS,
maka paket data tersebut dianggap bukan serangan.
Sedangkan behavior based (anomaly) dapat mendeteksi adanya penyusupan
dengan mengamati adanya kejanggalan-kejanggalan pada sistem,
5
atau adanya penyimpangan-penyimpangan dari kondisi normal, sebagai
contoh ada penggunaan memori yang melonjak secara terus
menerus atau ada koneksi parallel dari 1 buah IP dalam jumlah banyak
dan dalam waktu yang bersamaan. Kondisi-kondisi diatas dianggap
kejanggalan yang kemudian oleh IDS jenis anomaly based dianggap
sebagai serangan.
Sedangkan dilihat dari kemampuan mendeteksi penyusupan pada jaringan,
IDS dibagi menjadi 2 yakni: host based dan network based. Host based
mampu mendeteksi hanya pada host tempat implementasi IDS, sedangkan
network based IDS mampu mendeteksi seluruh host yang berada
satu jaringan dengan host implementasi IDS tersebut. Tulisan ini
secara khusus menggunakan IDS jenis knowledge based dan network
based.
• Packet Filtering Firewall
Packet Filtering Firewall dapat membatasi akses koneksi berdasarkan
parameter-parameter: protokol, IP asal, IP tujuan, port asal, port tujuan,
chain (aliran data) dan code bit sehingga dapat diatur hanya
akses yang sesuai dengan policy saja yang dapat mengakses sistem.
Packet filtering firewall ini bersifat statik sehingga fungsi untuk membatasi
aksespun statik, misalnya akses ke web server (port 80) diijinkan
oleh policy, maka dari manapun dan apapun aktifitas terhadap
webserver diijinkan walaupun merupakan usaha penetrasi oleh craker.
Untuk itulah packet filtering firewall tidak dapat mengatasi gangguan
yang bersifat dinamik sehingga harus dikombinasikan dengan IDS untuk
membentuk sistem hardening yang maksimal.
• Engine Sistem Pencegahan Penyusupan (IDS-Firewall)
Engine ini bertugas untuk membaca alert dari IDS (antara lain
berupa jenis serangan dan IP Address penyusup) untuk kemudian
memerintahkan firewall untuk memblok akses koneksi ke sistem dari
penyusup tersebut
Sistem pencegahan penyusupan akan maksimal jika diletakkan di router
sehingga daerah kerja sistem ini dapat mencakup semua host yang berada
dalam 1 jaringan dengan router tempat mengimplementasikan Sistem
Pencegahan Penyusupan. Masalah timbul ketika konsentrator menggunakan
switch dimana proses penyadapan yang harus dilakukan dalam proses deteksi
penyusupan menjadi tidak berfungsi, salah satu cara yang mudah untuk
mengatasi masalah ini adalah dengan melakukan spoofing MAC address ter-
6
hadap host-host yang akan diamati. Posisi sistem pencegahan penyusupan
untuk menghasilkan hasil yang maksimal dijelaskan dalam gambar berikut
Gambar 2.1: Penempatan sistem pencegahan penyusupan untuk mendapatkan
hasil maksimal
Sistem Pencegahan Penyusupan berupa IDS dan Firewall yang diimplementasikan
di router/gateway antara internet-DMZ digunakan untuk melindungi
server-server yang berada di wilayah DMZ dari kemungkinan serangan
dari internet, sedangkan yang diimplentasikan antara jaringan DMZ-intranet
digunakan untuk melindungi kemungkinan serangan dari intranet ke wilayah
DMZ maupun internet.
7
Bab 3
Snort IDS dan IPTables
Firewall
Seperti dijelaskan di bab 2, sitem pencegahan penyusupan dibangun dari 2
kompunen utama yakni IDS dan Firewall. Dalam pembahasan ini, IDS yang
digunakan adalah Snort (www.snort.org) sedangkan firewall yang digunakan
adalah Iptables yang merupakan firewall bawaan Linux.
3.1 Snort IDS
Snort IDS merupakan IDS open source yang secara defacto menjadi standar
IDS di industri. Snort dapat didownload di situs www.snort.org. Snort dapat
diimplementasikan dalam jaringan yang multiplatform, salah satu kelebihannya
adalah mampu mengirimkan alert dari mesin Unix atupun Linux
ke platform Microsoft Windows dengan melalui SMB. Snort dapat berkerja
dalam 3 mode: sniffer mode (penyadap), packet logger dan network
intrusion detection mode. Tentunya mode kerja yang akan digunakan dalam
membangun sistem pencegahan penyusupan dalam mode kerja network intrusion
dection. Penyusupan (intrusion) didefinisikan sebagai kegiatan yang
bersifat anomaly, incorrect atau inappropriate yang terjadi di jaringan atau
di host.
Komponen-komponen Snort IDS meliputi:
• Rule Snort
Rule Snort merupakan database yang berisi pola-pola serangan berupa
signature jenis-jenis serangan. Rule Snort IDS ini, harus diupdate
secara rutin agar ketika ada suatu teknik serangan yang baru,
serangan tersebut dapat terdeteksi. Rule Snort dapat didownload di
www.snort.org.
Sebagai contoh rule pada Snort sebagai berikut
8
alert tcp $EXTERNAL NET
alert tcp $EXTERNAL NET any -> $HTTP SERVERS $HTTP PORTS
(msg:"WEB-IIS unicode directory traversal attempt";
flow:to server, established; content:¨/..%c0%af../";
nocase; classtype:web-application-attack; reference:cve,
CVE-2000-0884; sid:981; rev:6;)
Rule di atas terdiri dari 2 bagian: header dan option. Bagian ”alert
tcp $EXTERNAL NET any -¿ $HTTP SERVERS $HTTP PORTS”
adalah header dan selebihnya merupakan option. Dari rule-rule seperti
di ataslah IDS Snort menghukumi apakah sebuah paket data dianggap
sebagai penyusupan/serangan atau bukan, paket data dibandingkan
dengan rule IDS, jika terdapat dalam rule, maka paket data tersebut
dianggap sebagai penyusupan/serangan dan demikian juga sebaliknya
jika tidak ada dalam rule maka dianggap bukan penyusupan/serangan.
• Snort Engine
Snort Engine merupakan program yang berjalan sebagai daemon proses
yang selalu bekerja untuk membaca paket data dan kemudian membandingkannya
dengan rule Snort. Dalam sistem Linux, untuk mendeteksi
apakah snort engine dalam keadaan aktif atau tidak dengan melihat
prosesnya seperti contoh di bawah ini.
[root@localhost rules]# ps aux | grep snort
root 3060 0.0 1.3 9188 820 ? S Jun03 0:04 [snort]
Contoh diatas menunjukkan bahwa snort engine dalam keadaan aktif
dengan proses ID 3060 dan dijalankan oleh user ”root”
• Alert
Alert merupakan catatan serangan pada deteksi penyusupan. Jika
snort engine menghukumi paket data yang lewat sebagai serangan,
maka snort engine akan mengirimkan alert berupa log file. Untuk
kebutuhan analisa, alert dapat disimpan di dalam database, sebagai
contoh ACID (Analysis Console for Intrusion Databases) sebagai modul
tambahan pada Snort.
Contoh alert sebagai berikut
[**] [1:499:3] ICMP Large ICMP Packet [**] [Classification:
Potentially Bad Traffic] [Priority: 2] 05/09-20:15:14.
895348 10.1.4.113 -> 10.1.3.126 ICMP TTL:128 TOS:0x0
ID:6316 IpLen:20 DgmLen:65528 Type:8 Code:0 ID:512
Seq:3072 ECHO [Xref => http://www.whitehats.com/info/IDS246]
9
Contoh alert di atas merupakan alert ketika terdapat paket data dalam
ukuran besar dari IP Address 10.1.4.113 ke 10.1.3.126 yang dianggap
sebagai serangan oleh Snort karena pola paket data tersebut terdapat
dalam rule Snort.
Hubungan ketiga komponen IDS dijelaskan dalam gambar berikut:
Gambar 3.1: Bagian-bagian IDS
3.2 IPTables Firewall
IPTables merupakan firewall bawaan Linux. Iptables mampu melakukan filtering
dari layer transport sampai layer physical. Sebagai contoh rule dalam
sebuah firewall akan menutup semua koneksi kecuali ke port 80 protokol
TCP, atau sebuah rule firewall mendefiniskan bahwa yang dapat melakukan
koneksi hanya paket data yang berasal dari MAC address 00-80-48-24-3b-e5.
Variabel-variabel dalam Iptables Firewall meliputi:
• Protokol, contoh: tcp, udp, icmp
• Port asal, contoh: port yang lebih besar dari 1023
• Port tujuan, contoh: port 21, 22, 80
• IP asal/Jaringan asal: contoh 202.62.9.219, 202.62.9.216/28
• IP tujuan/Jaringan tujuan: contoh 202.62.9.219, 202.62.9.216/28
• Chain (aliran), contoh: INPUT, OUTPUT, FORWARD (khusus router)
• Code bit (flag), contoh: SYN, ACK.
Contoh rule firewall pada Iptables sebagai berikut
iptables -A FORWARD -p tcp -d 202.62.9.219 --dport 80 -j
ACCEPT
iptables -A FORWARD -p tcp -d 202.62.9.219 -j DROP
10
Rule di atas mendefinisikan bahwa semua paket data dengan protokol tcp
dari manapun yang menuju 202.62.9.219 ditolak semua kecuali yang menuju
ke port 80
11
  • Perancangan Sistem Pencegahan Penyusupan
Untuk memenuhi kebutuhan fungsional sistem pencegahan penyusupan dibutuhkan
modul-modul utama dan modul pendukung. Modul utama berupa:
snort engine, rule snort, engine IPS dan firewall. Sedangkan modul pendukung
berupa: ACID (manajemen event) dan Webmin (manajemen rule).
Target implementasi IPS di sistem Linux Redhat 9. Diagram blok sistem
pencegahan penyusupan yang dirancang sebagai berikut
Gambar 4.1: Blok diagram Sistem Pencegahan Penyusupan
12
4.1 Rule Snort
Modul ini menyediakan rule-rule berupa pattern jenis serangan. Rule ini
berupa file text yang disusun dengan aturan tertentu. Bagian ini telah
dijelaskan di Bab 3.
4.2 Snort Engine
Modul ini berfungsi untuk membaca paket data dan membandingkannya
dengan rule database, jika paket data dihukumi sebagai penyusupan/serangan,
maka Snort engine akan menuliskannya ke alert (berbentuk file log) dan ke
database (yang digunakan dalam eksperimen ini adalah database MySQL).
Bagian ini telah dijelaskan di Bab 3
4.3 Alert
Bagian ini merupakan catatan serangan pada sebuah file log. Bagian ini
telah dijelaskan di Bab 3
4.4 Webmin
Webmin (http://www.webmin.com/) yang telah ditambahkan module snort
rule (http://msbnetworks.com/snort/) digunakan untuk mengelola rule. Rule
mana saja yang akan di menable dan disable dapat diatur melalui Webmin,
bahkan dapat digunakan untuk menambahkan rule-rule secara manual dengan
editor berbasis web. Berikut contoh tampilan Webmin untuk mengelola
rule Snort
Gambar 4.2: Webmin dengan plugin snort digunakan untuk mengelola rule
13
4.5 ACID (Analysis Console for Intrusion Databases)
ACID (http://www.cert.org/kb/acid) digunakan untuk mengelola data-data
security event, keuntungan menggunakan ACID diantaranya
• Log-log yang tadinya susah dibaca menjadi mudah di baca.
• Data-data dapat dicari dan difilter sesuai dengan kriteria tertentu.
• Managing Large Alert Databases (Deleting and Archiving).
• Untuk kasus-kasus tertentu dapat merujuk alert pada situs database
security seperti Securityfocus, CVE, arachNIDS.
Berikut contoh tampilan ACID.
Gambar 4.3: ACID digunakan untuk mengelola security event
4.6 ACID (Analysis Console for Intrusion Databases)
History
ACID history ini digunakan untuk menganalisa catatan-catatan IDS. Database
dalam history ini tidak dihapus karena bersifat seperti arsip-berbeda dengan
database pada ACID yang akan dihapus catatan serangannya jika pengelola
IPS ini berkehendak untuk membuka akses bagi IP address yang pernah
ditutupnya.
14
4.7 Firewall
Firewall digunakan untuk membuka dan menutup akses sesuai dengan rule
yang dibuat, dalam hal ini rule akan dinamis sesuai dengan kondisi yang
dideteksi oleh IDS. Firewall yang digunakan dalam eksperimen ini adalah
Iptables yang merupakan firewall bawaan Linux.
4.8 IPS Engine
IPS engine merupakan sistem yang akan membaca alert kemudian memerintahkan
firewall untuk menutup akses paket data dari penyerang. Cara kerja
IPS engine digambarkan dalam flowchart berikut ini
Gambar 4.4: Flowchart IPS engine
IPS akan menutup akses bagi penyerang ketika aktivitas tersebut terdeteksi
oleh IDS. Dalam eksperimen ini, proses pembacaan alert dan update
rule pada firewall dilakukan secara periodik dengan meletakkan program
IPS engine (yang ditulis dalam bahasa PHP) di crontab (scheduling task).
Jadi, ketika terjadi usaha penyusupan dan terdeteksi oleh IDS, maka IPS
akan memerintahkan firewall untuk menutup akses dari IP address penyerang,
adapun jika pada waktu yang lain pengelola IPS akan membuka IP
address-IP address yang telah melakukan penyerangan, hal ini dapat dilakukan
dengan menghapus isi alert pada serangan dari IP yang dimaksud
pada database ACID
15
Bab 5
Pengujian
Untuk menguji rancangan sistem pencegahan penyusupan dengan cara melancarkan
paket serangan ke sistem yang dilindungi oleh IPS. Sebagai contoh
disini IPS diimplementasikan pada jaringan router yang menghubungkan
jaringan intranet dan DMZ. Pada pengujian ini dikirimkan paket ICMP
dalam ukuran besar sehingga dikategorikan oleh IDS sebagai DOS attack
(denial of service).
Berikut contoh pengujian yang dilakukan melalui client di jaringan internal.
ping 202.62.9.219 -l 10000 -t
Pinging 202.62.9.219 with 10000 bytes of data:
Reply from 202.62.9.219: bytes=10000 time=10ms TTL=63
Reply from 202.62.9.219: bytes=10000 time=10ms TTL=63
Reply from 202.62.9.219: bytes=10000 time=10ms TTL=63
Ping statistics for 202.62.9.219:
Packets: Sent = 3, Received = 3, Lost = 0 (0Approximate
round trip times in milli-seconds:
Minimum = 0ms, Maximum = 10ms, Average = 3ms
DOS attack ini akan segera terdeteksi oleh snort engine yang kemudian
snort engine akan mengirimkan alert ke alert log, MySQL ACID dan MySQL
ACID history. IPS engine membaca alert pada ACID MySQL dan kemudian
memerintahkan firewall untuk mengupdate rulenya dengan menambahkan
rule untuk memblok akses dari IP penyerang yang terdeteksi. Pengamatan
eksperimen ini dilakukan pada 2 tempat: di client tempat melancarkan
serangan dan di sistem IPS.
• Pengamatan di client penyerang
16
Pengamatan dilakukan dengan cara melakukan pengiriman paket ICMP
dengan perintah ping ke komputer target seperti berikut ini
ping 202.62.9.219 -t Pinging 202.62.9.219 with 32 bytes
of data:
Reply from 202.62.9.219:bytes=32 time<10ms TTL=63
Reply from 202.62.9.219:bytes=32 time<10ms TTL=63
Reply from 202.62.9.219:bytes=32 time<10ms TTL=63
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 202.62.9.219:
Packets: Sent = 6, Received =3, Lost =35 (50Approximate
round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
Dari pengamatan di atas terlihat bahwasanya IPS telah bekerja dengan
baik, hal ini ditunjukkan dengan tertutupnya akses ke komputer
target serangan dengan munculnya pesan ”Request Time Out” yang
sebelumnya ”Repply”
• Pengamatan di Sistem Pencegahan Penyusupan Adapun pengamatan
di sistem pencegahan penyusupan dilakukan dengan mengamati rule
firewall yang telah berubah, yakni ips engine memasukkan IP address
penyerang sebagai sebuah rule dimana akses dari komputer tersebut
harus diblok (tidak diijinkan). Berikut pengamatan di sistem
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
DROP all -- 10.1.4.161 anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Dari pengamatan di dua sisi, sisi penyerang dan sisi sistem pencegahan
penyusupan, dapat disimpulkan bahwa fungsional sistem ini telah berjalan
dengan yang diharapkan. Serangan-serangan jenis yang lain juga akan
bernasib sama yakni diblok, hal ini tentunya tergantung dari ketelitian dan
kelengkapan rule snort. Rule snort begitu lengkap sehingga mampu mendeteksi
banyak jenis serangan. Berikut contoh rule Snort
17
attack-responses.rules, dos.rules, local.rules, oracle.rules,
scan.rules, web-cgi.rules, backdoor.rules, experimental.rules,
Makefile other-ids.rules, shellcode.rules, web-client.rules,
bad-traffic.rules, exploit.rules, Makefile.am p2p.rules,
smtp.rules, web-coldfusion.rules, chat.rules, finger.rules,
Makefile.in policy.rules, snmp.rules, web-frontpage.rules,
db.config ftp.rules, misc.rules, pop2.rules, sql.rules,
web-iis.rules, db.timestamp icmp-info.rules, multimedia.rules,
pop3.rules, telnet.rules, web-misc.rules, ddos.rules, icmp.rules,
mysql.rules, porn.rules, tftp.rules, web-php.rules, deleted.rules,
imap.rules, netbios.rules, rpc.rules, virus.rules, x11.rules,
dns.rules, info.rules, nntp.rules, rservices.rules, web-attacks.rules

v Menjadikan webcam sebagai sistem keamanan pada Ubuntu di linux

Pernahkah Anda ingin memata-matai melihat pada apa yang sedang terjadi di rumah Anda selama Anda pergi? Motion adalah bagian dari perangkat lunak open source yang berfungsi sebagai detektor gerakan. Software ini memungkinkan anda untuk melakukan set-up sebuah server webcam yang dapat anda punyai jika kamera Anda tersambung, sehingga Anda dapat melihat mereka dari jarak jauh dan juga dapat melakukan upload ke remote server. Motion berjalan di sebagian besar distribusi linux tapi untuk latihan ini saya menggunakan Ubuntu linuxversi desktop.
Persyaratan
  • Komputer dengan specs Extra yang akan digunakan sebagai server.
  • Distro linux yang diinstal pada server. (Rekomendasi, Ubuntu)
  • USB webcam dengan driver linux
  • IP statik yang telah diset pada server
  • Pengetahuan Umum tentang OS Linux.
  • Sedikit waktu luang
Langkah Satu
Oke, mari kita mulai dengan men-download driver linux untuk webcam Anda. Seorang pria yang cukup jago ini membuat sebuah driver yang kompatibel dengan berbagai jenis webcam hingga 244! Anda dapat men-downloadnya di sini. Jika driver ini tidak berfungsi untuk webcam anda silahkan minta bantuan Google untuk mencarikan driver yang tepat untuk webcam anda.
Langkah dua
Setelah Anda men-download driver kita bisa mulai mengkompilasi drivernya, tapi pastikan anda telah memiliki paket build-essential telah terinstal pada sistem anda, anda dapat melakukannya dengan mengetikkan perintah: sudo apt-get install build-essential pada terminal, informasi paket ini ada di di sini.
Build-essential
Kita sudah siap untuk melakukan kompilasi source code driver. Melakukan ekstrak file .tar.gz dilakukan dengan cara melakukan klik kanan pada file, lalu pilih Extract Here. Membutuhkan waktu beberapa detik untuk proses ekstrak selesai, lalu buka terminal dan ketik perintah cd ~/Desktop/gspcav1-20070508/ tekan enter pada keyboard kemudian ketik ./configure tekan enter kembali. Proses ini membutuhkan waktu satu atau dua menit (jangan khawatir jika prosesnya tidak bekerja karena sedang melakukan proses pra kompilasi). Setelah selesai lakukan kompilasi dengan mengetikan perintah make. Setelah terkompilasi anda sekarang dapat menginstall dengan mengetikkan perintah sudo make install perintah ini akan menginstall paket dan anda seharusnya mempunyai sebuah webcam yang telah dikenali oleh linux!
cd unix
Langkah tiga
Install Motion, software yang akan kita gunakan untuk memonitor gerak melalui webcam. Ketik perintah ini pada terminal sudo apt-get install motion, kemudian tekan enter.
sudo apt-get install motion
Langkah empat
Sekarang waktuny auntuk melakukan setup file konfigurasi Motion. Anda dapat mendownload file contoh konfigurasi pada link ini; (lihat seluruh file motion.conf dan ubah setting sesuai setting anda). Letakkan file config.zip pada folder /etc/motion/ pada server anda dengan melakukan ekstrak file tersebut pada dekstop, kemudian ketik perintah sudo mv ~/Desktop/Motion Config.zip_FILES /etc/motion/ into the terminal.
sudo mv motion config
Harap dicatat bahwa jika Anda hanya memiliki lebih dari satu webcam, anda membutuhkan satu atau lebih file thread.conf untuk masing-masing webcam tersebut (misalnya; thread0.conf, thread1.conf, thread2.conf) Anda juga perlu menambahkan link pada file ini pada akhir file konfigurasi motion.conf.
Langkah lima (optional)
Install wput a command line FTP client yang dapat anda gunakan untuk melakukan upload photo pada remote FTP server, yang digunakan oleh Motion. Install paket ini dengan mengetik perintah sudo apt-get install wput pada terminal. Anda dapat melakukan konfigurasi Motion agar dapat melakukan upload photo yang dapat digunakan dengan menambahkan perintah
# Command to be executed when a picture (.ppm|.jpg) is saved (default: none)# The filename of the picture is appended as an argument for the command.on_picture_save wput ftp://USERNAME : PASSWORD@REMOTE SERVER %f
pada file motion.conf (jika anda menggunakan motion.conf , ganti server info pada bagian ftp:// section)
Langkah enam
Untuk menjadikan Motion melakukan startup secara otomatis pada server, lakukan dengan membuka “System” pada menu bar pada bagian atas layar, lalu “Preferences,” kemudian “Sessions.” Buat sebuah program startup beri nama motion pada bagian command. Klik “OK.” lalu restart server.
Motion Autostart
Langkah tujuh
Anda sekarang seharusnya dapat membuka halaman web dari Motion dengan cara mengetik localhost:8000 dari server itu sendiri atau XXX.XXX.X.XXX:8000 dari komputer lain melalui browser web. Untuk melihat live stream dari webcam kita ketik localhost:8001 dari server atau XXX.XXX.X.XXX:8001 dari komputer lain lewat web browser. Sekarang anda dapat merubah setting dari tampilan ini juga, bahkan sekarang anda juga dapat membuat config file Motion disesuaikan dengan setup anda!
v  Demilitarised Zone (DMZ) Pada Sistem Keamanan Jaringan pada linux

1.      DE-MILITARISED ZONE (DMZ)


De-Militarised Zone(DMZ) merupakan mekanisme untuk melindungi sistem internal dari serangan hacker atau pihak-pihak lain yang ingin memasuki sistem tanpa mempunyai hak akses. Sehingga karena DMZ dapat diakses oleh pengguna yang tidak mempunyai hak, maka DMZ tidak mengandung rule.
Secara esensial, DMZ melakukan perpindahan semua layanan suatu jaringan ke jaringan lain yang berbeda. DMZ terdiri dari semua port terbuka, yang dapat dilihat oleh pihak luar. Sehingga jika hacker menyerang dan melakukan cracking pada server yang mempunyai DMZ, maka hacker tersebut hanya dapat mengakses host yang berada pada DMZ, tidak pada jaringan internal

Misalnya jika seorang pengguna bekerja di atas server FTP pada jaringan terbuka untuk melakukan akses publik seperti akses internet, maka hacker dapat melakukan cracking pada server FTP dengan memanfaatkan layanan Network Interconnection  System (NIS), dan Network File System(NFS). Sehingga hacker tersebut dapat mengakses seluruh sumber daya jaringan, atau jika tidak, akses jaringan dapat dilakukan dengan sedikit upaya, yaitu dengan menangkap paket yang beredar di jaringan, atau dengan metoda yang lain.
Namun dengan menggunakan lokasi server FTP yang berbeda, maka hacker hanya dapat mengakses DMZ tanpa mempengaruhi sumber daya jaringan yang lain. Selain itu dengan melakukan pemotongan jalur komunikasi pada jaringan internal, trojan dan sejenisnya tidak dapat lagi memasuki jaringan.
Makalah ini akan membahas bagaimana memberi hak pada pengguna baik internal maupun eksternal, pada semua layanan jaringan yang diperlukan.

2.      Konsep NAT, PAT, dan Daftar Akses

Network Address Translation(NAT) berfungsi untuk mengarahkan alamat riil, seperti alamat internet, ke bentuk alamat internal. Misalnya alamat riil 203.8.90.100 dapat diarahkan ke bentuk alamat jaringan internal 192.168.0.1 secara otomatis dengan menggunakan NAT. Namun jika semua informasi secara otomatis ditranslasi ke bentuk alamat internal, maka tidak ada lagi kendali  terhadap informasi yang masuk. Oleh karena itu maka muncullah PAT.
Port Address Translation(PAT) berfungsi untuk mengarahkan data yang masuk melalui port, sekumpulan port dan protokol, serta alamat IP pada port atau sekumpulan post. Sehingga dapat dilakukan kendali ketat pada setiap data yang mengalir dari dan ke jaringan.
Daftar Akses melakukan layanan pada pengguna agar dapat mengendalikan data jaringan. Daftar Akses dapat menolak atau menerima akses dengan berdasar pada alamat IP, alamat IP tujuan, dan tipe protokol.

3.      Contoh Studi Kasus

Pada sebuah organisasi XYZ terdapat jaringan komputer berbasis Microsoft Windows NT4.0, Proxy Server 2.0 untuk mengakses internet, dan Microsoft Exchange 5.5 untuk mail lokal maupun global. Masalah-masalah yang dapat diamankan dengan menggunakan DMZ adalah sebagai berikut:
o   Semua alamat Internet Protocol(IP) merupakan alamat komputer sesungguhnya, sehingga dapat diakses secara langsung dari internet,
o   Server Domain Name Server(DNS) eksternal dapat digunakan pada jaringan internal,
o   Server Web bekerja di lingkungan internal,
o   Terdapat server File Transfer Protocol(FTP) yang bekerja di lingkungan internal,
o   Server Exchange dapat diakses secara langsung dari internet,
o   Tidak terdapat batasan pada permintaan yang masuk dan keluar jaringan.

4.      Langkah 1 – Sebaran IP Baru dan memindahkan Layanan Web

Organisasi XYZ juga didukung dengan server RedHat Linux dan dilengkapi dengan kartu ISDN. Semua routing pada server ini di non-aktifkan dan hanya berfungsi sebagai gateway aplikasi yang bekerja dengan melakukan monitoring pada port-port tertentu, dan mengaktifkan program lain yang dapat melayani arus informasi pada jaringan internal.
Langkah pengamanan pertama yang dilakukan adalah dengan membenahi alamat IP sehingga dapat digunakan sebagai alamat global. Jika terdapat serangan hacker, maka jaringan internal tidak akan terganggu.
Lakukan setup DNS pada Windows NT4.0, karena layanan DNS pada NT relatif mudah dikonfigurasi, cukup aman untuk DNS internal, dan mendukung registrasi dinamis. Versi terbaru dari BIND mendukung registrasi dinamis untuk upgrade ke Windows 2000, sehingga sistem membutuhkan  layanan DNS Windows 2000 untuk ekstensi direktori aktif.
Kemudian dilakukan modifikasi pada semua alamat IP pada Server dan Print Server, mengubah konfigurasi aplikasi gateway pada Linux, dan membentuk sebaran DHCP baru. Langkah berikutnya adalah memindahkan halaman web dari jaringan lokal ke ISP karena halaman page tidak harus diubah setiap saat. Dengan memindahkan halaman web ke ISP, maka aspek keamanan bukan menjadi kompleksitas programmer namun menjadi kompleksitas ISP.

5.      Langkah 2 – Menentukan Perangkat Keras Pendukung

Perangkat keras yang digunakan meliputi koneksi ADSL, implementasi Firewall, dan implementasi DMZ. Pada perangkat keras yang digunakan menggunakan sistem operasi Windows atau Linux. Windows mempunyai kelemahan:
Meskipun Windows NT/2000 cukup sulit di hack, namun mudah diserang Denial Of Service (DOS) atau service yang crash. Banyak sekali pihak yang melakukan hack pada lingkungan Windows.
Sedangkan kelemahan Linux adalah karena Linux merupakan sistem operasi yang dibangun oleh hacker sehingga source code Linux mudah didapat. Oleh karena itu dengan menggunakan  Linux, maka tingkat keamanan semakin rendah.
Perangkat keras yang dibutuhkan terdiri dari perangkat komputer beserta paket sekuritinya, koneksi ADSL dan firewall, serta switch layer Data Link.

6.      Langkah 3 – Implementasi Jalur ADSL dan Firewall PIX

Setelah perangkat keras tersedia, maka berikutnya adalah melakukan pemetaan alamat perangkat keras, misalnya:
o   ADSL – 209.15.20.34
o   Ethernet0 pada ADSL – 192.1.10.5/30 (255.255.255.252)
o   Ethernet0 pada firewall PIX.
Berikutnya dibangun translasi NAT untuk melakukan panggilan forward ke 192.168.10.6. Biarkan router menjadi data route, dan biarkan Firewall menentukan konfigurasi yang diperlukan untuk pengelolaan resiko.
Firewall merupakan sistem yang menyediakan konektifitas yang aman antar jaringan baik internal maupun eksternal dalam beberapa lapis keamanan dengan fungsi yang berbeda. Pengertian firewall yang lain adalah sistem yang mengimplementasikan aturan keamanan untuk komunikasi antar jaringan komputer.
Bagan keamanan digambarkan sebagai berikut:

7.      Langkah 4 – Instalasi dan Konfigurasi pada DMZ

Sampai pada langkah ini maka bagian eksternal jaringan telah terbentuk, dan dapat dikenali sebagai bagian semi-trusted (DMZ). Namun dengan catatan bahwa pada jaringan, koneksi ISDN telah dipisahkan dan dapat berjalan seperti yang diharapkan. Namun biarkan koneksi ADSL  offline, hingga pengujian kinerja sistem telah dilakukan. Langkah ini dilakukan untuk meyakinkan bahwa sistem tidak terganggu selama proses instalasi dan konfigurasi.Sebelumnya arsitektur keamanan yang akan dibangun digambarkan sebagai berikut:

Langkah yang perlu dilakukan adalah sebagai berikut:

Pertama adalah menentukan subnet yang akan digunakan pada DMZ. 192.100.100.0/24 merupakan tebaran IP yang digunakan pada jaringan. Selain itu dilakukan juga pengujian pada tebaran IP. Tebaran IP harus mempunyai ruang lingkup yang sama.
Ethernet1 pada PIX mempunyai alamat IP 192.100.100.6/24, untuk tetap berhubungan dengan antarmuka Ethernet. Switch juga ditentukan alamat IP-nya. Hal ini dilakukan untuk mencegah  hacker memasuki dan melakukan sniffing pada sistem.  Langkah ini merupakan proses inspeksi dan antispoofing pada firewall PIX.
Setelah langkah diatas dilakukan, maka semua mesin telah terhubung dan online berdasar pada alamat IP dan layanan jaringan komputer yang dibutuhkan. Mesin tersebut dapat dikonfigurasi dengan berbagai spesifikasi keamanan.
Firewall PIX juga dapat menerima permintaan VPN yang masuk, untuk memberi kemungkinan bagi pengguna jarak jauh untuk melakukan otentikasi pada sistem. Pembatasan akses pada server VPN menggunakan daftar akses yang menolak semua permintaan koneksi untuk mengakses VPN sampai diverifikasi sebagai salah satu kantor cabang atau dari kantor utama. Akses SSH pada mesin DMZ  dapat dikontrol dari komputer lokal dengan menggunakan kantor. Sehingga dimungkinkan mengakses mesin melalui SSH, namun port scan dari internet tidak pernah melihat port SSH terbuka.
Langkah berikutnya adalah melakukan redirect layanan DNS dari koneksi ADSL. Translasi alamat port  dilakukan pada firewall PIX untuk meneruskan pengiriman setiap permintaan UDP/TCP port 53. Kemudian aktifkan filter paket pada firewall PIX untuk mengizinkan input koneksi TCP port 53 dari NamaServer secondary(umumnya milik ISP), permintaan UDP port 53 yang masuk, dan permintaan UDP port 53 yang keluar dari server DNS. Konfigurasi ini  harus diselesaikan untuk semua layanan pada semua server dengan layanan yang munkin berbeda-beda per server. Penelitian yang perlu dilakukan selanjutnya adalah mengubah delegasi nama server sehingga delegasi nameserver yang diharapkan nameserver primer dkonfigurasi untuk alamat eksternal ADSL, bukan untuk ISDN alamat eksternal.
Setelah melalui semua langkah diatas, maka koneksi ADSL dapat dikonfigurasi dengan tingkat keamanan yang dibutuhkan oleh semua daftar akses dan PAT. Aturan dasarnya adalah jika tidak membutuhkan akses layanan tertentu, maka akses akan ditolak. Hacker hanya dapat menyerang layanan yang disediakan oleh host DMZ, oleh karena itu upaya yang harus dilakukan adalah meminimalisasi jumlah layanan yang dapat diakses lewat internet, serta melengkapi layanan tersebut dengan keamanan yang tinggi. Sedangkan pada dasarnya semua layanan dapat diakses lewat internet. Lakukan pengujian pada setiap layanan, memindai semua port dan yakinkan anda mempunyai akses yang terbatas, sebanyak kemungkinan layanan spesifik.
Langkah terakhir adalah melakukan konfigurasi antarmuka ethernet pada firewall PIX  ke dalam jaringan internal. Pastikan semua lalu lintas diblok melalui daftar akses dari jaringan internal, sehingga tidak ada orang maupun apapun yang dapat akses keluar.



Tips and system keamanan pada linux

Enkripsi Komunikasi Data

Semua data yang di kirimkan melalui jaringan akan terbuka untuk di monitoring. Enkrip data yang dikirim sebisa mungkin dengan password atau menggunakan kunci / key / sertifikat.
  1. Gunakan scp, ssh, rsync, atau sftp untuk melakukan file transfer. Kita juga dapat me-mount file system di remote server atau home directory kita menggunakan sshfs dan fuse tool.
  2. GnuPG memungkinkan kita untuk mengenkrip dan sign komunikasi data yang kita lakukan. GnuPG juga mempunyai sistem manajemen key yang baik dan akses ke berbagai directory public key.
  3. Fugu adalah tampilan grafis dari aplikasi commandline Secure File Transfer (SFTP). SFTP mirip dengan FTP, tapi tidak sama dengan FTP karena semua sesi komunikasi di enkrip. Artinya lebih sukar untuk di tembus oleh pihak ketiga. Aplikasi yang lain adalah FileZilla - sebuah client cross-platform yang mendukung FTP, FTP over SSL/TLS (FTPS), dan SSH File Transfer Protocol (SFTP).
  4. OpenVPN adalah cost-effective, dan ringan SSL VPN.
  5. Lighttpd SSL (Secure Server Layer) konfigurasi dan instalasi https
  6. Apache SSL (Secure Server Layer) konfigurasi dan instalasi https (mod_ssl)

[edit] Jangan gunakan FTP, Telnet, dan Rlogin / Rsh

Dalam kondisi jaringan yang normal, maka username, password, dari perintah FTP / telnet / rsh dan proses transfer file akan dengan mudah di tangkap oleh mereka yang berada di jaringan yang sama mengunakan sniffer. Solusi untuk hal ini dapat menggunakan OpenSSH , SFTP, atau FTPS (FTP over SSL), yang menambahkan enkripsi SSL atau TLS ke FTP. di turunan RedHat kita dapat menulis perintah berikut untuk membuang perintah NIS, rsh dan berbagai layanan yang kadaluarsa lainnya:
# yum erase inetd xinetd ypserv tftp-server telnet-server rsh-serve

[edit] Minimalkan Software Aplikasi untuk Minimalisasi Kelemahan

Apakah kita membutuhkan berbagai layanan terinstalasi? Hindari instalasi software yang tidak dibutuhkan untuk menghindari kelemahan di software. Gunakan RPM package manager seperti yum atau apt-get dan / atau dpkg untuk melihat semua software yang terinstalasi di sistem. Delete paket yang tidak di inginkan.
# yum list installed
# yum list packageName
# yum remove packageName
atau
# dpkg --list
# dpkg --info packageName
# apt-get remove packageName

[edit] Satu layanan jaringan per sistem atau per VM Instance

Jalankan layanan jaringan yang berbada di server atau VM instance yang terpisah. Hal ini membatasi jumlah layanan yang dapat di jebol. Sekedar contoh, jika seorang penyerang berhasil mengexploit sebuah software seperti Apache flow, dia akan memperoleh akses ke seluruh server termasuk layanan sepertu MySQL, e-mail server dan masih banyak lagi. Lihat bagaimana cara menginstalasi software virtualisasi:
  • Install dan Setup Software Xen Virtualization pada Linux CentOS 5
  • Bagaimana Cara Setup OpenVZ pada RHEL / Linux CentOS

[edit] Menjaga Kernel Linux dan Software Tetap Up to Date

Menerapkan patch keamanan merupakan bagian penting dari menjaga server Linux. Linux menyediakan semua alat yang diperlukan untuk menjaga sistem anda diperbarui, dan juga memungkinkan untuk upgrade antar versi dengan mudah. Semua pembaruan keamanan harus ditinjau ulang dan diterapkan sesegera mungkin. Sekali lagi, gunakan manajer paket RPM seperti yum dan atau apt-get dan atau dpkg untuk menerapkan semua update keamanan.
# yum update
atau
# apt-get update && apt-get upgrade
Anda dapat mengkonfigurasi Red Hat / CentOS / Fedora Linux untuk mengirim notifikasi update paket yum update email. Pilihan lain adalah dengan menggunakan semua update keamanan melalui cron job. Dalam Debian / Ubuntu Linux Anda dapat menggunakan apticron untuk mengirim notifikasi keamanan.

[edit] Menggunakan Linux Security Extension

Linux hadir dengan berbagai patch keamanan yang dapat digunakan untuk menjaga terhadap program yang salah konfigurasi atau yang diambil alih pihak lain. Jika memungkinkan menggunakan SELinux dan ekstensi keamanan Linux lainnya untuk melakukan pembatasan pada jaringan dan program lainnya. Sebagai contoh, SELinux menyediakan berbagai kebijakan keamanan untuk kernel Linux.

[edit] SELinux

Saya sangat menyarankan menggunakan SELinux yang menyediakan sebuah Mandatory Access Control (MAC) yang fleksibel. Berdasarkan standar Linux Discretionary Access Control (DAC), sebuah aplikasi atau proses yang berjalan sebagai user (UID atau SUID) memiliki izin pengguna untuk objek seperti file, socket dan proses lainnya. Menjalankan sebuah kernel MAC melindungi sistem dari aplikasi berbahaya atau cacat yang dapat merusak atau menghancurkan sistem. Lihat dokumentasi Redhat resmi yang menjelaskan konfigurasi SELinux.

[edit] User Account dan Kebijakan Password Kuat

Gunakan perintah useradd/usermod untuk membuat dan memelihara account pengguna. Pastikan Anda memiliki kebijakan password yang baik dan kuat. Sebagai contoh, password yang baik mencakup minimal 8 karakter dan campuran huruf, angka, karakter khusus, abjad atas, bawah, dan lain-lain. Yang paling penting adalah memilih password yang bisas Anda ingat. Gunakan tool seperti "ripper John" untuk mengetahui password yang lemah pengguna pada server Anda. Konfigurasikan Pam_cracklib.so untuk menegakkan kebijakan password.

[edit] Umur Password

Perintah change mengubah jumlah hari antara perubahan password dan tanggal perubahan password terakhir. Informasi ini digunakan oleh sistem untuk menentukan kapan seorang pengguna harus mengubah passwordnya. File /etc/login.defs mendefinisikan konfigurasi situs-khusus untuk deretan shadow password termasuk konfigurasi umur password. Untuk menonaktifkan fitur umur password, masukkan:
chage -M 99999 userName
Untuk mendapatkan informasi password yang telah kadaluarsa, masukkan:
chage -l userName
Akhirnya, Anda juga dapat mengedit /etc/shadow seperti berikut:
{userName}:{password}:{lastpasswdchanged}:{Minimum_days}:{Maximum_days}:{Warn}:{Inactive}:{Expire}:
Dimana,
  1. Minimum_days: Jumlah minimum dari hari yang diperlukan antara perubahan password, yaitu jumlah hari yang tersisa sebelum pengguna diijinkan mengubah passwordnya.
  2. Maximum_days: Jumlah maksimum hari password berlaku (setelah itu pengguna akan dipaksa untuk mengubah passwordnya).
  3. Warn : Jumlah hari sebelum password akan berakhir, pengguna akan diperingatkan bahwa passwordnya harus diubah.
  4. Expire : Tanggal mutlak saat login tidak mungkin lagi dapat dilakukan.
Sebaiknya untuk tidak mengedit /etc/shadow secara langsung:
# chage -M 60 -m 7 -W 7 userName
Rekomendasi Bacaan:
  • Linux: Force Users To Change Their Passwords Upon First Login
  • Linux turn On / Off password expiration / aging
  • Lock the user password
  • Search for all account without password and lock them
  • Use Linux groups to enhance security

[edit] Pembatasan Penggunaan Password Lama

Anda dapat menghalangi / membatasi pengguna dalam menggunakan atau mendaur ulang password lama menggunakan Linux. Parameter modul pam_unix dapat dikonfigurasi untuk mengingat password terdahulu yang tidak dapat digunakan kembali.

[edit] Kunci Account User setelah beberapa kali gagal Login

Di Linux kita dapat menggunakan perintah faillog untuk memperlihatkan catatan faillog atau untuk menset batas kegagalan login. faillog akan mem-format tampilan / content dari catatan log dari database / log file /var/log/faillog. Dia juga dapat digunakan untuk menghitung dan membatasi kegagalan login. Untuk melihat percobaan login yang gagal, tulis:
faillog
Untuk mengunci sebuah account setelah gagal login, jalankan:
faillog -r -u userName
Kita dapat menggunakan perintah passwd untuk mengunci dan membuka kunci sebuah account:
# kunci account
passwd -l userName
# membuka kunci account
passwd -u userName

[edit] Verifikasi tidak ada Account dengan password kosong?

Ketik perintah berikut
# awk -F: '($2 == "") {print}' /etc/shadow
Kunci semua account dengan password kosong:
# passwd -l accountName

[edit] Pastikan tidak ada Account Non-Root yang mempunyai UID 0

Hanya account root yang mempunyai UID 0 dengan ijin penuh untuk mengakses system. Tuliskan perintah berikut untuk menampilkan semua account dengan UID yang di set 0:
# awk -F: '($3 == "0") {print}' /etc/passwd
Anda harusnya hanya melihat satu kalimat ini
root:x:0:0:root:/root:/bin/bash
Jika anda melihat kalimat yang lain, buang atau pastikan account tersebut memang di ijinkan untuk menggunakan UID 0.

[edit] Disable Login sebagai root

Jangan pernah login sebagai user root. Anda sebaiknya menggunakan sudo untuk menjalankan perintah level root jika diperlukan. sudo ini dapat meningkatkan keamanan sistem tanpa berbagi password root dengan pengguna lainnya dan admin. Perintah sudo juga menyediakan audit sederhana dan fitur pelacakan.

[edit] Keamanan Fisik Server

Anda harus melindungi akses terhadap server Linux secara fisik. Lakukan konfigurasi pada BIOS seperti menonaktifkan boot dari perangkat eksternal seperti DVD/CD/USB. Anda juga dapat menambahkan password pada grub boot loader untuk memperketat akses terhadap server Linux. Anda juga disarankau untuk menyimpan Data penting yang terkait dengan produksi harus terkunci di IDCs (Internet Data Center) dan semua orang harus melewati semacam pemeriksaan keamanan sebelum mengakses server Anda. Lihat juga:
  • 9 Tips Untuk Melindungi akses terhadap server Linux secara Fisik.

[edit] Disable Layanan Yang Tidak Perlu

Nonaktifkan semua layanan yang tidak perlu dan daemon (layanan yang berjalan di latar belakang). Anda juga harus menghapus semua layanan yang tidak perlu dari sistem start-up. Ketikkan perintah berikut untuk melihat daftar semua layanan yang dihidupkan secara otomatis pada saat boot di runlevel #3:
# chkconfig --list | grep '3:on'
Untuk mematikan layanan dan disable saat boot, masukkan:
# service serviceName stop
# chkconfig serviceName off

[edit] Mencari Port Network yang Aktif

Gunakan perintah berikut untuk melihat port yang terbuka dan program yang berasosiasi dengan port tersebut:
netstat -tulpn
atau
nmap -sT -O localhost
nmap -sT -O server.example.com
Gunakan iptables untuk menutup port tersebut atau matikan layanan jaringan yang tidak di inginkan dan gunakan perintah chkconfig.

[edit] Lihat Juga

  • update-rc.d like command on Redhat Enterprise / CentOS Linux.
  • Ubuntu / Debian Linux: Services Configuration Tool to Start / Stop System Services.
  • Get Detailed Information About Particular IP address Connections Using netstat Command.

[edit] Hapus X Windows

X windows pada server tidak diperlukan. Tidak ada alasan untuk menjalankan X Windows pada server khusus mail dan server web Apache. Anda dapat menonaktifkan dan menghapus X Windows untuk meningkatkan keamanan server dan kinerja. Edit /etc/inittab dan ubah runlevel ke 3. Akhirnya, untuk menghapus sistem X Windows, masukkan:
# yum groupremove "X Window System"

[edit] Pengaturan Iptables dan TCPWrappers

Iptables adalah firewall (Netfilter) standar yang disediakan oleh kernel Linux. Gunakan firewall untuk memfilter lalu lintas dan hanya mengijinkan lalu lintas yang diperlukan. Anda juga dapat menggunakan sistem jaringan TCPWrappers ACL berbasis host untuk menyaring akses jaringan ke Internet. Anda dapat mencegah banyak serangan Denial of Service dengan bantuan Iptables:
  • Lighttpd Traffic Shaping: Katup Koneksi Per IP Single (Batas Rate).
  • How to: Linux Iptables memblokir serangan umum.
  • psad: Linux Deteksi Dan Blok serangan Pemindaian terhadap Port secara Real Time.

[edit] Linux Kernel /etc/sysctl.conf Hardening

/etc/sysctl.conf adalah file yang digunakan untuk mengkonfigurasi parameter kernel pada saat runtime. Linux membaca dan menerapkan pengaturan dari /etc/sysctl.conf pada saat boot. Contoh konfigurasi pada /etc/sysctl.conf:
# Turn on execshield
kernel.exec-shield=1
kernel.randomize_va_space=1
# Enable IP spoofing protection
net.ipv4.conf.all.rp_filter=1
# Disable IP source routing
net.ipv4.conf.all.accept_source_route=0
# Ignoring broadcasts request
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.icmp_ignore_bogus_error_messages=1
# Make sure spoofed packets get logged
net.ipv4.conf.all.log_martians = 1

[edit] Pisahkan Partisi Disk

Pisahkan file sistem operasi dari file user agar system lebih baik dan lebih aman. Pastikan file system berikut di mount di partisi yang berbeda:
  • /usr
  • /home
  • /var and /var/tmp
  • /tmp
Buat partis yang beda untuk root dari Apache dan FTP server. Edit file /etc/fstab dan pasitikan tambahkan opsi konfigurasi berikut:
  1. noexec - Tidak bisa menjalankan (execute) semua binary di partisi tersebut (binary tidak bisa di exec tapi script di ijinkan).
  2. nodev - Tidak mengijinkan device character atau device spesial lainnya di partisi tersebut (device file seperti zero, sda dll tidak dapat digunakan).
  3. nosuid - Tidak dapat menset akses SUID/SGID di partisi ini (menghalangi setuid bit).
Contoh isi /etc/fstab untuk membatasi akses user ke /dev/sda5 (ftp server root directory):
/dev/sda5  /ftpdata          ext3    defaults,nosuid,nodev,noexec 1 2

[edit] Kuota disk

Pastikan Kuota Disk diaktifkan untuk semua pengguna. Untuk menerapkan kuota disk, gunakan langkah-langkah berikut:
  1. Aktifkan kuota per sistem file dengan memodifikasi file /etc/fstab.
  2. Lakukan remount file system (s).
  3. Membuat database file kuot dan menghasilkan tabel penggunaan disk.
  4. Tetapkan kebijakan kuota.
  5. Lihat tutorial penerapan kuota disk untuk rincian lebih lanjut.

[edit] Matikan IPv6

Internet Protocol version 6 (IPv6) memberikan lapisan Internet baru dari TCP / IP protocol suite yang menggantikan Internet Protocol version 4 (IPv4) dan memberikan banyak manfaat. Saat ini ada alat yang baik keluar yang dapat memeriksa sistem melalui jaringan untuk masalah keamanan IPv6. Kebanyakan distro Linux mulai memungkinkan protokol IPv6 secara default. Cracker dapat mengirimkan lalu lintas data jahat melalui IPv6 yang tidak termonitor oleh admin. Kecuali konfigurasi jaringan menuntut hal itu, berikut ini adalah cara untuk menonaktifkan IPv6 atau mengkonfigurasi Linux firewall IPv6:
  • Mematikan jaringan IPv6 di RedHat / Centos.
  • Mematikan jaringan IPv6 di Debian / Ubuntu And Other Linux Distros.
  • Linux IPv6 Howto - Chapter 19. Security.
  • konfigurasi Firewall Linux untuk IPv6 beserta script lain yang tersedia klik di sini.

[edit] Matikan Binari dengan SUID dan SGID Yang Tidak Diinginkan

Semua bit SUID/SGID yang di enable dapat di salahgunakan saat SUID/SGID executable ada masalah keamanan atau bug. Semua local atau remote user akan dapat menggunakan file tersebut. Ada baiknya kita mencari semua file tersebut, untuk mencarinya dapat menggunakan perintah berikut:
#See all set user id files:
find / -perm +4000
# See all group id files
find / -perm +2000
# Or combine both in a single command
find / \( -perm -4000 -o -perm -2000 \) -print
find / -path -prune -o -type f -perm +6000 -ls
Anda perlu melakukan analisa / investigasi pada setiap file yang di laporkan. See reported file man page for further details.

[edit] File yang World-Writable

Semua orang dapat memodifikasi file yang world-writable yang menyebabkan masalah keamanan. Gunakan perintah berikut untuk menemukan semua file yang di set world writable dan sticky bits:
find /dir -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print
Kita perlu melakukan analisa dari semua file yang di laporkan dan set ijin user dan group yang benar atau bahkan membuang / men-delete-nya sekalian.

[edit] File Noowner

File yang tidak ada pemiliknya dapat menyebabkan masalah keamanan. Cari file tersebut menggunakan perintah berikut
find /dir -xdev \( -nouser -o -nogroup \) -print
Kita perlu melakukan analisa pada setiap file yang di laporkan dan kita perlu memberikan user & group yang benar atau membuang / men-delete file tersebut.

[edit] Gunakan Layanan Authentikasi Terpusat

Tanpa system authentikasi yang terpusat, data user auth menjadi tidak konsisten, yang mungkin akan menyebabkan banyak data, credential, account yang out-of-date tidak ter-delete. Sebuah layanan authentikasi yang terpusat memungkinkan kita untuk memelihara kontrol terhadap data Linux / UNIX account dan authentikasi. Kita dapat menyimpan data auth yang tersinkonisasi pada beberapa server. Jangan menggunakan layanan NIS untuk authentikasi yang terpusat. Gunakan OpenLDAP untuk client dan server.

[edit] Kerberos

Kerberos akan melakukan authentikasi sebagai sebuah layanan authentikasi pihak ketiga yang dapat di percaya menggunakan cryptographic shared secret dengan asumsi packet akan berjalan di sebuah jaringan yang tidak aman yang dapat dibaca, di modifikasi dan di insert / dimasukan. Kerberos dibangun menggunakan symmetric-key cryptography dan membutuhkan sebuah pusat distribusi kunci (key). Kita dapat membuat remote login, remote copy, copy file inter-system secara aman dan berbagai pekerjaan dengan resiko tinggi secara aman dan banyak lagi yang dapat di kontrol oleh Kerberos. Oleh karenanya, jika pengguna melakukan authentikasi untuk layanan jaringan menggunakan Kerberos, maka pengguna yang tidak di undang yang berusaha untuk memperoleh password dengan cara memonitor traffic di jaringan pada dasarnya akan tersingkir dengan sendirinya. See how to setup and use Kerberos.

[edit] Logging dan Auditing

Kita perlu mengkonfigurasi logging dan auditing untuk mencatat semua usaha hacking dan cracking. Secara default syslog akan menyimpan data di directory /var/log/. Catatan ini sangat berguna untuk melihat jika ada software yang salah konfigurasi yang menjadikan sistem kita terbuka terhadap serangan. Ada baiknya melihat artikel yang berkaitan dengan logging berikut:
  1. Linux log file locations
  2. How to send logs to a remote loghost.
  3. How do I rotate log files?.
  4. man pages syslogd, syslog.conf and logrotate.

[edit] Monitor Message Log yang mencurigakan menggunakan Logwatch / Logcheck

Membaca log menggunakan logwatch atau logcheck. Dengan tool ini akan membuat pembacaan log menjadi lebih mudah. Kita dapat memperoleh laporan yang lebih detail dari hal yang mencurigakan di syslog melalui e-mail.Sebuah contoh dari laporan syslog adalah sebagai berikut:
 ################### Logwatch 7.3 (03/24/06) ####################
        Processing Initiated: Fri Oct 30 04:02:03 2009
        Date Range Processed: yesterday
                              ( 2009-Oct-29 )
                              Period is day.
      Detail Level of Output: 0
              Type of Output: unformatted
           Logfiles for Host: www-52.nixcraft.net.in
  ##################################################################  
 
--------------------- Named Begin ------------------------ 
 
**Unmatched Entries**
    general: info: zone XXXXXX.com/IN: Transfer started.: 3 Time(s)
    general: info: zone XXXXXX.com/IN: refresh: retry limit for master ttttttttttttttttttt#53 exceeded (source ::#0): 3 Time(s)
    general: info: zone XXXXXX.com/IN: Transfer started.: 4 Time(s)
    general: info: zone XXXXXX.com/IN: refresh: retry limit for master ttttttttttttttttttt#53 exceeded (source ::#0): 4 Time(s) 
 
---------------------- Named End ------------------------- 
 
  --------------------- iptables firewall Begin ------------------------ 
 
Logged 87 packets on interface eth0
   From 58.y.xxx.ww - 1 packet to tcp(8080)
   From 59.www.zzz.yyy - 1 packet to tcp(22)
   From 60.32.nnn.yyy - 2 packets to tcp(45633)
   From 222.xxx.ttt.zz - 5 packets to tcp(8000,8080,8800) 
 
---------------------- iptables firewall End -------------------------  
 
--------------------- SSHD Begin ------------------------ 
 
Users logging in through sshd:
    root:
       123.xxx.ttt.zzz: 6 times
 
---------------------- SSHD End ------------------------- 
 
--------------------- Disk Space Begin ------------------------ 
 
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             450G  185G  241G  44% /
/dev/sda1              99M   35M   60M  37% /boot 
 
---------------------- Disk Space End ------------------------- 
 
###################### Logwatch End #########################
 
(Note output is truncated)
 

[edit] System Accounting menggunakan auditd

auditd adalah layanan untuk melakukan system auditing. Dia bertanggung jawab untuk menulis catatan audit ke disk. Pada saat startup, aturan di /etc/audit.rules akan di baca oleh daemon ini. Kita dapat membuka file /etc/audit.rules dan membuat perubahan seperti setup audit log file dan berbagai opsi lainnya. Dengan auditd kita dapat menjawab pertanyaan berikut:
  1. System startup and shutdown events (reboot / halt).
  2. Date and time of the event.
  3. User respoisble for the event (such as trying to access /path/to/topsecret.dat file).
  4. Type of event (edit, access, delete, write, update file & commands).
  5. Success or failure of the event.
  6. Records events that Modify date and time.
  7. Find out who made changes to modify the system's network settings.
  8. Record events that modify user/group information.
  9. See who made changes to a file etc.
See our quick tutorial which explains enabling and using the auditd service.

[edit] Secure OpenSSH Server

SSH protocol di rekomendasikan untuk melakukan remote login dan remote transfer file. Akan tetapi, ssh sangat terbuka akan serangan. Cara membuat aman OpenSSH server dapat di baca di:
  • Top 20 OpenSSH Server Best Security Practices.

[edit] Instalasi dan Penggunaan Intrusion Detection System

Sebuah network intrusion detection system (NIDS) adalah sebuah intrusion detection system yang akan berusaha mendeteksi berbagai aktifitas yang tidak baik seperti serangan denial of service, port scans atau bahkan usaha untuk mengcrack ke dalam komputer dengan cara memonitor traffic jaringan.
Sebaiknya dilakukan mengecekan integritas software sebelum system online dan masuk ke lingkungan produksi / operasional. Jika di mungkinkan ada baiknya di install software AIDE sebelum system tersambung ke jaringan apapun. AIDE adalah sebuah host-based intrusion detection system (HIDS) dia akan memonitor dan analisa internal dari system.
Snort is a software for intrusion detection which is capable of performing packet logging and real-time traffic analysis on IP networks.

[edit] Protecting Files, Directories and Email

Linux offers excellent protections against unauthorized data access. File permissions and MAC prevent unauthorized access from accessing data. However, permissions set by the Linux are irrelevant if an attacker has physical access to a computer and can simply move the computer's hard drive to another system to copy and analyze the sensitive data. You can easily protect files, and partitons under Linux using the following tools:
  • To encrypt and decrypt files with a password, use gpg command.
  • Linux or UNIX password protect files with openssl and other tools.
  • See how to encrypting directories with ecryptfs.
  • TrueCrypt is free open-source disk encryption software for Windows 7/Vista/XP, Mac OS X and Linux.
  • Howto: Disk and partition encryption in Linux for mobile devices.
  • How to setup encrypted Swap on Linux.

[edit] Mengamankan Email Server

Anda dapat menggunakan SSL certificate dan gpg key untuk mengamankan komunikasi e-mail pada kedua komputer server dan klien:
v  Keamanan linux dan monitor jaringan
Insta-snorby

Aplikasi ini dirancang untuk pengguna yang ingin menguji Snorby (a Snort baru IDS front-end) atau memerlukan mendesah cepat dan mendengus sensor diinstal.
Muncul dengan:

* Snort 2.9.0.3 - Versi terbaru dari Intrusion Detection System populer
* Lumbung 2,19 - Sebuah aplikasi yang deciphers unified2 Snort log dan menempatkan mereka di snorby database
* Snorby 2.2.1 - A front-end IDS
* OpenFPC - Monitoring capture paket penuh
* Diambil Pork 0,5 - update manajemen aturan IDS

Proses instalasi akan memandu Anda melalui mengkonfigurasi server MySQL dan meminta Anda untuk memakai Anda "Oinkcode" yang secara otomatis akan mendownload aturan VRT terbaru (di signature bahwa kekuatan IDS) Sourcefire. Aturan ancaman yang muncul (aturan lain distro populer) telah diunduh dan diaktifkan.

http://www.snorby.org/

Smooth-Sec

Smooth-Sec adalah siap-pergi IDS / IPS (Intrusion Detection / Prevention System) distribusi Linux berbasis pada multi threaded Suricata IDS / IPS dan Snorby, baris pertama dari aplikasi web untuk pemantauan keamanan jaringan. Smooth-Sec dibangun di Ubuntu LTS 10.04 turnkey basis Core menggunakan sebagai platform pengembangan. Fungsi adalah titik kunci yang dapat mengimplementasikan IDS lengkap / sistem IPS dipasang dan bekerja di luar kotak dalam hitungan menit, bahkan untuk pemula dengan pengalaman minimal keamanan Linux.

http://bailey.st/blog/smooth-sec/

Siem-live

Siem-hidup adalah pergi-ke Siem (Keamanan Informasi dan Event Management) berdasarkan alat Open Source, dan Debian-hidup. Untuk mengumpulkan peristiwa dia menggunakan Suricata IDS / IPS, syslog kolektor sebagai openv pusat untuk mencari kerentanan, dan banyak lainnya. Tanda dan peristiwa disimpan dalam Open Source Siem Prelude, dianalisis dan berkorelasi. Hasilnya akan dapat diakses melalui antarmuka web (Prewikka).

Siem-hidup adalah bootable LiveCD, yang menawarkan sistem berfungsi penuh tanpa konfigurasi yang diperlukan. Dia juga bisa menggunakan ketekunan, atau dapat diinstal pada hard drive / kunci USB.

Tujuan Anda adalah untuk memberikan cara mudah untuk menerapkan dan menguji Siem, dan dapat dengan cepat melihat apa yang terjadi pada jaringan dan fokus pada mencoba untuk mendeteksi pola korelasi tingkat tinggi. Hal ini juga berisi visualisasi dan alat pelaporan dalam waktu dekat.

https: / / www.wzdftpd.net / Redmine / proyek / Siem-live

 *     Keamanan LiveDVD Bawang

Keamanan Bawang LiveDVD adalah DVD bootable yang berisi perangkat lunak yang digunakan untuk konfigurasi, instalasi dan pengujian Intrusion Detection Systems. Hal ini didasarkan pada Xubuntu 10,04 dan berisi Snort, Suricata, Sguil, Squert, Xplico, nmap, metasploit, Armitage, Scapy, Hping, tcpreplay netcat, dan banyak alat-alat keamanan lainnya.

http://securityonion.blogspot.com/

Network Security Toolkit

Jaringan Security Toolkit (NST) adalah Linux Live CD, yang menawarkan seperangkat alat-alat keamanan komputer dan open source jaringan untuk melakukan rutin dan keselamatan kerja dan diagnostik jaringan dan pemantauan. Distribusi ini dapat digunakan sebagai analisis keamanan jaringan, validasi dan alat pemantauan untuk server mesin virtual host tersebut. Fitur lain termasuk visualisasi ntop, wireshark traceroute, data geolocation kismet dan alamat host, percakapan IPv4, data traceroute dan titik akses nirkabel dan menampilkan mereka melalui Google Earth atau World Map gambar Mercator bit , sebuah capture paket sistem, browser berbasis dan analisis protokol mampu memantau hingga empat antarmuka jaringan dengan menggunakan Wireshark, serta sistem deteksi intrusi berdasarkan Snort dengan "kolektor" backend yang menyimpan insiden dalam database MySQL database

http://www.networksecuritytoolkit.org/

EasyIds

EasyIDS merupakan open source IDS (Intrusion Detection System) distribusi berbasis Snort. Dibangun di CentOS dan dikelola dari satu EasyIDS manajemen antarmuka berbasis web mengambil rasa sakit dan frustrasi menerapkan sistem deteksi intrusi.

Dirancang untuk pemula keamanan jaringan dengan pengalaman minimal Linux EasyIDS dapat mengkonversi hampir semua komputer standar industri x86 dan menjalankan sistem untuk deteksi intrusi di bawah 15 menit. EasyIDS mengurangi biaya penyebaran dan pemeliharaan keamanan jaringan tanpa mengorbankan fungsionalitas atau kinerja.
v  Sistem Keamanan linux pada Website

Level Sistem Operasi dan Perangkat Keras.
Cakupan level akses ini menjangkau perangkat keras server, network, dan sistem operasi yang digunakan.
Penulis tidak akan menjelaskan secara detail tentang topik ini karena sangat luas. Anda bisa mencarinya sendiri di internet dan buku-buku yang khusus membahas tentang hal ini (Sistem Keamanan)
Untuk tingkat keamanan pada level ini diperlukan akses level administrator sistem (system administrator). Pembahasan mengenai ini sangat berkaitan erat dengan pengetahuan dan pengalaman anda dalam mengelola sistem operasi yang digunakan sehingga sangat membantu dalam hal aksi yang harus dilakukan.
Jika website anda dititipkan di suatu perusahaan jasa hosting, maka tanggung jawab untuk level ini adalah menjadi tanggung jawab dari admin sistem perusahaan jasa hosting tsb. Oleh karena itu, sebagai “developer” mambo anda wajib untuk mengetahui apakah hosting tempat website anda berada tersebut cukup terpercaya dan dapat diandalkan, terutama jika website anda memang anda nilai cukup berharga.
Kalau anda memiliki akses penuh sebagai “pemilik” dari server tersebut, dalam kata lain anda sendirilah yang menjadi “admin”nya maka sebagai tips singkat dan rangkuman dari saya mengenai topik ini adalah:
  • Backup full dan differential secara periodik dan otomatis.
  • Mengaktifkan firewall.
  • Mengaktifkan sistem loging yang baik dan efektif untuk keperluan audit dan monitoring.
  • Mengaktifkan “Intrusion Detection” atau akan lebih baik lagi jika menggunakan IPS.
  • Mengaktifkan Detektor “Malicious Code” seperti tripwire (linux) atau bikin sendiri.
  • Mengaktifkan detektor scan, SATAN, dll seperti Courtney, icmpinfo, klaxon atau bikin skrip sendiri.
  • Melakukan restriksi pada user, direktori dan file dengan akses paling terbatas (semua akses --rwx group sebaiknya dinonaktifkan dan akses untuk other sebaiknya tidak bisa melakukan write).
  • Jika anda menggunakan aplikasi server yang “bug” segera di ganti atau lakukan patching atau upgrade dengan versi yang lebih baru: (misalnya (linux) sendmail diganti dengan Qmail).
  • Tidak memperboleh kan user menggunakan program remote seperti telnet. Jika terpaksa, leih baik diganti menggunakan service yang lebih aman seperti ssh.
  • Menonaktifkan semua service yang tidak diperlukan.
    Mengaktifkan SSL jika memungkinkan.
  • Jika anda menggunakan webalizer untuk keperluan statistik web, tambahkan perintah berikut ini pada file webalizer.conf :
    • HideUser root
    • HideUser admin
    • HideUser administrator
    • HideUser webmaster
    • HideURL /admin*
      HideURL /ADMIN*
    • HideURL /Admin*
    • HideURL /cgi-*
    • Dstnya… dapat anda tambahkan sesuai dengan kebutuhan.


B. Level Akses Direktori
Proteksilah direktori yang anda penting dan bukan untuk konsumsi umum seperti direktori administrator
Silahkan baca juga artkel saya di:

C. Level Aplikasi
  • Selalu melakukan backup secara berkala (full dan differential).
  • Menghapus file-file install dan direktorinya.
  • Aktif di forum/milis tentang mambo dan melakukan patching jika diketahui ada bug.
  • Jika anda menggunakan aplikasi yang Open Source, usahakan agar tidak menggunakan variabel defaulnya. Misalnya jika menggunakan database penamaan dbase, tabel sebisa mungkin diganti.
  • Mengganti user administrator menjadi nama yang tidak menunjukkan account admin.
  • Jika menggunakan aplikasi CMS (Content Management System) yang Open Source:
    • Sebisa mungkin gantilah semua nilai ID pada tabel yang berkaitan dengan jenis user (priviledge) dan group aksesnya terutama untuk super administrator dan administrator.
    • Sebaiknya tidak menginstal yang masih versi beta termasuk komponen-komponen/modul-modulnya, kecuali anda yakin tidak ada bug yang berkaitan dengan keamanan atau anda sudah melakukan modifikasi.
    • Tidak mengaktifkan komponen/modul yang tidak diperlukan. Akan lebih baik lagi jika di uninstall dan didelete.
    • Kalau memungkinkan, mengaktifkan sistem verikasi email jika anda mengaktifkan sistem registrasi otomatis langsung.
    • Jika sistem registrasi tidak anda aktifkan sebaiknya komponen/modul ini di non-aktifkan atau bahkan dihapus.
    • Jika membuat suatu komponen, mambot ataupun modul, jangan lupa untuk menambahkan perintah yang membuat file tersebut tidka dapat diakases langsung (harus dipanggil melalui program intinya).
    • Tidak memberikan akses list user untuk keperluan umum kecuali website anda adalah website yang memberlakukan sistem registrasi cukup ketat.
    • Tambahkan perintah Disallow: /administrator/ di file robots.txt atau
      Disallow: /[nama_direktori]/, dimana [nama_direktori] adalah direktori yang tidak ingin dipublikasikan di mesin pencari. Proteksi sebaik mungki file ini karena sering digunakan “hacker jahat” sebagai salah satu bahan untuk mengetahui strutur direktori website.
    • Setelah selesai melakukan development, jangan lupa untuk melakukan restriksi (chmod) untuk semua file dan direktori dimulai dari root website anda. Untuk Linux/Unix, semua akses --rwx group sebaiknya dinonaktifkan dan akses untuk other sebaiknya tidak bisa melakukan write, kecuali direktori seperti cache yang memang diperlukan oleh server web atau direktori tempat upload file). Untuk server NT, retriksi group dan keamanan file pada property direktori root dan mengatifkan sistem audit.
    • Jika anda memfasilitasi komponen yang memperbolehkan upload file (seperti gallery, editor konten, dll), pastikan bahwa fasilitas tsb tidak dapat digunakan untuk mengupload file skrip seperti (php, cgi, pl, sh, dll). Dan kemudian sangat dianjurkan untuk menambahkan perintah:
      chmod("/somedir/somefile", 400);
      Di baris terakhir setelah proses upload file dilakukan.
    • Mengaktifkan sef dan “alias manager”.
    • Mengubah nama direktori administrator menjadi nama direktori yang tidak mencerminkan direktori admin. Nama direktori administrator dapat saja tetap anda pertahankan untuk membuat suatu “fake” atau “decoy” se-olah2 direktori tersebut adalah direktori admin. Dan untuk lebih meyakinkan, dapat anda proteksi juga direktori fake ini dengan .htaccess (lihat poin B)…. Sssttt… Mudah2an cuma dibaca ama hacker2 baik ya… hehehehe… :D
    • Pindahkan direktori administrator sedemikian hingga direktori tersebut sejajar dengan direktori website secara fisik (physical path). Jika menggunakan server “Apache”, gunakan “alias” didalam “konfigurasi server webnya.
    • Gantilah sistem default (MD5) untuk enkripsi password anda dengan enkripsi lain.

v Keamanan File dan Sistem File pada linux

Beberapa menit persiapan dan perencanaan sebelum menaruh sistem anda online dapat membantu melindungi sistem anda, dan data yang disimpan.
  • Tidak ada alasan bagi direktori home pemakai agar memungkinkan menjalankan program SUID/SGID dari sana. Gunakan opsi "nosuid" dalam /etc/fstab untuk partisi yang dapat ditulis oleh orang selain root. Anda mungkin ingin menggunakan "nodev" dan "noexec" di partisi home pemakai, juga di /var, yang melarang eksekusi program, dan penciptaan device karakter atau blok, yang sebenarnya tidak perlu.
  • Jika anda mengekspor sistem file menggunakan NFS, pastikan mengkonfigurasi /etc/exports dengan akses yang seketat mungkin. Artinya tidak menggunakan wildcard, tidak membolehkan root akses menulis, dan melakukan mount read-only jika mungkin.
  • Konfigurasi umask penciptaan file pemakai anda seketat mungkin. Setting yang biasa digunakan adalah 022, 033, dan yang paling ketat adalah 077, dan ditambahkan ke /etc/profile.
  • Set limit sistem file. Anda dapat mengendalikan limit tiap pemakai menggunakan module PAM dan /etc/pam.d/limits.conf. Sebagai contoh, limit untuk kelompok "users" mungkin tampak sebagai berikut :
·                                @users     hard  core    0
·                                @users     hard  nproc   50
·                                @users     hard  rss     5000
Perintah ini berarti melarang penciptaan file core, membatasi jumlah proses hingga 50, dan membatasi penggunaan memori tiap user hingga 5M.
  • File /var/log/wtmp dan /var/run/utmp berisi catatan login seluruh pemakai sistem anda. Integritasnya harus dipelihara karena dapat digunakan untuk menentukan kapan dan dari mana seorang pemakai (atau penyusup potensial) memasuki sistem anda. File-file ini harus memiliki permisi 644, tanpa mempengaruhi operasi sistem normal.
  • Bit immutable dapat digunakan untuk mencegah penghapusan atau penimpahan sebuah file yang harus dilindungi tanpa sengaja. Juga dapat mencegah seseorang menciptakan link simbolik ke file ini, yang telah merupakan sumber penyerangan melibatkan penghapusan /etc/passwd atau /etc/shadow. Lihat man page chattr(1) untuk informasi bit immutable.
  • File-file SUID dan SGID pada sistem anda adalah risiko keamanan potensial, dan harus diawasi dengan baik. Oleh karena program-program ini memberi ijin khusus bagi pemakai yang mengeksekusinya, maka perlu dipastikan bahwa program yang tidak aman tidak diinstal. Trik favorit cracker adalah mengeksploitasi program SUID "root", lalu meninggalkan program SUID sebagai backdoor untuk masuk di saat lain, meski lubang yang asli telah ditutup. Carilah seluruh program SUID/SGID di sistem anda, dan catatlah, sehingga anda mengerti setiap perubahan yang dapat mengindikasikan penyusup potensial. Gunakan perintah berikut untuk mencari seluruh program SUID/SGID di sistem anda:


root#  find / -type f \( -perm -04000 -o -perm -02000 \)


Anda dapat menghapus ijin SUID atau SGID pada program yang dicurigai menggunakan chmod(1), lalu rubah kembali jika anda rasa perlu.
  • File-file world-writable, utamanya file sistem, dapat menjadi lubang keamanan jika seorang cracker memperoleh akses ke sistem anda dan memodifikasinya. Selain itu direktori world-writable berbahaya, karena memungkinkan cracker menambah atau menghapus file sesuai keinginannya. Untuk mencari seluruh file world-writable di sistem anda, gunakan perintah berikut:


root# find / -perm -2 -print


dan pastikan anda paham mengapa file tersebut world-writable. Dalam operasi normal, terdapat beberapa file writable, termasuk beberapa dari /dev, dan link simbolik.
  • File-file yang tidak ada pemiliknya juga dapat menjadi indikasi penyusup telah mengakses sistem anda. Anda dapat menemukan file-file di sistem anda yang tidak memiliki pemilik, atau milik suatu kelompok dengan perintah :


root# find / -nouser -o -nogroup -print



  • Mencari file .rhosts seharusnya menjadi bagian tugas reguler anda sebagai sistem administrator, karena file ini tidak diijinkan ada di sistem anda. Ingat, cracker hanya perlu satu rekening tidak aman untuk secara potensial memperolah akses ke seluruh jaringan anda. Anda dapat melihat seluruh file .rhosts di sistem anda dengan perintah :



root# find /home -name .rhosts -print



  • Akhirnya, sebelum merubah permisi di sembarang sistem file, pastikan anda paham apa yang anda lakukan. Jangan pernah merubah permisi suatu file hanya karena ini tampaknya merupakan cara termudah menyelesaikan sesuatu. Selalu tentukan mengapa file memiliki permisi tersebut sebelum merubahnya.

5.1 Setting Umask

Perintah umask dapat digunakan untuk menentukan mode penciptaan file baku di sistem anda. Ia merupakan komplemen oktal mode file yang diinginkan. Jika file diciptakan tanpa mengindahkan setting permisi, pemakai secara tidak sengaja dapat memberi permisi membaca atau menulis kepada seseorang yang tidak seharusnya memiliki permisi ini. Umumnya setting umask mencakup 022, 027, dan 077, yang paling terbatas. Normalnya umask diset dalam /etc/profile, sehingga berlaku untuk semua pemakai sistem. Sebagai contoh, anda mungkin memiliki sebuah baris yang tampak seperti berikut:


                       # Set the user's default umask
                       umask 033


Pastikan untuk membuat umask root 077, yang akan meniadakan permisi membaca, menulis, dan mengeksekusi bagi pemakai lain, kecuali dirubah secara eksplisit menggunakan chmod(1).
Jika anda menggunakan RedHat, dan mengikuti skema penciptaan ID pemakai dan kelompok (User Private Groups), hanya perlu menggunakan 002 sebagai umask. Hal ini disebabkan kenyataan bahwa konfigurasi baku adalah satu orang untuk satu kelompok.

5.2 Permisi File

Penting untuk memastikan bahwa file sistem anda tidak terbuka untuk pengeditan oleh pemakai dan grup yang tidak seharusnya melakukan pemeliharaan sistem semacam itu.
UNIX membedakan kendali akses pada file dan direktori berdasarkan tiga karakteristik: pemilik (owner), grup, dan yang lain (other). Selalu terdapat satu pemilik, sejumlah anggota grup, dan setiap orang lain.
Penjelasan singkat permisi UNIX:
Kepemilikan - Pemakai dan grup mana saja yang memperoleh kendali atas setting permisi node dan node induk.
Permisi - Bit yang mampu diset atau direset untuk memungkinkan beberapa tipe akses tertentu terhadapnya. Permisi direktori mungkin memiliki arti berbeda dengan permisi set yang sama untuk file.
Read (Baca):
  • Mampu melihat isi file.
  • Mampu membaca direktori.
Write (Menulis):
  • Mampu menambah atau merubah file.
  • Mampu menghapus atau memindah file dalam sebuah direktori.
Execute (Eksekusi):
  • Mampu menjalankan program biner atau script shell.
  • Mampu mencari dalam sebuah direktori, dikombinasikan dengan permisi read.
Menyimpan atribut teks: (untuk direktori) Bit sticky juga memiliki arti lain ketika diaplikasikan pada direktori. Jika bit sticky diset pada direktori, maka seorang pemakai hanya boleh menghapus file yang dimiliki atau diberi ijin menulis secara eksplisit, walaupun ia memiliki akses ke direktori. Hal ini dirancang untuk direktori seperti /tmp, yang bersifat world-writable, tetapi tidak diinginkan setiap pemakai dapat menghapus file sesukanya. Bit sticky dilihat sebagai sebuah 't' dalam daftar direktori.
Atribut SUID: (untuk file) Atribut ini menggambarkan permisi set ID pemakai atas file. Ketika mode akses permisi set ID diset dalam permisi pemilik, dan file adalah eksekutabel, proses yang menjalankannya diberi ijin akses kepada sumber daya sistem berdasarkan pemakai yang membuat proses. Inilah penyebab eksploitasi 'buffer overflow'.
Atribut SGID: (untuk file) Jika diset dalam permisi grup, bit ini mengendalikan status "set group id" file. Ia berlaku serupa dengan SUID, kecuali grup terpengaruh. File harus eksekutabel agar dapat berlaku.
Atribut SGID: (untuk direktori) Jika anda menset bit SGID pada direktori (dengan "chmod g+s direktori"), file yang tercipta di direktori akan memiliki grup yang sama dengan grup direktori.
Anda - Pemilik file
Grup - Grup anda berada.
Orang lain - Setiap orang yang ada di sistem yang bukan pemilik atau anggota grup.
Contoh File :
-rw-r--r--  1 kevin  users         114 Aug 28  1997 .zlogin
1st bit - direktori?               (tidak)
2nd bit - baca oleh pemilik?       (ya, oleh kevin)
3rd bit - tulis oleh pemilik?      (ya, oleh kevin)
4th bit - eksekusi oleh pemilik?   (tidak)
5th bit - baca oleh grup?          (ya, oleh users)
6th bit - tulis oleh grup?         (tidak)
7th bit - eksekusi oleh grup?      (tidak)
8th bit - baca oleh tiap orang?    (ya, o/ tiap orang)
9th bit - tulis oleh tiap orang?   (tidak)
10th bit - eksekusi o/ tiap orang? (tidak)
Baris berikut merupakan contoh set minimum permisi yang dibutuhkan untuk melakukan akses yang dideskripsikan. Anda mungkin ingin memberi permisi lebih daripada yang ditampilkan, tetapi ini akan mendeskripsikan apa yang dilakukan oleh permisi minimum :
-r--------  Membolehkan akses baca file oleh pemilik
--w-------  Membolehkan pemilik untuk modifikasi/hapus file
---x------  Pemilik dapat mengeksekusi program, tapi bukan shell script,yang masih perlu ijin baca
---s------  Akan mengeksekusi dengan ID pemakai efektif = pemilik
-------s--  Akan mengeksekusi dengan ID pemakai efektif = grup
-rw------T  Tdk ada update "last modified time". Biasanya untuk file swap
---t------  Tidak ada efek. (dulunya bit sticky)
 
Contoh direktori:
drwxr-xr-x  3 kevin  users         512 Sep 19 13:47 .public_html/
1st bit - direktori?             (ya, berisi banyak file)
2nd bit - baca oleh pemilik?     (ya, oleh kevin)
3rd bit - tulis oleh pemilik?    (ya, oleh kevin)
4th bit - eksekusi oleh pemilik? (ya, oleh kevin)
5th bit - baca oleh grup?        (ya, oleh pemakai)
6th bit - tulis oleh grup?       (tidak)
7th bit - eksekusi oleh grup?    (ya, oleh pemakai)
8th bit - baca oleh tiap orang?  (ya, oleh setiap orang)
9th bit - tulis oleh tiap orang?  (tidak)
10th bit - eksekusi oleh everyone? (ya, oleh tiap orang)
Baris-baris berikut adalah contoh set permisi minimum yang diperlukan untuk melakukan akses yang dideskripsikan. Anda mungkin ingin memberi lebih permisi daripada yang didaftarkan, namun contoh ini dapat menggambarkan apa yang dilakukan permisi minimum pada direktori:
dr--------  Isi dpt ditampilkan, tapi atribut file tidak dapat dibaca
d--x------  Direktori dapat dimasuki, dan digunakan dl path eksekusi penuh
dr-x------  Atribut file dapat dibaca oleh pemilik
d-wx------  File dapat diciptakan/dihapus, meski bukan direktori saat ini
d------x-t  Mencegah file dihapus oleh orang lain dengan akses tulis.
Digunakan di /tmp
d---s--s--  Tidak ada efek
File konfigurasi sistem (biasanya di /etc/) biasanya mode 640 (-rw-r-----), dan dimiliki oleh root. Tergantung pada persyaratan keamanan site anda, anda mungkin perlu menyesuaikannya. Jangan pernah meninggalkan file sistem dapat ditulisi oleh grup atau tiap orang. Beberapa file konfigurasi, termasuk /etc/shadow, hanya boleh dibaca oleh root, dan direktori dalam /etc tidak boleh diakses oleh orang lain.
Script Shell SUID Script shell SUID merupakan risiko keamanan yang serius, dan oleh karena itu kernel tidak akan menganggapnya. Meski anda menganggap betapa aman script shell, ia dapat dieksploitasi untuk memberi cracker shell root.

5.3 Pemeriksaan Integritas dengan Tripwire

Cara baik lain untuk mendeteksi serangan lokal (dan juga jaringan) pada sistem anda adalah dengan menjalankan pemeriksa integritas seperti Tripwire. Tripwire menjalankan sejumlah checksum di seluruh file biner dan config penting anda dan membandingkannya dengan database terdahulu, yang diketahui baik sebagai referensi. Oleh karena itu, setiap perubahan dalam file akan diketahui.
Merupakan ide yang baik untuk menginstal tripwire ke floppy, dan kemudian mengeset write protect secara fisik pada floppy. Dengan demikian penyusup tidak dapat mengganggu tripwire atau merubah database. Sekali anda telah memiliki setup tripwire, merupakan ide yang baik untuk menjalankannya sebagai tugas administrasi keamanan normal anda untuk melihat jika ada perubahan.
Anda bahkan dapat menambahkan entry crontab untuk menjalankan tripwire dari floppy setiap malam dan mengirimkan hasilnya kepada anda di pagi hari. Sesuatu seperti :


                       # set mailto
                       MAILTO=kevin
                       # run tripwire
                       15 05 * * * root /usr/local/adm/tcheck/tripwire


akan mengirimkan laporan kepada anda di jam 5:15 pagi hari.
Tripwire dapat pula menjadi petunjuk yang baik untuk mendeteksi penyusup sebelum anda mengetahuinya. Oleh karena banyaknya file yang berubah pada rata-rata sistem, anda harus berhati-hati tentang aktivitas cracker dan apa yang anda lakukan.

5.4 Trojan Horses (Kuda-kuda Troya)

Kuda troya diambil namanya dari fabel sastra besar Homer. Idenya adalah anda menaruh program atau biner yang tampaknya bagus, dan membuat orang lain mendownloadnya dan menjalankannya sebagai root. Kemudian, anda dapat mengganggu sistem mereka sementara mereka tidak memperhatikan. Sementara mereka berpikir bahwa file biner yang mereka ambil hanya melakukan satu hal (dan mungkin sangat baik), namun ia juga mengganggu keamanan mereka.
Anda perlu waspada terhadap program apa yang anda instal di mesin anda. RedHat menyediakan checksum MD5, dan tanda PGP, file RPM sehingga anda dapat memverifikasi bahwa anda menginstal hal yang sebenarnya. Distribusi lain memiliki metode yang serupa. Anda sebaiknya tidak menjalankan sembarang file biner yang kode sumbernya tidak anda miliki atau kenal sebagai root! Sedikit penyerang yang bersedia mengeluarkan kode sumber untuk dilihat publik.
Meski dapat menjadi kompleks, pastikan anda memperoleh kode sumber untuk beberapa program dari site distribusi sebenarnya. Jika program akan berjalan sebagai root pastikan anda atau seseorang yang anda percayai telah melihat kode sumber dan memverifikasinya.
Saat kita menggunakan Ubuntu mungkin pernah grub kita bermasalah, misalnya
v  Cara Recover grub Ubuntu Jaunty dan garmic:
1. Boot lewat ubuntu live cd dan pilih try
2. Setelah itu buka terminal dan jalankan perintah berikut :
$ sudo su
$ grub
3. Kemudian jalankan perintah untuk mencari partisi yang ada ubuntu-nya :
$ find /boot/grub/stage1
4. Misal hasil dari find adalah (hdX,Y) maka jalankan perintah :
$ root (hdX,Y)
$ setup (hdX)
5. Setelah berhasil
$ quit
$ reboot
Recover grub2 untuk ubuntu karmic koala :
1. Booting menggunakan live cd ubuntu
2. Buka terminal dan jalankan perintah
$ sudo fdisk -l
3. Perlu di ingat posisi drive sistem instalasi ubuntu anda, misalnya sistem di-install pada partisi /dev/sda1
4. Mount partisi /dev/sda1 kedalam folder /mnt
$ sudo mount /dev/sda1 /mnt
5. Apabila anda memilik partisi /boot yang terpisah, maka partisi tersebut juga harus dimount. Misalnya partisi /boot pada /dev/sda2
$ sudo mount /dev/sda2 /mnt/boot
6. Selanjutnya mount seluruh partisi yang lain
$ sudo mount –bind /dev /mnt/dev
7. Lalu masuk ke sistem yang telah di mount menggunakan perintah :
$ sudo chroot /mnt
8. Setelah anda masuk menggunakan chroot. Berarti anda telah mendapatkan akses root system utama, tanpa harus menggunakan perintah sudo lagi
9. Apabila anda menginginkan perubahan parameter pada grub, edit file /etc/default/grub (Apabila tidak, abaikan langkah ini)
# gedit /etc/default/grub
10. Kemudian jalankan perintah berikut untuk menggenerate file konfigurasi secara otomatis
# update-grub
11. Langkah terakhir anda harus menginstall grub2 pada MBR, jalankan perintah :
# grub-install /dev/sda
12. Apabila terjadi error, jalankan perintah berikut untuk memeriksa errornya :
# grub-install –recheck /dev/sda
13. Apabila sudah selesai tekan tombol Ctrl+D untuk keluar dari lingkungan chroot
14. Lakukan perintah umount, untuk melepaskan partisi yang sedang di-mount
$ sudo umount /mnt/dev
$ sudo umount /mnt
15. Silahkan restart
v  Install web browser chromium (google chrome ) di ubuntu
Chromium (Google Chrome) adalah sebuah proyek browser open-source yang bertujuan untuk membangun browser agar pengalaman berlesancar bagi pengguna Internet lebih aman, lebih cepat dan lebih stabil. Tutorial ini menjelaskan cara menginstal Chromium di Ubuntu menggunakan metode download packet debian atau menggunakan PPAS.
A. Menggunakan Metode Download
1. Download paket .deb dari  sini menggunakan perintah
wget http://media.codeweavers.com/pub/crossover/chromium/cxchromium_0.9.0-1_i386.deb
2. Selanjutnya  install paket tersebut penggunakan perintah
sudo dpkg -i cxchromium_0.9.0-1_i386.deb
B. Menggunakan Ubuntu PPA
1. Edit file  /etc/apt/sources.list
gksudo gedit /etc/apt/sources.list
2. Tambahkan 2 baris berikut :
Untuk user Ubuntu 9.04 (Jaunty)
deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/chromium-daily/ppa/ubuntu jaunty main
Untuk user Ubuntu 9.10 (Karmic)
deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu karmic main
deb-src http://ppa.launchpad.net/chromium-daily/ppa/ubuntu karmic main
3. Simpan dan keluar
4. Tambahkan GPG key menggunakan perintah
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xfbef0d696de1c72ba5a835fe5a9bf3bb4e5e17b5
Atau Untuk  karmic gunakan perintah berikut
sudo add-apt-key ppa:chromium-daily/ppa
5. Update source list
sudo apt-get update
6. Lalu install browser chromium menggunakan perintah
sudo apt-get install chromium-browser
7. Instalasi telah selesai, selanjutnya jalankan browser  chromium.
v  Ubuntu : service conviguration tool untuk start atau stop system sevices
Tingkat keamanan/Sekuriti pada Unbuntu Linux atau pada distro Linux lainnya  salah satunya tergantung pada akses ke  layanan suatu sistem (system services). Misalnya, Anda mungkin perlu menyediakan layanan web server (Apache Service) untuk melayani halaman web maka Anda bisa membuka atau menyalakan layanan/service apache. Namun jika Anda tidak perlu menggunakan layanan tersebut atau layanan yang lainnya maka Anda harus selalu mematikan semua layanan yang tidak digunakan untuk menghindari exploits.
Secara tradisional  Ubuntu menyediakan berbagai alat untuk mengelola layanan/service. Terdapat berbagai metode untuk mengatur akses ke sistem service diantaranya :
a) / etc / init.d /services
b) rcconf
c) update-rc.d dll

Pada Red Hat dan Centos Linux anda dapat menggunakan perintah chkconfig (perintah ntsysv) untuk mengkonfigurasi sys V style init script links. Selain itu ada juga layanan perintah untuk menghentikan, memulai atau restart  suatu service.
Jadi jika Anda telah terbiasa menggunakan perintah service di bawah RHEL, CentOS, Mandriva Linux dan bertanya-tanya apa yang harus dilakukan di Ubuntu Linux maka Anda bisa menggunakan paket sysvconfig.

sysvconfig – Alat Konfigurasi untuk Startup Service

Sebenarnya Ubuntu Linux juga menawarkan perintah untuk service (service command). Perintah tersebut dapat digunakan untuk menjalankan skrip init Sistem V style  yang disimpan di /etc/init.d/nama-service  (start | stop | restart |). Hal ini sangat membatu apabila anda sudah terbiasa dengan Red hat. Tool  ini sama dengan update-rc.d dan memohon-rc.d (rcconf dan lain-lain).

sysvconfig package

Pertama, install paket sysvconfig :
$ sudo apt-get install sysvconfig
Untuk  start, restart,  stop service gunakan syntax berikut:
$ sudo service {service-name} restart <-- Restart service
$ sudo service {service-name} stop <-- Stop service
$ sudo service {service-name} start <-- Start service

Sebagai contoh untuk menghentikan  apache service, enter:
$ sudo service apache stop

Perintah sysvconfig

sysvconfig merupakan aplikasi berbasis teks yang memungkinkan Anda untuk mengkonfigurasi layanan yang akan dimulai pada saat boot untuk setiap Runlevel.  Perintah ini sangat sederhana dan mudah untuk mengkonfigurasi antarmuka runlevels. Perintah sysvconfig ini mirip dengan perintah ntsysv pada Red hat Linux. Berbasis dialog interaktif dan menu otomatis untuk membantu menyiapkan sys V style init script:
* Mengaktifkan atau menonaktifkan layanan.
* Mengedit setiap link.
* Ambil dari cadangan file jika Anda membuat kesalahan.
* Menu atau antarmuka perintah baris.
* Lihat semua layanan, masing-masing dengan status dan penjelasan singkat.

Untuk menjalan  Sys V editor, enter:
$ sudo sysvconfig &
sysvconfig-1
(Gbr 01: sysvconfig in action – startup screen dengan menu)
Anda dapat mengenable atau mendisable system services:
sysvconfig-2
(Gbr 02: sysvconfig in action – Enable atau Disable system services)
Perlu diingat bahwa ketika Anda mengkonfigurasi layanan baru dengan menggunakan alat ini, Anda mungkin perlu reconfigure Firewall juga diperlukan untuk membuka port.

v  Install zimbra 5.0.11 di ubuntu 8.04
Zimbra adalah software open source untuk email server dan kolaborasi (groupware), yang menyediakan solusi email server yang powerful, penjadwalan dan kalender grup, kontak dan manajemen penyimpanan dokumen via web. Untuk bisa mengakses  Zimbra maka harus menggunakan klien Ajax Web 2.0 yang dapat dijalankan pada browser Firefox, Safari dan Internet Explorer (6.0+) dan IE serta mudah diintegrasikan dengan portal web API, aplikasi bisnis dan VoIP menggunakan web services.
Untuk keperluan tersebut maka langkah yang harus dilakukan adalah menginstall Zimbra tersebut pada system atau Server. Adapun server yang akan digunakan adalah Server yang telah diinstall Ubuntu Server 8.04 sebelumnya.
Instalasi Zimbra ini berdasarkan panduan resmi cara cepat instalasi zimbra. Dan beikut langkah untuk instalasi Zimbra :

Instal Paket Yang Diperlukan

Untuk keperluan instalasi zimbra, beberapa paket berikut perlu anda instal.
Command :
apt-get install sudo libidn11-dev fetchmail libpcre3-dev libgmp3-dev \
libexpat1-dev libxml2-dev openssl libltdl3-dev perl

Mengatur Berkas /etc/hosts

Sunting berkas /etc/hosts agar menuliskan ip dan hostname yang benar. Selain disunting di berkas /etc/hosts ini, hostname ini juga harus bisa di resolve melalui dns server yang anda setting di /etc/resolv.conf.
Seting server dengan hostname zimbra.domainku.com dengan alamat ip server 10.10.10.1, maka berkas /etc/hosts ditulis seperti berikut.
Berkas: /etc/hosts
127.0.0.1       localhost
10.10.10.1   zimbra.domainku.com zimbra

Mengatur DNS

Selanjutnya  mengatur A record untuk hostname dan MX record untuk domain.  Sebagai catatan, zimbra menggunakan alamat DNS untuk melakukan semua proses pengaturan sistem. Mulai dari restriksi di mysql dan juga email routing di postfix zimbra. Untuk seting tentang bagaimana cara mengatur kedua record tersebut bisa mengacu pada dokumentasi DNS server yang digunakan.
Saat ini DNS server yang digunakan berbasiskan bind. Saya akan melakukan instalasi zimbra di zimbra.domainku.com, dan email akan ditangani oleh zimbra ini (lihat mx record).
Berkas: domainku.com.zone
$ORIGIN .
$TTL 86400      ; 1 day
domainku.com        IN SOA  ns.domainku.com. hostmaster.domainku.com. (
                                2008060100 ; serial
                                7200       ; refresh (2 hours)
                                7200       ; retry (2 hours)
                                1209600    ; expire (2 weeks)
                                86400      ; minimum (1 day)
                                )
                        NS      ns.domainku.com.
                        MX  10  zimbra.domainku.com.
$ORIGIN domainku.com.
zimbra                  A       10.10.10.1

Tahapan Instalasi

Ambil Berkas Sumber

Selalu cek untuk versi terbaru di websitenya zimbra. Kali ini saya akan menggunakan versi 5.0.11 untuk Ubuntu 8.04 64 bit.
Command :
wget http://h.yimg.com/lo/downloads/5.0.11_GA/
zcs-5.0.11_GA_2695.UBUNTU8_64.20081117052616.tg

Jalankan Skrip Instalasi

  1. Ekstraks terlebih dahulu berkas yang sudah anda ambil.
    tar zxvf zcs-5.0.11_GA_2695.UBUNTU8_64.20081117052616.tgz
  2. Masuk ke direktori instalasi dan jalankan skrip instalasi.
    cd zcs-5.0.11_GA_2695.UBUNTU8_64.20081117052616.tgz/
    ./install.sh
    MISSING: libgmp3c2
    FOUND: libstdc++6-4.2.3-2ubuntu7
    MISSING: libstdc++5
    MISSING: libltdl3
    MISSING: libperl5.8
  3. Install file missing (bila ada)
    sudo apt-get install libgmp3c2 libstdc++5 libltdl3 libperl5.8
  4. . Install lagi zimbra
    #./install.sh
  5. Jawab Y utk semua pertanyaan :
    Select the packages to install
    Install zimbra-ldap [Y] Y
    Install zimbra-logger [Y]
    Install zimbra-mta [Y]
    Install zimbra-snmp [Y]
    Install zimbra-store [Y]
    Install zimbra-apache [Y]
    Install zimbra-spell [Y]
    Install zimbra-proxy [N] Y
  6. Seting semua password
    configure menu :
    a. Common Configuration:
    b. mbra-ldap: Enabled
    c. zimbra-tore: Enabled
    - Admin Password : SET
  7. Tekan tombol “a” untuk Apply configuration.
  8. Apabila muncul “Save Configuration data to file, tekan Yes dan tekan Enter.
  9. Berikutnya muncul pertanyaan ketika akan save ke file. Tekan Enter untuk menyimpan di direktori default atau masukkan nama direktori apabila ingin di simpan di direktori yang lain lalu tekan Enter.
  10. Ketika muncul The system will be modified – continue?, tekan Yes lalu tekan Enter
  11. Ketika muncul Configuration complete – press return to exit displays, tekan Enter.
  12. Instalasi Complete
Instalasi Zimbra sudah selesai selanjutnya adalah tinggal masuk ke Administration Zimbra, seperti seting user/account, email, file sharing dll yang akan dibahas pada kesempatan lainnya.
v  Install ubuntu server 64 bit untuk zimbra
saat ini koneksi Internet di kantor saya akan segera diupgrade menjadi dedicated 512 kbps. Sehubungan dengan hal tersebut maka rencananya akan diinstall sebuah aplikasi webmail di server Linux yang tidak hanya sebagai email dan webmail namun bisa berfungsi sebagai “Microsoft Exchage”nya versi Linux yang mempunyai fungsi mail server yang dikolaborasi dengan kontak, penjadwalan, kalender, manajemen dokumen dan lain sebagainya.
Aplikasi tersebut adalah Zimbra.  Namun sebelum Zimbra tersebut diinstall maka terlebih dahulu harus disiapkan server yang handal baik hardware maupun Operating Systemnya. OS yang akan digunakan adalah GNU/Linux dan Distro yang akan digunakan untuk keperluan instalasi Zimbra ini adalah Ubuntu Server 8.04 64 bit.
Dan berikut langkah Instalasi Ubuntu Server 8.04

Install Ubuntu

Berikut langkah untuk Install ubuntu Server 8.04 64 bit
  1. Download iso Ubuntu Server 8.04_64 dari server ubuntu di sini.
  2. Lalu Burn iso Ubuntu ke CD
  3. Install ubuntuk di server :
  • Pada saat prompt boot pertama kali maka akan ditanya jenis bahasa yang akan digunakan. Pilih English.
  • Setelah itu pada proses berikutnya akan ditanya jenis layout keyboard, maka pilih US keyboard sebagai pilihan standar.
  • Program Iinstaller selanjutkan akan mencari jenis hardware yang digunakan lalu mengkonfigurasi hardware tersebut. selanjutnya system akan mengkonfigure seting network menggunakan DHCP. Karena Server menggunakan IP Statik maka isi parameter dengan IP yang sudah disediakan sbb :
    Ip Address : 10.10.10.1
    Netmask : 255.255.255.0
    Gateway : 10.10.10.254
    Dns Server : 10.10.10.1
  • Selanjutanya installer akan menanyakan system hostname dan Time Zone. Isi hostname dengan zimbra.glsship.com dan Time Zone dengan +7 Jakarta, Bangkok
  • Selanjutnya diminta untuk memilih beberpa option untuk mengkonfigurasi layout Harddisk. Pilih auto agar system mengkonfigure secara otomatis.
  • Selanjutnya Installer akan memformat Hard Disk dan melakukan proses Instalasi.
  • Setelah proses instalasi selanjutnya akan ditanyakan setup untuk user baru, user/account ini sudah mempunyai akses ke root dengan menggunakan utilitas sudo.
  • Selanjutnya akan muncul task option untuk menginstall atau tidak menginstall beberapa aplikasi. Untuk task secara detail bisa dilihat di  the section called “Package Tasks”.
  • Terakhir sebelum proses rebooting adalah menset clock ke UTC.
  • done

Package Tasks

Selama proses Instalasi Ubuntu Server Edition ada beberapa option untuk menginstall atau tidak menginstall beberapa paket opsional/tambahan dari CD. Paket tersebut adalah sbb:
  • DNS server: Pilih BIND DNS server dan dokumennya untuk menginstall DNS Server.
  • LAMP server: Pilih paket sudah jadi satu Linux/Apache/MySQL/PHP server untuk menjalankan apache, php dan mysql server.
  • Mail server: Task ini untuk memilih beberapa paket umum yang berguna untuk membangun sistem mail server.
  • OpenSSH server: Pilihan paket yang berguna untuk OpenSSH server.
  • PostgreSQL database: Pilihan task ini untuk menginstall paket client dan server PostgreSQL database.
  • Print server: Task ini untuk mensetup printer server.
  • Samba File server: Task ini untuk mensetup system sebagai Samba file server, yang mana bisa digunakan untuk sharing file sistem dalam suatu network antara Windows dan Linux.
Untuk instalasi paket yang mutakhir (untuk yang sudah mahir) bisa menggunakan utility tasksel. Salah satu fitur yang penting yang membedakan anatara Ubuntu (or Debian) dengan distribusi GNU/Linux yang lainnya. Dimana setelah paket diinstall juga akan dikonfigurasi secara default, biasanya akan muncul prompt yang memberikan informasi tambahan. Misalnya ketika paket diinstall maka paket tidak hanya diinstall tapi dikonfigure untuk memastikan service telah terinstall dan terintegrasi secara penuh.
Setelah proses instalasi selesai selanjutnya kita dapat melihat daftar task yang tersedia dengan mengetikkan perintah tersebut di terminal prompt:
tasksel --list-tasks
Kita juga dapat melihat paket yang sudah diinstall masing2 task dengan menggunakan option –task-packages. Sebagai contoh, untuk melihat daftar paket apa saja yang diinstall untuk DNS Server, masukkan perintah berikut di terminal :
tasksel --task-packages dns-server
Output dari perintah tersebut biasanya seperti berikut :
bind9-doc
bind9
Juga, apabila kita tidak menginstall salah satu task selama proses instalasi tapi sebagai contoh kita memutuskan untuk memasang LAMP Server sebuah DNS Server, maka caranya sangat mudah yaitu dengan memasukkan CD Instalasi lalu masukkan perintah berikut di terminal :
sudo tasksel install dns-server
maka paket dns server akan terinstall dan dikonfigure secara otomatis.






No comments: