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.

Strategi Mitigasi #22 – Perangkat Lunak Antivirus Menggunakan Penilaian Reputasi yang Heuristik dan Otomatis Berbasis Internet

Mitigasi

Mengimplementasikan perangkat lunak antivirus menggunakan penilaian reputasi yang heuristik dan otomatis berbasis internet untuk memeriksa kelaziman suatu program dan kepercayaan tanda tangan digitalnya sebelum dieksekusi. Secara spesifik, hal ini meliputi pemeriksaan kelaziman suatu file di kalangan pengguna internet, dan pemeriksaan apakah file ditandatangani secara digital menggunakan sertifkat vendor yang terpandang dan belum kadaluarsa atau dicabut.

Dasar Pemikiran

Perangkat lunak antivirus membantu untuk mencegah, mendeteksi, dan menghapus malware seperti virus komputer, worm, trojan, spyware, dan adware.

Panduan Implementasi

Mengkonfigurasi kemampuan analisis tingkah laku heuristik untuk mendapatkan keseimbangan antara mengidentifikasi malware, tanpa memberikan dampak negatif kepada pengguna dan tim penanganan insiden organisasi yang disebabkan oleh alarm false positive1.

Pemindaian file ketika diakses dan dalam waktu yang terjadwal.

Proteksi titik akhir atau perangkat lunak anti-malware dari beberapa vendor meliputi fungsional penilaian reputasi yang heuristik dan otomatis berbasis internet.

Informasi Lebih Lanjut

Kontrol ISM : 0380, 1033, 1288, 1390.


1false positive is an error in data reporting in which a test result indicates that a condition – such as a disease – is present (the result is positive), but it is not present (the result is false).

Strategi Mitigasi #21 – Manajemen Konfigurasi Stasiun Kerja dan Peladen

Mitigasi

Melakukan manajemen konfigurasi stasiun kerja dan peladen berdasarkan lingkungan operasi standar yang diperkuat, menonaktifkan fungsional yang tidak dibutuhkan/diinginkan seperti IPv6, autorun, dan LanMan1.

Dasar Pemikiran

Keuntungan dari stasiun kerja dan peladen yang memiliki konsistensi pengaturan konfigurasi meliputi :

  • Kemampuan untuk mendeteksi perangkat lunak anomali pada stasiun kerja dan peladen dengan memonitor perubahan dari petunjuk standar – mengimplementasikan aplikasi yang diperbolehkan, walaupun dikonfigurasi dalam mode “audit”/”logging”, dapat memberikan kemampuan tersebut.
  • Administrator jaringan mengetahui perangkat lunak apa saja yang digunakan dalam jaringan, membantu untuk menentukan aktivitas jaringan normal/dasar yang diharapkan.
  • Membantu penilaian tingkat kesulitan kerawanan yang baru.
  • Kemampuan untuk memulihkan stasiun kerja atau peladen pada kondisi awal secepatnya.

Panduan Implementasi

Perkuat izin file dan registry, sebagai contoh jika memungkinkan, mencegah pengguna (maupun malware berjalan tanpa diketahui pengguna) dari eksekusi dalam sistem yang biasa digunakan untuk pengintaian seperti disebutkan pada Strategi Mitigasi #15 (Mitigation Strategy #15 – Centralised and time‐synchronised logging of successful and failed computer events).

Mengkonfigurasi layanan Windows Task Scheduler untuk mencegah stasiun kerja pengguna dari pembuatan tugas terjadwal (khususnya pada peladen) untuk mengeksekusi program jahat.

Mengkonfigurasi algoritma pencarian DLL untuk membantu mitigasi file DLL jahat yang ditanamkan2.

Informasi Lebih Lanjut

Lembaga pemerintah Australia dapat mengakses suatu lingkungan operasi standar Windows 7 SP1 membangun petunjuk sebagai bagian dari Australian Government Common Operating Environment pada http://agict.gov.au/policy‐guides‐procurement/common‐operating‐environment‐coe‐policy.

Kontrol ISM : 0380, 0382, 0383, 0341, 1055.


1LM hash, LanMan hash, or LAN Manager hash is a compromised password hashing function that was the primary hash that Microsoft LAN Manager and Microsoft Windows versions prior to Windows NT used to store user passwords.

Install WordPress di Ubuntu Server 14.04

wordpressUbuntu
WordPress Ubuntu

Persyaratan:

Instalasi MySQL dan PHP untuk wordpress

Sebelum anda menginstall wordpress anda membutuhkan  LAMP (Linux, Apache, MySQL, and PHP). Cara menginstall LAMP di Ubuntu 14.04 :

Install Apache

Apache merupakan web server untuk hosting website kita.

Kita dapat menginstall  Ubuntu’s package manager dengan perintah apt.

Ketik perintah sebagai berikut:

sudo apt-get update
sudo apt-get install apache2

Webserver telah terinstall. Tampilannya jika benar seperti ini:

TampilanApache
TampilanApache

Anda dapat mengecek dengan melihat alamat IP public server anda di web browser.

http://your_server_IP_address
http://127.0.0.1

Server ip address anda bias berupa localhost: 127.0.0.1

Install MySQL

MySQL adalah system manajemen database. MySQL akan mengelola dan menyediakan akses ke database dimana

Ketikkan perintah sebagai berikut:

sudo apt-get install mysql-server php5-mysql

Selama instalasi, anda diminta untuk memilih sebuah password untuk MYSQL “root” user. Ini adalah sebuah akun administrator dalam MySQL.

Setelah instalasi selesai, kita harus menjalankan beberapa perintah tambahan untuk membuat lingkungan MySQL menjadi aman. Ketik perintah:

sudo mysql_install_db

Setelah itu, kita menjalankan sebuah kemanan untuk menghapus beberapa default berbahaya dan mengunci akses ke system database kita. Ketik perintah

sudo mysql_secure_installation

Anda kemudian akan ditanya tentang password untuk akun root MySQL. Jika anda setuju dengan password yang sudah anda buat dilangkah sebelumnya, ketik “n” pada command prompt terminal. Tekan “Enter” untuk pertanyaan-pertanyaan berikutnya sebagai default instalasi. Sampai dengan tahap ini anda telah menginstall MySQL.

Instalasi PHP

PHP adalah  komponen untuk proses kode untuk menampilkan konten yang dinamis. PHP dapat menjalankan script, koneksi ke  database MySQL untuk mendapatkan informasi, dan menampilka konten yang diproses ke tampilan di web server.

Ketik perintah:

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

Kita ingin memodifikasi bahwa Apache melayani file ketika sebuah direktori diminta. Dasarnya, jika sebuah user meminta sebuah direktori dari server, Apache pertamakali akan melihat sebuah file dengan nama  index.html.

Kita ingin web server untuk menggunakan file PHP, sehingga Apache akan melihat pertama kali pada file index.php

Untuk melakukan ini, kita harus membuka file dir.conf pada teks editor, ketik perintah:

sudo nano /etc/apache2/mods-enabled/dir.conf

Maka akan tampil seperti dibawah ini:

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

Kita ingin memindahlkan  file index PHP ke posisi pertama pada  DirectoryIndex , seperti dibawah ini:

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

Setelah selsai, simpan dan tutup file tersebut dengan menekan “CTRL-X”. Anda akan diminta konfirmasi untuk menyimpan file, tekan “Y” dan kemudian tekan “ENTER”.

Restart Apache, ketik perintah ini:

sudo service apache2 restart

Setelah anda melakukan instalasi Apache, MySQL, dan PHP maka anda dapat melanjutkan langkah di bawah ini:

Langkah 1 — Database MySQl dan User untuk WordPress

Setelah anda meginstall MySql, log into MySQL root dengan perintah sebagai berikut:

mysql -u root -p

Pertama, buat database WordPress contohnya dengan nama wordpress. Ketikkan perintah sebagai berikut:

CREATE DATABASE wordpress;

Buat akun dengan nama wordpressuser dan buat password dengan nama  password. Catatan: akun dan password dapat anda pilih terserah anda. Ketikkan perintah sebagai berikut:

CREATE USER wordpressuser@localhost IDENTIFIED BY 'password';

Anda telah memiliki database dan akun user tetapi belum memiliki relationship dan user belum memiliki akses ke database.

Untuk memberikan akses pada user ke database yang tadi telah dibuat, ketikkan perintah sebagai berikut;

GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost;

Now the user has access to the database. We need to flush the privileges so that the current instance of MySQL knows about the recent privilege changes we’ve made:

User telah punya akses ke database. Kita perlu flush privileges sehingga MySQL mengetahui perubahan privileges yang telah kita buat , dengan mengetikkan perintah sebagai berikut:

FLUSH PRIVILEGES;

Exit mysql;

exit;

Langkah 2- Download WordPress

Download wordpress yang paling up-to-date, dengan mengetikkan perintah

cd ~
wget http://wordpress.org/latest.tar.gz

Esktraksi file wordpress yang dikompres ke direktori home

tar xzvf latest.tar.gz

Maka wordpress akan ada di direktori home

Beberapa package yang perlu diinstall agar wordpress berkerja dengan images, install plugin dan update website dengan login SSH, maka kita ketikkan perintah dibawah ini

sudo apt-get update
sudo apt-get install php5-gd libssh2-php

Langkah 3- Konfigurasi WordPress

Mulai dengan pindahkan direktori WordPress yang telah diunpack tadi

cd ~/wordpress

Kita harus menyalin sample configuration ke default configuration supaya WordPress mengenali file. Ketikkan perintah sebagai berikut:

cp wp-config-sample.php wp-config.php

Kita ubah default configuration, ketik:

sudo nano wp-config.php

Kita harus menemukan settings untuk DB_NAME, DB_USER, and DB_PASSWORD supaya WordPress dapat terhubung dan terotentikasi dengan database yang telah kita buat.

Masukkan nilai dari parameters dengan infromasi untuk database yang telah anda buat sebelumnya. Tampilannya harusnya seperti ini:

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

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

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

Langkah 4 – Salin File ke Document Root

Setelah kita konfigurasi WordPress, selanjutnya kita menyalin ke Apache’s Document Root agar pengunjung dapat mengunjungi website kita

Salah satu cara untuk transfer file dari direktori ke direktori dengan perintah rsync

Lokasi dari Apache’s document root di var/www/html.  Kita dapat menyalin direktori Wordpres yang diunpack di langkah sebelumnya ke direktori var/www/html, ketik:

sudo rsync -avP ~/wordpress/ /var/www/html/

Kita ke document root untuk melakukan perubahan permissions, ketik

cd /var/www/html/

Kita akan merubah ownership dari file wordpress kita untuk meningkatkan keamanan. Kita aan memberikan ownership user ke regular non-root user al (dengan sudo privileges). Hal ini juga dapat kita lakukan dengan membuat user tambahan.

Kita akan menggunakan akun yang sama untuk membuat initial server setup guide yang kita beri nama demo.

Kepemilikan grup kita akan berikan ke proses web server dalam hal ini yaitu www-data. Hal ini akan mengijinkan Apache untuk berinteraksi dengan konten seperlunya.

Kita dapat memberikan ownership ini dengan mengetikkan:

sudo chown -R demo:www-data *

Kemudian kita akan merubah kepemilikan untuk direktori upload. Buat direktori uploads di dalam direktori wp-content pada dokumen root.

mkdir /var/www/html/wp-content/uploads

Kita saat ini telah mempunyai sebuah direktori upload file, namun permission masih ketat. Kita harus mengijinkan web server untuk menulis ke dalam direktori.

sudo chown -R :www-data /var/www/html/wp-content/uploads 

Hal ini akan mengijinkan web server untuk membuat file dan direktori di dalam direktori uploads dan mengijinkan kita untuk upload konten ke server.

Langkah 5- Penyelesaian Instalasi melalui Web

Di dalam web browser, ketik nama domain server atau alamat ip publik, kalo anda menggunakan localhost ketik loaclhost

http://server_domain_name_or_IP

Jika instalasi anda benar, maka tampilan WordPress seperti ini:

Initial Config Worpress
Initial Configuration WordPress

Isi informasi yang ada di site dan akun admin yang ingin anda buat. Ketik selesai, klik install button di bawahnya

WordPress akan konfirmasi instalasi dan meminta anda login ke akun yang telah anda buat

 

WordPress confirm install

Hit the button at the bottom and then fill out your account information:

WordPress login

Masukkan username dan password

Anda akan melihat WordPress interface:

WordPress admin interface

Selesai anda dapat menggunakan dan mengedit WordPress anda sekarang.

 

Hardening Sistem Operasi Ubuntu Server 14.04

hardening_OS
hardening_OS

Hardening Sistem Operasi Ubuntu Server 14.10

Apa itu hardening?

Hardening adalah  proses mengamankan sebuah sistem dengan mengurangi tingkat kerawanan di dalamnya.

NIST[08] membuat suatu panduan dasar untuk mengamankan sistem operasi antara lain:

  1. Instalasi dan patch sistem operasi;
  2. Hardening dan konfigurasi sistem operasi sesuai dengan persyaratan keamanan yang ditetapkan sistem antara lain:
    • Hapus layanan, aplikasi, dan protokol yang tidak diperlukan ;
    • Konfigurasi users, group, dan permissions
    • Konfiguasi resources control
  3. Instalasi dan konfigurasi kontrol keamanan tambahan, seperti anti-virus, host-based firewalls, intrusion detection systems (IDS)
  4. Ujicoba keamanan dari sistem operasi untuk memastikan bahwa langkah yang diterapkan sudah sesuai dengan persyratan keamanan

Instalasi

Instalasi Ubuntu Server dapat diinstal langsung pada harddisk atau menggunakan Virtual  Box. Dalam kasus ini, saya mencoba menggunakan Oracle Virtual Box dengan sistem operasi host Windows 8.1 versi 64 bit.

Download Virtual Box

https://www.virtualbox.org/wiki/Downloads

Download Iso  Ubuntu Server

http://www.ubuntu.com/download/server

Catatan: Iso Ubuntu Server berbeda dengan iso Ubuntu Desktop yang biasa kita gunakan. Iso Ubuntu Server umumnya tidak memiliki Graphical User Interface (GUI). Ubuntu Server berbeda dengan Ubuntu Desktop karena Ubuntu Server akan menginstall kernel yang dioptimasi untuk Server dan di dalam Ubuntu Server tidak terdapat X Windows.

Setelah anda selesai menginstall Oracle Virtualbox, jalankan maka akan muncul tampilan di dibawah ini:

GUI Oracle VirtualBox 4.4
GUI Oracle VirtualBox 4.4

Klik New, untuk instalasi iso Ubuntu Server 14.04. Load Iso Ubuntu Server yang telah kita download sebelumnya. Isikan nama : Ubuntu_Server, VirtualBox akan mendeteksi OS yang akan kita gunakan.

Langkah1_CreateVirtualMachine
Langkah1_CreateVirtualMachine

 

Langkah2_PilihMemori
Langkah2_PilihMemori

 

 

 

 

 

 

 

 

 

Pemilihan memori terserah anda, namun ingat pemilihan memori default umumnya direkomendasikan oleh VirtualBox. Saya pilih 512 MB, klik “Next”.

Langkah3_PilihHarddrive
Langkah3_PilihHarddrive

 

 

 

 

Pilih Create a virtual harddrive now

Langkah3_PilihHarddrive2
Langkah3_PilihHarddrive2

 

 

 

 

 

 

 

 

Virtual Drive yang anda pilih adalah Virtual Disk Image (VDI).

Langkah3_PilihHarddrive3
Langkah3_PilihHarddrive3
Langkah3_PilihHarddrive4
Langkah3_PilihHarddrive4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Langkah4_TampilanUbuntuServer
Langkah4_TampilanUbuntuServer

 

 

 

 

 

 

 

 

 

Langkah5_TampilanInstalasi
Langkah5_TampilanInstalasi

 

Langkah6_TampilanUbuntuServer
Langkah6_TampilanUbuntuServer

Ikuti langkah instalasi sampai selesai. Jika instalasi benar maka akan keluar tampilan diatas. Masukkan Username dan Password

Langkah7_TampilanUbuntuServerSetelahMasukanPassword
Langkah7_TampilanUbuntuServerSetelahMasukanPassword

 

Jika langkah di atas sudah dilakukan, maka anda dapat melakukan langkah dibawah ini:

Patch 

Patch berguna untuk menambal dan mengupdate aplikasi, system, maupun distribusi system operasi Ubuntu Server 14.10.  Instalasi patch pada Ubuntu Server ada 2 yaitu:

$ sudo apt-get update (Perintah ini untuk mengupdate folder dan file aplikasi yang ada di ubuntu dan file dependecynya)
$ sudo apt-get dist-upgrade (Perintah ini untuk update Distribusi OS dengan major upgrade)

Untuk uninstall patch yang tidak diinginkan, ketik perintah:

$ sudo dpkg-reconfigure unattended-upgrade

Manajemen User

merupakan salah satu langkah mitigasi untuk menghindari user yang tidak terotorisasi masuk ke dalam root privileges. Manajemen User terdiri dari 4 bagian yaitu:

a. Menambahkan dan menghapus User

Menambahkan user -> $ sudo adduser username

Menghapus user -> $ sudo deluser username

Menghapus username tidak otomatis menghapus direktori home folder

b. Profil Keamanan User

Jika server anda terdiri dari banyak user, anda harus memperhatikan  user home directory permissions untuk memastika kerahasiaan data di server. Secara default, user home directories di dalam Ubuntu dibuat dengan world read/execute permissions.

Untuk memastikan permission apa yang digunakan pada user/home/directory, kita dapat menggunakan perintah sebagai berikut:

$ls -ld /home/username

Output di bawah ini menunjukkan direktori home/username memiliki world readable permission:

drwxr-xr-x 2 username username   4096 2007-10-02 20:03 username

c. Kebijakan Password

Secara default, Ubuntu membutuhkan panjang password minimal 6 karakter dan pemeriksaan entropi sederhana. Nilai password ini disimpan di dalam /etc/pam.d/common-password, yang ditunjukan dibawah ini

password       [success=1 default=ignore]     pam_unix.so obscure sha512

Kita dapat melakukan konfigurasi password policy dengan perintah:

$sudo nano /etc/pam.d/environment

Kita dapat menampilkan status terbaru dari sebuah akun user, dengan perintah sebagai berikut:

$sudo chage -l username

Contoh hasilnya sebagai berikut:

  • Last password change                               : Jan 20, 2008
  • Password expires                                       : never
  • Password inactive                                       : never
  • Account expires                                           : never
  • Minimum number of days between password change         : 0
  • Maximum number of days between password change         : 99999
  • Number of days of warning before password expires           : 7

Kita dapat mengubah konfigurasi dengan contoh sebagai berikut :

expiration date (-E) to 01/31/2011, minimum password age (-m) of 5 days, maximum password age (-M) of 90 days, inactivity period (-I) of 5 days after password expiration, and a warning time period (-W) of 14 days before password expiration.

Kita dapat mengetikkan perintah sebagai berikut:

$sudo chage -E 01/31/2011 -m 5 -M 90 -I 30 -W 14 username

Keamanan Konsol

Disable Ctrl-Alt-Del agar tidak bisa reboot menggunakan Ctrl-Alt-del, dengan mengetikkan perintah sebagai berikut:

$sudo gedit /etc/init/control-alt-delete.conf

Di  dalam control-alt-delete.conf kita dapat mengedit sebagai berikut:

Firewall

Konfigurasi firewall secara default pada Ubuntu adalah ufw. Ufw merupakan cara mudah untuk menambahkan dan/atau menghapus rules sederhana pada firewall. Hal ini biasanya digunakan pada host-based firewall.

  • Mengaktifkan firewall: $sudo ufw enable
  • Untuk membuka port 22 (ssh): $sudo ufw allow 22
  • Rule ditambahkan menggunakan format angka: $sudo ufw insert 1 allow 80
  • Untuk menutup sebuah port: $sudo ufw deny 22
  • Untuk  menghapus sebuah rule: $sudo ufw delete deny 22
  • Menonaktifkan firewall: $sudo ufw disable
  • Melihat status firewall: $sudo ufw status
  • Melihat status informasi  verbose: $sudo ufw status verbose

Apparmor

AppArmor adalah sebuah sistem Mandatory Access Control (MAC) dimana sebuah kernel untuk confine program dengan sumber daya yang terbatas. Model keamanan AppArmor adalah memasangkan atribut kontrol akses ke program daripada ke user.

AppArmor confinementmenggunakan profile yang dimasukkan ke dalam kernel dibandingkan ke dalam boot. Profile AppArmoe dibagi menjadi 2(dua) mode yaitu enforcement and complain.

Profile dalam mode enforcement akan menghasilkan pemaksaan kebijakan yang dedefinisikan di dalam profile sama halnya dengan percobaan pelanggaran kebijakan (baik melalui syslog maupun auditd).

Sedangkan profile dalam mode complain tidak akan memaksa kebijakan tetapi lebih ke pelaporan percobaan pelanggaran kebijakan.

Profiles loaded in enforcement mode will result in enforcement of the policy defined in the profile as well as reporting policy violation attempts (either via syslog or auditd). Profiles in complain mode will not enforce policy but instead report policy violation attempts.

Secara default aplikasi AppArmor sudah terinstall di Ubuntu 14.10

Untuk melihat status AppArmor kita dapat mengetikkan:

$sudo app_armor status

apparmor_status
apparmor_status

Jika kita lihat gambar diatas, terdapat 22 profil dan 22 profil tersebut dalam enforce mode

Certificates (Sertifikat Digital)

Pembuatan sertifikat digital di Ubuntu dapat menggunakan openSSL. Kita akan membuat sertifikat digital dengan cara sebagai berikut:

  1. Buat pasangan kunci privat dan kunci publik;
  2. Buat sebuah certificate request berdasarkan kunci publik yang telah dibuat pada langkah 1. Certificate request berisi informasi tentang server anda dan perusahaan hosting server tersebut.
  3. Kirim certificate request, bersama dengan dokumen yang membuktikan identitas anda ke sebuah CA.
  4. Ketika anda setuju untuk menggunakan CA tertentu, anda harus mengikuti intruksi untuk memperoleh sertifikat digital dari CA tersebut
  5. Instalasi sertifikat digital di dalam server anda dan konfigurasi aplikasi yang sesuai untuk penggunaan sertifikat digital tersebut.

    eCryptfs

eCryptfs adalah sebuah aplikasi kriptografi sistem file yang bertumpuk (stacked). Pada lapisan atas sistem file eCryptfs melindungi file tidak peduli sistem file yang ada di bawahnya contoh tipe partisi, dll.

Selama instalasi terdapat sebuah pilihan untuk enkripsi partisi /home. Hal ini akan secara otomatis melakukan konfigurasi yang dibutuhkan untuk enkripsi dan mount partisi tersebut.

Sebagai contoh, kita akan melakukan enkripsi pada direktori /srv menggunakan eCryptfs

Pertama kita install eryptfs menggunakan terminal dengan mengetikkan perintah di bawah ini;

$ sudo apt-get install ecryptfs-utils

Kemudian kita akan mount dan enkripsi direktori /srv, ketikkan perintah dibawah ini;

$ sudo mount -t ecryptfs /srv /srv

mount -t artinya kita memilih aplikasi apa dan direktori mana yang akan dienkripsi

Maka akan muncul tampilan sebagai berikut:

ecryptfs
ecyrptfs

Kita pilih algoritma enkripsi yang akan digunakan, misal pilih no 1, kemudian pilih kunci 1 (16 bytes)

Lanjutan…

Hardening CentOS 7 (2)

nb: tanda pagar (#) adalah komentar

Logging

Tentu bagi seorang administrator, logging merupakan hal yang sangat vital. Lalu lalang pengguna haruslah tercatat agar jika terjadi jika terjadi hal yang salah, administrator dapat langsung bertindak. Penambahan fitur pun tetap harus tercatat agar tidak terjadi kerusakan pada data.

CentOS secara langsung menyimpan hasil logging di “/var/log/” . Untuk membaca nya cukup menggunakan UTMPDUMP.

# Melihat sesi yang sedang berjalan
utmpdump /var/run/utmp 

# melihat history koneksi pada sistem dan tools yang digunakan
utmpdump /var/log/wtmp 
# melihat login yang gagal
utmpdump /var/log/btmp 

hasil dari utmp

utmpdumpcen1

hasil dari wtmp

utmpdumpcen2

hasil dari btmp

utmpdumpcen3

Ada sebuah cara lain untuk membaca log terutama log dari message. Program yang digunakan adalah ksystemlog. Secara default, jika menginstall CentOS 7 server with gui, program ini akan tersedia yang perlu dilakukan adalah:

  • Tambahkan user yang akan diberikan wewenang membaca ke wheel
  • Masukkan line berikut ke terminal
su -c 'chgrp wheel /var/log/messages && chmod g+r /var/log/messages'

ksystemlog

Service

Tentunya saat ingin melakukan hardening, perlu diperhatikan service apa saja yang berjalan. Untuk melihatnya bisa dengan cara “netstat -a”. Tapi ada cara lain yang dapat digunakan yaitu dengan menggunakan perintah berikut:

# check semua service 
service --status-all
censer1
# check service satu persatu 
service namaservis status

# jika service ada dan berjalan akan muncul seperti berikut 
censer3
# jika service ada tetapi tidak berjalan akan muncul seperti berikut censer2
# jika service tidak ada, akan muncul hasil seperti berikut

censer4

Pada CentOS 7 diberikan suatu perintah baru untuk menggunakan service yaitu “systemctl”. Berikut perintah perintah yang dapat digunakan:

# memulai service
systemctl start namaservis

# menghentikan service
systemctl stop namaservis

# menghidupkan service ketika sistem operasi baru berjalan
systemctl enable namaservis

# mematikan service dan service tidak akan berjalan saat reboot
systemctl disable namaservis

# restart service
systemctl restart namaservis

Pengenalan SELinux

Selinux (security Enhanced Linux) adalah sebuah mekanisme pertahanan berlandaskan mandatory access control (MAC) pada karnel. Cara ini memperbaharui access control konvensional discretionary access control (DAC) yaitu menggunakan Access Control Lists (ACLs). Cara yang konvensional ini akan  memperbolehkan user atau program untuk mengakses hal hal yang sensitif.

Untuk mengetahui status dari SELinux masukkan perintah berikut

sestatus

selinux1

 

Ada beberapa mode yang dapat berjalan pada SELinux. Berikut penjelasannya:

  • Enforcing – mode awal yang mengharuskan penggunaan kebijakan keamanan SELinux pada sistem
  • Permissive – pada mode ini, SELinux akan berjalan tetapi tidak mengharuskanpenggunaan kebijakan keamanan SELinux, hanya log dan peringatan saja yang ada. Mode ini berguna untuk melakukan troubleshooting
  • Disabled – SELinux mati

Untuk mengubah mode ini, maka ubah ‘SELINUX=’ pada “/etc/selinux/config” dengan enforcing, permissive, maupun disabled.

Untuk melihat ada permasalahan atau tidak dapat dilakukan dengan cara

sealert -b

hasilnya adalah sebagai berikut

selinux2

 

Untuk membaca log, maka lakukan perintah berikut (sebagai root)

sealert -a /var/log/audit/audit.log > /tempat/anda/log.txt

Buka log.txt dan akan terlihat seperti berikut

selinux3

Sekian pengenalan dari selinux