Manajemen Log pada Debian Wheezy

Pada pos sebelumnya telah dibahas bagaimana memperkuat sistem operasi dengan konfigurasi kendali akses dan perbaruan. Setelah sistem operasi dikonfigurasi terhadap kendali akses maka langkah selanjutnya adalah memelihara sistem agar dapat dikenali perubahan konfigurasi ataupun kerawanan baru pada sistem melalui manajemen log. Sehingga jika terjadi kesalahan atau kerusakan pada sistem dapat diketahui penyebabnya dari informasi log.

Menurut NIST proses pemeliharaan keamanan meliputi:

  • monitoring dan analisis informasi log
  • melakukan backup rutin
  • pemulihan keamanan yang terkompromi
  • pengujian keamanan sistem rutin
  • menggunakan perangkat lunak yang sesuai untuk memperbarui aplikasi dan monitor perubahan konfigurasi

Pos ini akan membahas bagaimana mengenali manajemen log pada sistem operasi Debian Wheezy dan aplikasi peladen web serta mengkonfigurasi suatu peladen yang dijadikan sebagai peladen log.

Mengenali log pada sistem operasi

Log pada sistem operasi Debian Wheezy terletak pada direktori /var/log/. Kita dapat melihatnya dengan ketik dalam terminal:

$ls -l /var/log/
Direktori log
Direktori log

Terdapat beberapa log dalam sistem operasi Debian Wheezy yaitu:

Nama fasilitas Program apa yang direpresentasikan
MESSAGES log sistem secara keseluruhan mulai sistem berjalan.
DMESG informasi buffer kernel saat booting seperti perangkat keras yang dideteksi kernel.
AUTH informasi otorisasi sistem seperti login pengguna.
BOOT informasi saat sistem booting.
DAEMON log informasi oleh daemon yang berjalan di belakang sistem.
DPKG informasi yang mencatat pemasangan/penghapusan paket.
KERN log informasi kernel yang dapat membantu jika kustomisasi kernel.
LASTLOG informasi login pengguna terbaru dalam format non ASCII.
MAIL log informasi dari peladen surel yang berjalan dalam sistem.
USER informasi tingkatan seluruh pengguna.
ALTERNATIVES mencatat informasi pembaruan alternatif.
BTMP mencatat percobaan login yang gagal.
WTMP mencatat login untuk mencari tahu pengguna yang masuk dalam sistem dan menjalankan perintah.
FAILLOG informasi percobaan login pengguna yang gagal.
APACHE2 log dari peladen web apache.
Nama level Apa yang direpresentasikan
EMERG Kondisi darurat, biasanya di-broadcast ke semua pengguna.
ALERT Sebuah kondisi yang harus diperbaiki sesegera mungkin, seperti basis data sistem rusak.
CRIT Kondisi kritis, misalnya kesalahan pada perangkat keras.
ERR Kesalahan-kesalahan.
WARNING Pesan peringatan.
NOTICE Kondisi yang bukan merupakan kondisi salah, namun kemungkinan harus ditangani secara khusus.
INFO Pesan informatif.
DEBUG Pesan-pesan yang berisi informasi yang umumnya digunakan ketika men-debug program.
NONE Level khusus untuk menonaktifkan fasilitas.

Rotasi log

Pencatatan log dalam sistem akan membutuhkan sumber daya memori cakram penyimpanan yang bertambah. Untuk mengatasi masalah keterbatasan tersebut perlu dilakukan rotasi penyimpanan log sehingga log yang lama dan sudah tidak dibutuhkan dapat dihapus untuk kemudian diganti dengan log yang baru.

Konfigurasi rotasi log dapat dilihat pada berkas logrotate.conf dan direktori logrotate.d untuk mengaksesnya dalam terminal ketik:

$sudo nano /etc/logrotate.conf
Berkas konfigurasi rotasi log
Berkas konfigurasi rotasi log

Direktori logrotate.d menyimpan konfigurasi log yang khusus atau log dari aplikasi yang dipasang dalam sistem. Penjelasan lebih lengkap dari perintah konfigurasi rotasi log dapat dilihat pada terminal dengan ketik:

$man logrotate

Log MySQL

Aplikasi MySQL memiliki pencatatan log yang terpisah dari sistem operasi sama seperti log peladen Apache. Secara default, konfigurasi log MySQL belum berjalan setelah dipasang. Oleh karena itu, perlu dikonfigurasi dahulu sehingga sistem dapat mencatat log ketika MySQL berjalan.

Log yang ada dalam aplikasi MySQL antara lain:

Nama fasilitas Program apa yang direpresentasikan
ERROR LOG informasi kesalahan yang muncul saat peladen berjalan dan saat peladen mulai atau berhenti.
GENERAL QUERY LOG catatan umum yang dilakukan peladen seperti connect, disconnect, dan query.
SLOW QUERY LOG mencatat query.

Konfigurasi log MySQL dapat dilihat pada berkas my.cnf dengan ketik dalam terminal:

$sudo nano /etc/mysql/my.cnf
Berkas konfigurasi log MySQL
Berkas konfigurasi log MySQL

Error log dalam MySQL secara default akan tercatat pada syslog karena konfigurasi berkas /etc/mysql/conf.d/mysqld_safe_syslog.cnf. Namun untuk mengaktifkan General query log dan Slow query log dapat dilakukan dengan menghapus tanda komentar (#) pada berkas my.cnf.

Aktivasi log MySQL
Aktivasi log MySQL

Rotasi log MySQL dikonfigurasi pada berkas mysql-server dalam direktori logrotate.d. Dengan menyunting berkas tersebut dapat diatur bagaimana MySQL melakukan rotasi log setelah aktif. Untuk menyuntingnya ketik dalam terminal:

$sudo nano /etc/logrotate.d/mysql-server
Konfigurasi rotasi log MySQL
Konfigurasi rotasi log MySQL

Log Apache2

Aplikasi peladen web Apache2 memiliki direktori log di dalam direktori /var/log/ yang hanya dapat diakses oleh akun root. Untuk melihat catatan log Apache2 buka berkas access.log untuk catatan login dan error.log untuk kesalahan saat peladen berjalan dengan ketik dalam terminal:

#nano /var/log/apache2/access.log
Berkas access.log
Berkas access.log
#nano /var/log/apache2/error.log
Berkas error.log
Berkas error.log

Log akses pada WordPress

Aplikasi web WordPress membutuhkan suatu plugin sebagai perangkat yang membantu manajemen log akses pengguna. Plugin yang dibutuhkan sangat beragam, dalam studi ini dicontohkan dengan menggunakan WP Security Audit Log yang dapat diunduh pada tautan berikut (klik di sini).

Plugin akses pengguna
Plugin akses pengguna

Langkah pertama yaitu login pada akun WordPress dan buka halaman Plugin dari Dashboard. Selanjutnya klik Add New.

Halaman plugin
Halaman plugin

Halaman Add Plugin akan muncul, lalu klik Upload Plugin.

Halaman upload plugin
Halaman upload plugin

Klik Browse untuk mencari unduhan berkas plugin. Selanjutnya klik Install Now.

Cari berkas plugin yang diunduh
Cari berkas plugin yang diunduh

WordPress akan melakukan pemasangan yang selanjutnya diperlukan aktivasi plugin dengan klik Activate Plugin.

Aktivasi plugin
Aktivasi plugin

Setelah selesai aktivasi maka plugin yang telah dipasang dapat dilihat pada halaman Dashboard.

Plugin telah terpasang dan aktif
Plugin telah terpasang dan aktif

Log belum tercatat oleh plugin setelah pemasangan.

Log belum tercatat
Log belum tercatat

Keluar dari peladen WordPress lalu masuk kembali sebagai contoh pencatatan log pengguna.

Keluar dari WordPress
Keluar dari WordPress

Setelah pengguna berhasil masuk WordPress maka dari halaman Dashboard sudah dicatat oleh log.

Log akun pengguna
Log akun pengguna

Penjelasan lebih lengkap log yang dicatat ada pada halaman Audit Log.

Halaman audit log
Halaman audit log

Log remot

Manajemen log dalam suatu sistem yang terintegrasi memiliki beberapa tipe metode antara lain:

  • log pada peladen yang sama sehingga setiap catatan disimpan dalam direktori lokal peladen.
  • log relay antara dua atau lebih cabang peladen yang kemudian setiap cabang mengirimkan log ke pusat data log
  • log remot pada satu peladen log yang menerima seluruh log dari setiap peladen lainnya.

Log remot memudahkan administrator untuk memantau setiap peladen hanya dari satu peladen log. Dalam beberapa sistem operasi linux seperti Debian dan Red Hat memiliki fitur log remot yaitu rsyslog. Fitur rsyslog akan dikonfigurasi sehingga terdapat satu peladen log yang menerima log dari peladen lainnya.

Dalam studi ini, terdapat peladen Debian yang bertindak sebagai peladen log dan peladen Ubuntu sebagai klien log. Hal yang diperlukan adalah memastikan bahwa konfigurasi jaringan membolehkan koneksi menggunakan protokol UDP pada port 514 antar peladen. Selanjutnya instalasi kebutuhan paket di setiap peladen dengan ketik dalam terminal:

$sudo apt-get install rsyslog rsyslog-doc

Konfigurasi rsyslog terdapat pada berkas /etc/ryslog.conf dan direktori /etc/rsyslog.d/. Misalkan alamat IP peladen log adalah 192.168.56.10 dan klien 192.168.56.11 maka terlebih dahulu salin konfigurasi awal rsyslog peladen log dengan ketik dalam terminal:

$cd /etc/

Masuk dalam direktori /etc/ lalu

$sudo cp rsyslog.conf rsyslog.conf.orig

Sunting berkas

$sudo nano rsyslog.conf

Tambahkan baris perintah

# provides support for local system logging
$ModLoad imuxsock 

# provides kernel logging support (previously done by rklogd)
$ModLoad imklog

# provides UDP syslog reception. For TCP, load imtcp.
$ModLoad imudp

# For TCP, InputServerRun 514
$UDPServerRun 514

# This one is the template to generate the log filename dynamically, depending on the client's IP address.
$template FILENAME,"/var/log/192.168.56.11/syslog.log"

# Log all messages to the dynamically formed file. Now each clients log (192.168.1.2, 192.168.1.3,etc...), will be under a separate directory which is formed by the template FILENAME.
*.* ?FILENAME

Mulai ulang layanan rsyslog dengan perintah:

$sudo service rsyslog restart

Lakukan hal yang sama terhadap konfigurasi klien log dengan menambahkan baris perintah

$ModLoad imuxsock

$ModLoad imklog

# Provides UDP forwarding. The IP is the server's IP address
*.* @192.168.56.10:514 

# Provides TCP forwarding. But the current server runs on UDP
# *.* @192.168.56.10:514

Mulai ulang layanan rsyslog dengan perintah:

$sudo service rsyslog restart

Karena simulasi ini menggunakan VirtualBox maka di dalam direktori /var/log/ terdapat direktori alamat IP virtual. Untuk melihat log dari klien, akses direktori alamat IP dengan root peladen log dengan ketik dalam terminal:

#tail -f /var/log/192.168.43.44/syslog.log

Maka akan ada tambahan log jika klien melakukan sesuatu seperti login dan logout.

Log klien awal
Log klien awal
Log klien selanjutnya
Log klien selanjutnya

Instalasi WordPress di Sistem Operasi Debian Wheezy

Pada pos ini dibahas bagaimana membuat suatu aplikasi web berbasis WordPress pada sistem operasi Debian Wheezy. WordPress adalah aplikasi web blog yang gratis dan open source sehingga memiliki sumber daya yang luas dan dapat dijadikan pembelajaran manajemen peladen.

Langkah awal untuk instalasi WordPress yaitu menyiapkan beberapa berkas dan konfigurasi peladen web yang dikenal dengan Linux, Apache, MySQL, PHP (LAMP). Apache adalah aplikasi peladen web yang digunakan oleh WordPress. MySQL adalah sistem basis data yang digunakan WordPress untuk menyimpan informasi. PHP merupakan bahasa pemrograman peladen untuk koneksi sumber daya WordPress.

Langkah 1 – Instal Apache

Buka terminal dan ketik:

$sudo apt-get install apache2

Lalu periksa apakah aplikasi peladen telah berjalan dengan membuka web browser dan akses alamat peladen, misalkan 192.168.56.10 sehingga didapatkan hasil seperti pada gambar:

Hasil instalasi Apache
Hasil instalasi Apache

Langkah 2 – Instal MySQL

Buka terminal dan ketik:

$sudo apt-get install mysql-server

Saat instalasi MySQL berjalan akan ditanyakan untuk kata sandi root MySQL. Kata sandi tersebut akan digunakan untuk manajemen basis data sehingga tidak boleh lupa. Ketik dalam terminal untuk menyelesaikan instalasi:

$sudo mysql_secure_installation

Pada langkah ini akan ditanyakan beberapa konfigurasi untuk mengamankan MySQL sehingga masuk sebagai root dan ikuti pertanyaan yang diberikan seperti:

By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them.  This is intended only for testing, and to make the installation go a bit smoother.  You should remove them before moving into a production environment.

Remove anonymous users? [Y/n] y                                            
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

Langkah 3 – Instal PHP

Buka terminal dan ketik:

$sudo apt-get install php5 php-pear php5-mysql

Setelah instalasi selesai, mulai ulang peladen web dengan ketik:

$sudo service apache2 restart

Untuk memeriksa apakah PHP telah berjalan, buatlah berkas inforamsi dengan menyunting:

$sudo nano /var/www/info.php

Lalu isi dengan kode berikut:

<?php
phpinfo();
?>

Simpan berkas dan keluar dari terminal. Akses dalam web browser alamat:

http://192.168.56.10/info.php

Hasilnya dapat dilihat sebagai berikut:

Hasil instalasi PHP
Hasil instalasi PHP

Langkah 4 – Unduh WordPress

Unduh berkas WordPress dengan ketik dalam terminal:

$wget http://wordpress.org/latest.zip

Ekstrak berkas sehingga didapatkan direktori WordPress dengan perintah:

$unzip latest.zip

Langkah 5 – Membuat Akun Pengguna dan Basis Data WordPress

Masuk sebagai root MySQL menggunakan kata sandi sebelumnya untuk membuat akun pengguna dan basis data dengan ketik dalam terminal:

mysql -u root -p

Pada tahap ini akan dibuat basis data untuk WordPress dengan nama wpdatabase, ketik:

CREATE DATABASE wpdatabase;

Lalu buatlah akun pengguna yang dapat mengakses basis data WordPress, ketik:

CREATE USER wpuser@localhost;

Atur kata sandi untuk mengakses basis data WordPress, ketik:

SET PASSWORD FOR wpuser@localhost= PASSWORD("dbpassword");

Berikan wewenang kepada akun pengguna agar dapat mengakses basis data WordPress, ketik:

GRANT ALL PRIVILEGES ON wpdatabase.* TO 
wpuser@localhost IDENTIFIED BY 'dbpassword';

Akhiri basis data dengan ketik:

FLUSH PRIVILEGES;

Untuk keluar dari MySQL, ketik:

exit

Langkah 6 – Konfigurasi WordPress

Buatlah berkas konfigurasi WordPress dari contoh dengan ketik dalam terminal:

cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php

Sunting berkas konfigurasi dengan ketik dalam terminal:

sudo nano ~/wordpress/wp-config.php

Cari baris kode yang memiliki informasi sebagai berikut lalu ganti dengan konfigurasi basis data WordPress:

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wpdatabase');

/** MySQL database username */
define('DB_USER', 'wpuser');

/** MySQL database password */
define('DB_PASSWORD', 'dbpassword');

Simpan berkas lalu keluar.

Langkah 7 – Salin Direktori WordPress

Salinlah direktori WordPress ke dalam direktori peladen dengan ketik dalam terminal:

$sudo cp -R ~/wordpress/* /var/www/

Lalu atur izin direktori menggunakan akun pengguna sistem operasi Debian Wheezy dengan masuk dalam direktori:

$cd /var/www/

Berikan izin pada akun pengguna dengan ketik:

sudo chown www-data:www-data /var/www/* -R 
sudo usermod -a -G www-data akunpengguna

Langkah 8 – Akses WordPress

Sebelum mengakses WordPress menggunakan web browser, ganti berkas indeks peladen web sehingga membaca berkas indeks WordPress dengan ketik dalam terminal:

$sudo mv /var/www/index.html /var/www/index.html.orig

Selanjutnya WordPress dapat diakses menggunakan web browser dengan alamat peladen web hingga memulai konfigurasi seperti pada gambar berikut ini:

Akses WordPress pada web browser
Akses WordPress pada web browser
Konfigurasi halaman WordPress
Konfigurasi halaman WordPress
Konfigurasi halaman selesai
Konfigurasi halaman selesai
Masuk sebagai akun web WordPress
Masuk sebagai akun web WordPress
Tampilan web admin
Tampilan web admin
Tampilan web WordPress
Tampilan web WordPress

Hardening Sistem Operasi Debian Wheezy – SELinux

Pos ini akan membahas bagaimana instalasi SELinux pada sistem operasi Debian Wheezy. Security-Enhanced Linux (SELinux) merupakan proyek implementasi kendali akses wajib pada sistem operasi berbasis Linux. Proyek ini awalnya dikembangkan oleh National Security Agency (NSA) sebagai implementasi dari kebijakan keamanan yang dapat dikendalikan secara terpusat. Desain SELinux merupakan modul keamanan kernel Linux yang memberikan penilaian kendali akses kepada komunitas Linux dan bagaimanan kendali keamanan dapat ditambahkan dalam sistem operasi.

Kendali akses wajib adalah jenis kendali akses pada sistem operasi yang membatasi kemampuan subjek untuk mengakses beberapa operasi pada suatu objek atau target. Secara praktis, subjek yang dimaksud adalah suatu proses atau perintah, sedangkan objek dapat berupa berkas, direktori, port TCP/UDP, dan perangkat IO. Setiap subjek dan objek memiliki kumpulan atribut keamanan, misalnya ketika suatu subjek mencoba untuk mengakses suatu objek maka aturan otorisasi dilakukan oleh kernel sistem operasi dengan memeriksa atribut keamanannya dan menentukan apakah akses tersebut sesuai dengan kebijakan yang diterapkan.

Sistem operasi Linux memiliki kendali akses standar, seperti mode akses berkas (-rwxr-xr-x) yang dapat dimodifikasi oleh pengguna dan aplikasi yang dijalankan. Sedangkan kendali akses SELinux ditentukan dengan kebijakan yang diterapkan dalam sistem dan tidak boleh diganti oleh pengguna biasa.

Berikut ini adalah langkah-langkah instalasi dan konfigurasi SELinux:

  • Pastikan bahwa sistem operasi menggunakan kernel linux standar yang diberikan Debian seperti ext2/3/4 sehingga SELinux memiliki kapabilitas terhadap kernel dan sistem berkas.
  • Instal SELinux dasar dan kebijakan wajibnya dengan ketik dalam terminal:
$sudo apt-get install selinux-basics selinux-policy-default auditd
  • Jalankan SELinux untuk mengkonfigurasi GRUB dan PAM dengan ketik dalam terminal:
$sudo selinux-activate
  • Mulai ulang sistem operasi sehingga saat proses booting SELinux melakukan konfigurasi dan memulai ulang sistem secara otomatis hingga proses selesai.
  • Ketik dalam terminal untuk memeriksa konfigurasi SELinux telah benar dan mengetahui jika terjadi kesalahan. (Catatan: pada sistem operasi Debian Wheezy terdapat peringatan tentang /etc/pam.d/login dan merupakan alarm positif palsu)
$sudo check-selinux-installation
Memeriksa instalasi SELinux
Memeriksa instalasi SELinux
  • Periksa status dengan ketik dalam terminal:
$sudo sestatus
  • Penjelasan atribut keamanan status sistem dapat dilihat dengan ketik dalam terminal:
$sudo audit2why -al
  • Secara umum, SELinux diatur pada mode permisif sehingga untuk diatur pada mode paksa dilakukan dengan ketik dalam terminal:
$sudo setenforce 1
  • Untuk mengatur paksaan kebijakan SELinux dilakukan dengan menambahkan pada berkas /etc/default/grub:
enforcing=1
  • Mulai ulang sistem untuk memperbarui konfigurasi.

 

“Main Page – SELinux Wiki.” [Online]. Available: http://selinuxproject.org/page/Main_Page.

“SELinux – Debian Wiki.” [Online]. Available: https://wiki.debian.org/SELinux.

“SELinux/Setup – Debian Wiki.” [Online]. Available: https://wiki.debian.org/SELinux/Setup.

Hardening Sistem Operasi Debian Wheezy – Manajemen

Manajemen pengguna, patch, dan service diperlukan untuk menutup celah keamanan yang mungkin ada serta dapat mengurangi layanan yang tidak dibutuhkan dalam sistem. Proses pertama adalah menambahkan akun pengguna yang berbeda sehingga direktori dan wewenang setiap pengguna dapat diatur.

Buka terminal dan masuk sebagai root dengan ketik:

$su

Misalkan ditambahkan akun pengguna userlab maka ketik:

#adduser userlab

Masukan kata sandi untuk akun userlab dan verifikasi dengan benar. Lalu tambahkan informasi lainnya yang dibutuhkan. Jika akun userlab ingin ditambahkan sehingga memiliki wewenang seperti root maka perlu ditambahkan dalam grup sudo dengan ketik:

#adduser userlab sudo

Hasilnya dapat dilihat pada gambar berikut ini:

Proses manajemen pengguna
Proses manajemen pengguna

Untuk melihat kapabilitas grup sudo dapat dibuka pada file sudoers dengan ketik:

#nano /etc/sudoers
Isi berkas /etc/sudoers
Isi berkas /etc/sudoers

Dapat dilihat bahwa grup sudo memiliki wewenang yang sama dengan root.

Proses kedua yaitu manajemen patch dapat diatur dengan konfigurasi repositori untuk memperbarui aplikasi dan sistem agar memiliki fitur dan konfigurasi baru yang lebih baik dan aman. Konfigurasi repositori dapat dilakukan dengan menyunting berkas source.list, ketik dalam terminal:

#nano /etc/apt/sources.list

Konfigurasi repositori dapat diambil dari berbagai peladen bergantung pada konektivitas yang lebih handal seperti FTP ITB atau Kambing UI.

Konfigurasi repositori
Konfigurasi repositori

Berikan tanda pagar (#) pada setiap awal baris untuk menonaktifkan sistem membaca konfigurasi sehingga menjadi komentar. Lalu tambahkan baris baru dan isi dengan:

# Repositori ITB
deb http://ftp.itb.ac.id/pub/Debian/ wheezy main contrib non-free
deb http://ftp.itb.ac.id/pub/Debian/ wheezy-backports main contrib non-free
deb http://ftp.itb.ac.id/pub/Debian/ wheezy-backports-sloppy main contrib non-free
deb http://ftp.itb.ac.id/pub/Debian/ wheezy-updates main contrib non-free
deb http://ftp.itb.ac.id/pub/Debian/ wheezy-proposed-updates main contrib non-free

# Repositori UI
deb http://kambing.ui.ac.id/debian/ wheezy main contrib non-free
deb http://kambing.ui.ac.id/debian/ wheezy-backports main contrib non-free
deb http://kambing.ui.ac.id/debian/ wheezy-backports-sloppy main contrib non-free
deb http://kambing.ui.ac.id/debian/ wheezy-updates main contrib non-free
deb http://kambing.ui.ac.id/debian/ wheezy-proposed-updates main contrib non-free

Simpan berkas dengan tekan Ctrl+X lalu Y dan Enter. Selanjutnya sistem dapat membaca konfigurasi repositori dengan ketik dalam terminal sebagai akun pengguna:

$sudo apt-get update
Sistem membaca konfigurasi repositori
Sistem membaca konfigurasi repositori

Setelah membaca konfigurasi maka perbarui dengan ketik:

$sudo apt-get upgrade
Sistem memperbarui
Sistem memperbarui

Jika terdapat anjuran terhadap suatu aplikasi atau paket yang perlu diperbarui maka tekan Y lalu Enter sehingga proses pemasangan berjalan.

Proses ketiga adalah manajemen layanan yang berjalan pada sistem. Tidak semua layanan yang berjalan kita butuhkan karena dapat menjadi celah keamanan sehingga perlu dinonaktifkan. Untuk mengetahui layanan yang sedang berjalan dalam sistem ketik dalam terminal:

$netstat -a
Hasil netstat -a
Hasil netstat -a

Perhatikan layanan yang berjalan dan cari informasi layanan yang tidak diperlukan dari berbagai blog dan forum di internet. Misalkan layanan sunrpc akan dinonaktifkan maka pasang paket rcconf dengan ketik dalam terminal:

$sudo apt-get install rcconf

Jalankan aplikasi rcconf sebagai root dengan ketik dalam terminal:

#rcconf

Lalu hilangkan tanda * pada paket rpcbind seperti pada gambar berikut ini:

Menonaktifkan rpcbind
Menonaktifkan rpcbind

Pilih <Ok> lalu Enter dilanjutkan dengan mengulang kembali sistem. Setelah sistem menyala periksa dengan ketik dalam terminal:

$netstat -a

Maka layanan sunrpc telah non aktif seperti pada gambar berikut ini:

Hasil netstat -a baru
Hasil netstat -a baru

Hardening Sistem Operasi Debian Wheezy – Instalasi

Pada pos ini akan dibahas mengenai proses penguatan (hardening) sistem operasi Debian (codename Wheezy) yang mengikuti anjuran pada Chapter 12.6 [1]. Post dibagi menjadi 4 bagian yaitu:

  1. Instalasi dalam lingkungan VirtualBox
  2. Manajemen pengguna, patch, dan service
  3. Instalasi SELinux
  4. Instalasi peladen web WordPress

Pada studi ini menggunakan sistem operasi Ubuntu 14.04 sebagai host dan Debian sebagai guest dalam VirtualBox. Unduh sistem operasi Debian dari FTP ITB (tautan), sebagai contoh unduh untuk versi 64 bit. Unduh VirtualBox dari https://www.virtualbox.org/ dengan cara buka terminal Ubuntu lalu ketik:

sudo apt-get install virtualbox

Setelah selesai instalasi, buka VirtualBox dan buatlah virtual machine baru menggunakan iso yang telah diunduh. Ikuti dan isilah informasi yang dibutuhkan sesuai keinginan.

Memulai Proses Instalasi Debian
Memulai proses instalasi Debian

Beberapa hal yang perlu menjadi perhatian ditunjukkan pada gambar berikut ini:

Tentukan sandi untuk root yang baik dan kompleks
Masukan kata sandi untuk root yang baik dan kompleks
Verifikasi sandi root dengan benar
Verifikasi kata sandi root dengan benar
Tidak dapat membuat akun pengguna dengan nama admin
Tidak dapat membuat akun pengguna dengan nama admin
Membuat akun pengguna dengan nama user
Membuat akun pengguna dengan nama user
Masukkan sandi untuk akun user
Masukan kata sandi untuk akun user
Pilih partisi dengan enkripsi
Pilih partisi dengan enkripsi
Pisahkan direktori /home/
Pisahkan partisi direktori /home/
Proses instalasi berjalan
Proses partisi berjalan
Masukkan frasa sandi untuk booting
Masukan frasa sandi untuk booting
Pesan kesalahan jika verifikasi frasa sandi salah
Pesan kesalahan jika verifikasi frasa sandi salah
Proses partisi selesai dan lakukan format pada cakram
Proses partisi selesai dan lakukan format pada cakram
Pilih untuk instalasi minimal tanpa GUI
Pilih untuk instalasi desktop dengan atau tanpa GUI
Proses booting dengan frasa sandi
Proses booting dengan frasa sandi
Masuk sebagai user
Masuk sebagai user

Proses instalasi selesai.


[1] W. Stallings and L. Brown, Computer Security: Principles and Practice. Pearson Education, 2012.

Strategi Mitigasi #27 – Pembatasan Akses pada Server Message Block (SMB) dan NetBIOS

Mitigasi

Membatasi akses pada layanan Server Message Block1 (SMB) dan NetBIOS yang berjalan pada stasiun kerja dan peladen.

Dasar Pemikiran

Strategi mitigasi ini pada utamanya membantu mitigasi pengintaian internal dan propagasi jaringan sebagai bagian tahap kedua dalam instrusi siber.

Panduan Implementasi

Akses pada layanan ini dapat dibatasi dengan menggunakan firewall atau menonaktifkan layanan yang tidak dibutuhkan.

Informasi Lebih Lanjut

Kontrol ISM : 0520, 1182.


1In computer networking, Server Message Block (SMB), one version of which was also known as Common Internet File System (CIFS, /ˈsɪfs/), operates as an application-layer network protocol mainly used for providing shared access to files, printers, serial ports, and miscellaneous communications between nodes on a network.

Strategi Mitigasi #26 – Kontrol Media Portable dan Removable

Mitigasi

Kontrol media portable dan removable sebagai bagian strategi pencegahan kehilangan data meliputi penyimpanan, penanganan, perangkat USB yang diperbolehkan, enkripsi, dan penghancuran.

Dasar Pemikiran

Penggunaan media yang dikontrol dan akuntabel mengurangi risiko eksekusi malware dan kebocoran data yang tidak berhak. Perangkat penyimpanan USB yang terinfeksi dengan malware telah terdistribusi oleh banyak vendor pada beberapa konferensi keamanan IT Australia. Sebagai tambahan, para penguji penetrasi telah mengetahui penyebaran perangkat penyimpanan USB jahat, CD, dan DVD pada tempat parkir target pengguna.

Panduan Implementasi

Mengikuti kebijakan dan proses media transfer yang kuat ketika menggunakan media portable untuk mengirimkan data antara stasiun kerja dan peladen, khususnya jika terletak pada jaringan atau dalam domain keamanan yang berbeda.

Informasi Lebih Lanjut

Kontrol ISM : 0161‐0162, 0322‐0323, 0325, 0330‐0335, 0336, 0337‐0338, 0341‐0345, 0346, 0347, 0348, 0831‐0832, 1059, 0350, 0351‐0353, 0354, 0356‐0357, 0358‐0360, 0835, 0836, 0947, 1065‐1068, 0361, 0362, 0363‐0364, 0366, 0368, 0370‐0373, 0838, 0839‐0840, 1160, 1360, 1361, 1069, 0329, 0374, 0375, 0378, 0159, 1169, 1347, 1359.

Strategi Mitigasi #25 – Kebijakan Kata Sandi yang Kuat

Mitigasi

Kebijakan kata sandi yang kuat meliputi kompleksitas, panjang, waktu kadaluarsa, dan menghindari penggunaan ulang kata sandi serta kata dalam kamus.

Kebijakan ini sangat penting untuk akun layanan dan akun lainnya dengan kewenangan administratif.

Dasar Pemikiran

Hal ini menjadi tantangan bagi lawan siber untuk memecahkan hash kata sandi dan memaksa masuk dalam jaringan organisasi sebagai tahap kedua instrusi siber jika kata sandi yang rumit, panjang, dan menggunakan algoritma kriptografi hash yang kuat.

Panduan Implementasi

Penggunaan media brankas kata sandi terkonfigurasi dan aman dapat membantu penyimpanan dan pengaturan kata sandi rumit yang banyak.

Informasi Lebih Lanjut

Kontrol ISM : 0417, 0421‐0422, 0423‐0426.

Strategi Mitigasi #24 – Perkuatan Konfigurasi Aplikasi Peladen

Mitigasi

Melakukan perkuatan konfigurasi aplikasi peladen seperti database, aplikasi web, manajemen pelanggan, keuangan, sumber daya manusia, dan sistem penyimpanan data lainnya.

Dasar Pemikiran

Perkuatan konfigurasi aplikasi peladen membantu suatu organisasi untuk menjalankan bisnis dengan mengurangi risiko terhadap akses, pencurian, kebocoran, korupsi, dan kehilangan data.

Panduan Implementasi

Petunjuk berdasarkan OWASP dapat membantu mitigasi kerawanan aplikasi web seperti injeksi SQL. Petunjuk tersebut mencakup ulasan kode, validasi data, dan sanitisasi, manajemen pengguna dan sesi, proteksi data selama pengiriman dan penyimpanan, penanganan kesalahan, otentikasi pengguna, pencatatan, dan audit.

Informasi Lebih Lanjut

Petunjuk lebih lanjut dalam mengamankan aplikasi web terdapat pada : http://www.asd.gov.au/publications/csocprotect/protecting_web_apps.htm

Kontrol ISM : 0401, 0971, 0393, 1244‐1253, 1254‐1278.

Strategi Mitigasi #23 – Menolak Akses Internet Langsung dari Stasiun Kerja

Mitigasi

Menolak akses internet langsung dari stasiun kerja dengan menggunakan firewall berkemampuan IPv6 untuk memaksa trafik melewati peladen DNS terpisah, peladen surel, atau peladen proxy yang terotentikasi.

Dasar Pemikiran

Malware yang digunakan dalam intrusi siber dengan teknologi yang rendah dapat digagalkan untuk menyusupkan data dan beroperasi dengan benar jika mengharapkan konektivitas internet langsung dan karena itu tidak mampu untuk melewati gateway internet organisasi, sehingga dapat dideteksi dan diblok percobaan untuk mengakses internet langsung yang tidak berhak.

Panduan Implementasi

Firewall seharusnya hanya dapat memperbolehkan port dan protokol jaringan yang dibutuhkan untuk fungsi bisnis.

Implementasikan web proxy yang menginspeksi trafik SSL untuk konten jahat, khususnya komunikasi SSL dengan situs tidak dikenal.

Lebih baik konfigurasi stasiun kerja tanpa kemampuan routing jaringan untuk membantu mendeteksi malware yang mencoba akses internet, sebagai catatan bahwa beberapa aplikasi legal atau fungsi sistem operasi dapat membangkitkan alarm false positive.

Informasi Lebih Lanjut

Kontrol ISM : 0569, 0260-0261, 0996, 0263, 0841-0842, 0385, 0953, 0628, 0631, 0639.