Strategi 20 # Menangkal Email Palsu

Mitigasi

Menangkal email palsu menggunakan ID pengirim atau menggunakan Sender Policy Framework (SPF) untuk memeriksa email yang masuk dan sebuah catatan “hard fail” SPF untuk membantu mencegah pemalsuan dari domain organisasi anda.

Dasar Pemikiran

SPF atau implementasi alternatif seperti ID Pengirim, membantu dalam pendeteksian email palsu dan mengurangi tingkat keberhasilan dari semacam metode instrusi siber.

Panduan implementasi

  • Konfigurasi catatan SPF untuk domain organisasi anda termasuk subdomainnya, dan konfigurasi sebuah wildcard catatan SPF untuk mencocokkan subdomain yang tidak ada;
  • ID Pengirim adalah sebuah versi alternatif dari SPF yang memeriksa keasilian dari alamat surat elektronik pengirim dimana muncul dan terlihat pada penerima surat elektronik. Implementasi tambahan termasuk DomainKeys Identified Mail (DKIM);
  • Domain‐based Message Authentication, Reporting and Conformance (DMARC) membuat standar bagaimana penerima surat elektronik melakukan otentikasi surat elektronik menggunakna mekanisme SPF dan DKIM;
  • Menolak surat elektronik dari Internet dimana domain organisasi anda sebagai pengirim surat elektronik tersebut.

Informasi lebih lanjut

Pandian lebih lanjut tentang strategi mitigasi email palsu tersedia pada:

http://www.asd.gov.au/publications/csocprotect/spoof_email_sender_policy_framework.html

Kendali ISM : 0574, 1151‐1152, 0861, 1025‐1027, 0561, 1183.

Strategi 19 # Daftar putih domain web untuk semua domain

Mitigasi

Implementasi daftar putih domain web untuk seluruh domain, karena pendekatan ini lebih proaktif dan mendalam dibandingkan sebuah persentase yang kecil dari domain yang jahat.

Dasar Pemikiran 

Mendefinisikan sebuah daftar putih akan membantu menghilangkan mayoritas pengiriman data dan teknik pengiriman data keluar oleh sebuah komputer yang digunakan program jahat.

Panduan implementasi

Mengurangi penolakan user dan kelebihan administratif yang secara potensial berhubungan dengan strategi mitigasi ini, implementasikan sebuah proses yang streamline untuk users dapat dengan mudah dan cepat menambahkan domain ke dalam daftar putih. 

Informasi lebih lanjut

Contoh implementasi dapat dilihat dari

http://whitetrash.sourceforge.net

Kendali ISM: 0263, 0995, 0958.

Strategi 18 #Penyaringan Isi Web

Mitigasi

Melaksanakan isi web dari lalu-lintas data yang masuk dan keluar, buat daftar putih isi web yang diijinkan dari tipe isi web dan menggunakan analisis perilaku, peringkat reputasi berbasis Internet, heuristics dan tandatangan digital.

Dasar Pemikiran

Sebuah situs yang efektif mengurangi resiko dari infeksi sebuah program jahat atau isi web yang tidak sepatutnya untuk diakses, sama halnya untuk mempersulit musuh dunia maya untuk berkomunikasi dengan program jahat milik mereka. Menjelaskan sebuah daftar putih akan membantu penghapusan kebanyakan pengiriman data dan pengiriman data yang tidak sah keluar dari sebuah komputer yang digunakan oleh program jahat.

Panduan Implementasi

  • Miliki kecenderungan untuk menangkal semua isi yang dapat dieksekusi dengan program atau kode tertentu secara defalut dan gunakan sebuah proses untuk dapat mengaktifkan akses yang dipilih secara individual jika terdapat sebuah justifikasi proses bisnis
  • Miliki kecenderungan untuk menangkal akses ke situs dimana penyaringan isi web mempertimbangkan situs tersebut “tidak masuk kateori” atau di dalam sebuah kategori bahwa situs tersebut tidak dibutuhkan untuk tujuan bisnis;
  • Pelarangan ActiveX, Java tujuan   Flash kecuali situs yang masuk kategori daftar putih yang membutuhkan fungsi-fungsi ini secara spesifik untuk tujuan bisnis (misal Flash dibutuhkan untuk menggunakan sebuah situs untuk tujuan bisnis,ijinkan hanya Flash tetapi bukan ActiveX atau Java)
  • Pelarangan HTML inline frame (pemasukan kode HTML ke dalam baris kode HTML sebuah situs) dan kode script java, kecuali untuk situs yang masuk daftar putih, dimana hal ini ideal sampai menantang karena jumlah situs yang banyak yang membutuhkan fungsi tersebut untuk tujuan bisnis,
  • Implementasikan sebuah solusi yang dapat memeriksa lalu-lintas SSL untuk isi/konten yang jahat, terutama komunikasi SSL dengan situs yang tidak dikenal.

Informasi lebih lanjut

Merujuk pada strategi mitigasi #6 ‘Automated dynamic analysis of email and web content run in a sandbox’ untuk rincian mengenai deteksi isi web yang memunculkan perilaku mencurigakan seperti lalu-lintas jaringan atau perubahan pada sistem file atau registry.

Kontrol ISM: 0963,0961,1273,1389,1390

Strategi Mitigasi 17 # Penyaringan Isi Email

Mitigasi

Lakukan penyaringan pada isi email, ijinkan hanya lampiran daftar putih dengan sebuah tipe file dan ekstensi file yang hanya dibutuhkan oleh fungsi bisnis;

Dasar Pemikiran

  • Miliki kecenderungan untuk menganalisis/mengkonversi/dan membersihkan hyperlinks, PDF dan lampiran Microsoft Office untuk melumpuhkan surat elektronik berbahaya;
  • Melarang atau karantina isi email yang tidak dapat diperiksa contohnya seperti arsip file ZIP yang dilindungi dengan parafrase;
  • Menolak email dari internet dimana terdaoat domain organisasi anda sebagai pengirim email;
  • Miliki kecenderungan mengarsip PDF dan lampiran Microsoft Office, dan pindai virus pada arsip tersebut setiap bulan atau beberapa bulan sekali;
  • Miliki kecenderungan untuk karantina lampiran dan melumpuhkan hyperlinks yang ada di dalam surat elektronik dari penyedia webmail yang menyediakan alamat email gratis untuk user Internet anonim, sejak intrusi siber biasanya termasuk penggunaan alamat email yang memiliki kekurangan pada atribusi;

Contoh plugin untuk Microsoft Exchange untuk melakukan sanitasi file PDF tersedia pada:

http://www.asd.gov.au/infosec/top35mitigationstrategies.html

Panduan lebih lanjut tentang mitigasi email jahat tersedia pada

http://www.asd.gov.au/publications/csocprotect/malicious_email_mitigation.html

Kontrol ISM:

0561, 1057, 1234, 1284‐1285, 1288, 0649‐0650, 0651‐0652, 1389.

Strategi Mitigasi 16 #Pencatatan Log Terpusat dan Sinkronisasi Waktu Aktivitas Jaringan

Mitigasi

Lakukan pencatatan log tepusat dan mempunyai fitur sinkronisasi waltu dengan analisis log secara real time dan otomatis, penyimpanan catatan log minimal 18 bulan. Catatan log yang penting antara lain infomasi tentang DNS Server, web proxy yang berisi rincian koneksi termmasuk di dalamnya nilai-nilai dari user-agen, waktu lepas DHCP, catatan log firewall yang berisi rincian lalu-lintas jaringan yang keluar-masuk jaringan organisasi, dan metadata seperti Network Flow Data.

Pencatatan log yang terpusat dan sinkronisasi waktu dan analisis log yang tepat waktu akan meningkatkan kemampuan organisasi secara cepat mengidentifikasi pola perilaku mencurigakan dan log kejadian yang berhubungan dengan perilaku perangkat kerja dan server untuk memudahkan investigasi dan audit apabila terjadi insiden siber.

Panduan Implementasi

Lakukan analisis catatan log secara reguler yang berfokus pada koneksi dan jumlah data yang ditransfer oleh Most Likely Target untuk menandai lalu-lintas internal jaringan yang tidak normal seperti percobaan enumerasi pada jaringan yang dibagi dan informasi user termasuk akun honeytoken. Juga fokus pada lalu-lintas jaringan eksternal yang melewati batas perimeter antara lain:

1. periodic beaconing traffic ;

2. Sesi HTTP dengan rasio yang tidak tepat antara lalu-lintas data yang keluar dan data yang masuk

3. Lalu-lintas HTTP dengan sebuah nilai header “User-Agent” yang tidak berhubungan dengan software asli oleh user organisasi

4. DNS lookups untuk nama domain yang tidak ada dan bukan merupakan kesalahan pengetikan oleh user yang menandakan malware berkomunikasi kepada sebuah domain yang mendaftarkan diri melalui pihak ketiga (cyber adversaries)

5. DNS lookups untuk nama domain yang menggunakan sebuah alamat localhost (127.0.0.1) mencirikan malware dimana cyber adversaries tidak siap untuk berkomunikasi

6. Lalu-lintas data yang besar.

7. Lalu-lintas data diluar jam kerja

8. Koneksi long-lived

Informasi lebih lanjut:

Kontrol ISM : 0120, 0670, 0790, 0380, 0957, 0261, 0109, 0580, 0582‐0583, 0584, 0585, 0586, 0587, 0859, 0987, 0988, 0991, 1032, 0631, 0634, 1176, 1305.

 

Remote Log menggunakan Rsyslog di Ubuntu

#3 Log remote
mencoba membuat fitur remote logging pakai syslogd

Terdapat 3 cara untuk melakukan log pada pesan:

  1. Logging pada server yang sama: Pesan ditulis di dalam lokal harddisk atau database.
  2. Logging menggunakan sebuah remote server: Log akan dikirimkan melalui jaringan menuju sebuah server log terpusat. Pada server log pusat, pesan yang berasal dari berbagai macam sistem ditulis ke dalam lokal drive/database.
  3. Relay logging: Cabang ‘A’ and Cabang ‘B’ merekam log pesan pada dua(2) server yang berbeda. Kedua server ini These mengirimkan log pesan ke ‘Head Office’.

Pada percobaan kali ini kita akan menggunakan percobaan 2 (Logging pada sebuah remote server). Ada dua host yaitu host untuk log server dan host client yang mengirimkan pesan log ke log server.

Host A (Log Server) -> Ubuntu 15.04 Pyhsical Host, Alamat IP: 192.168.10.43

Host B (Client)-> Ubuntu 15.04 Virtual Host, Alamat IP:192.168.56.101

Pada Ubuntu kita dapat menggunakan fasilitas remote logging menggunakan rsyslogd secara default.

Pada percobaan kali ini kita akan mencoba menggunakan sebuah klien mengirimkan informasi syslog klien  ke server syslog yang telah kita setting. Topologinya seperti dibawah ini:

Topologi
Topologi Remote Log antara Klien dan Server

File Konfigurasi rsyslog.conf terdiri dari tiga(3) bagian yaitu:

  1. Modules. Rsyslog terdiri dari arsitektur modular. Arsitketur tersebut membuat fungsionalitas ditambahkan secara dinamis melalui modul-modul tersebut. Modul tersebut yaitu:
    • Input Modules – Untuk mengumpulkan pesan log dari berbagai sumber
    • Output Modules – Untuk menulis pesan log ke berbagai tempat ( file, socket,dll)
    • Parser Modules – Untuk melakukan parsing isi pesan log
  2. Configuration Directives. Seluruh perintah konfigurasi harus dispesifikasikan per baris dan harus dimulai dengan tanda dollar ($). Perintah konfigurasi ini akan berdampak pada rules yang kita buat.
  3. Rule line. Setiap rule line terdiri dari dua(2) fields yaitu sebuah ‘selector field’ and sebuah ‘action field’. Selector field dibagi menjadi dua yaitu ‘facilities & priorities’. Action field menspesifikasikan langkah apa yang harus dilakukan untuk mencocokkan dengan rule yang sudah dibuat.

Tutorial

Konfigurasi di Host Log Server (192.168.10.43)

1. Open File di Terminal

sudo nano /etc/rsyslog.conf

2. Edit file (Ubah file konfigurasi seperti dibawah ini)

#################
#### MODULES ####
#################

$ModLoad imuxsock # menyediakan dukungan untuk sistem log di lokal file
$ModLoad imklog # menyediakan dukungan logging kernel
#$ModLoad immark # menyediakan pesan –MARK

# provides UDP syslog reception
#$ModLoad imudp   –>Hilangkan tanda “#” sehingga server mendengar port tertentu yang telah kita setting
#$UDPServerRun 514   –> Hilangkan tanda “#” – spesifikasi nomor port UDP, secara default port 514

# provides TCP syslog reception
#$ModLoad imtcp   –> Hilangkan tanda “#” sehingga server mendengar TCP port yang telah ditentukan
#$InputTCPServerRun 514  –> Hilangkan tanda “#” – Spesifiaksi nomor port, secara default port 514

Tambahkan pada baris selanjutnya:

#  Ini adalah template untuk menghasilkan nama file log secara dinamis, tergantung pada alamat IP klien
$template FILENAME,”/var/log/%fromhost-ip%/syslog.log”

# Merekam seluruh pesan log ke file dalam bentuk tertentu secara dinamis. Setiap klien (misal alamat IP 192.168.56.101, 192.168.57..101, dll) akan dibuat sebuah direktori terpisah dengan template FILENAME
*.* ?FILENAME

Konfigurasinya seperti dibawah ini:

Konfigurasi rsyslog.conf pada log server
Konfigurasi rsyslog.conf pada log server

Setelah selesai konfigurasi restart service rsyslog, dengan mengetikkan di terminal:

/etc/init.d/rsyslog restart

Konfigurasi File di Klien

Kita akan melakukan konfigurasi di host klien (192.168.56.101)/Virtual Host

  1. Buka terminal dan ketik sudo nano /etc/rsyslog.conf
  2. Edit file konfigurasi seperti di bawah ini$ModLoad imuxsock$ModLoad imklogTambahkan di line file paling bawah:# Melakukan UDP forwarding. Alamat IP adalah Alamat IP Log Server
    *.* @192.168.10.43:514Konfigurasi rsyslog.conf di klienKonfigurasi rsyslog.conf di klien
  3. Simpan (Ctrl-X)
  4. Restart service: /etc/init.d/rsyslog.conf restart. Catatan: 192.168.10.43 adalah ip log server

Verifikasi log dari klien (192.168.56.101) disimpan di log server (192.168.10.43)

Pada Syslog server (192.168.10.43) periksa direktori “/var/log” untuk melihat apakah direktori klien telah dibuat.

cd /var/log && lsDirektori /var/log

Jika kita lihat di Direktori /var/log, terdapat folder 192.168.10.43, jika kita buka maka akan terdapat file syslog.log yang menyimpan informasi log klien.

less syslog.log
less syslog.log

 

 

 

Maka akan muncul tampilan dibawah ini:

syslog record klien (192.168.56.101)
syslog record klien (192.168.56.101)

Kita juga dapat menggunakan salah satu tools seperti LogAnalyzer untuk menampilkan GUI log server terpusat dengan membuat database mysql terlebih dahulu.

Tampilan syslog menggunakan LogAnalyzer
Tampilan syslog menggunakan LogAnalyzer

Log pada WordPress di Ubuntu

#2 Log aplikasi:
Wordpress + Mysql + web server.
Letak konfigurasi log aplikasi.
Apakah log dapat dilewatkan ke syslog + apakah ada untung ruginya.

Kita dapat mengetahui lokasi log di WordPress dengan mengintsall plugin. Salah satu plugin yang saya gunakan adalah Simple Login Log Versi 1.1.0. Fitur yang terdapat dalam Simple Login Log adalah :

  1. Kemampuan untuk filter dari user name yang berhasil dan gagal login, termasuk timestamp waktunya
  2. Dapat diekpor ke file CSV.
  3. Log auto-truncation artinya jika rekaman log tidak pernah dihapus dalam log transaksi, maka log tersebut akan memenuhi kapasitast penyimpanan log secara fisik. Log truncation secara otomatis menghapus ruang dari log secara logika untuk digunakan kembali oleh log transaksi.

Tutorial Instalasi Plugin Simple Login Log

Dashboard Plugin di WordPress

Plugin
Dashboard Plugin
Upload Plugin
Masukkan File Plugin
Install Zip Plugin

Selesai Instalasi Plugin

Selesai Instalasi Plugin

Cara Menggunakan Simple Login Log:

Login log untuk melihat log
Login log untuk melihat log
Detail log yang masuk dan keluar
Detail log yang masuk dan keluar
Kita dapat mengimport log ke file CSV
Kita dapat mengimport log ke file CSV
Simpan file log dalam bentuk CSV
Simpan file log dalam bentuk CSV
File log csv
File log csv

 

 

 

 

 

 

 

Plugin wordpress lain untuk mengetahui username dan password antara lain WP Security Audit Log dan User Login Log. Plugin Simple User Login Log salah satu plugin yang mudah digunakan untuk log audit pada WordPress.

Konfigurasi log aplikasi di WordPress secara default berada di

Log dapat dilewatkan di syslog dengan melakukan konfigurasi terletak di.

Untungnya log dilewatkan di syslog adalah log terekam di dalam sistem . Ruginya adalah log yang dilewatkan di syslog akan menambah kapasitas fisik log pada sistem, single point of failure.

 

 

 

 

 

Log pada Sistem Operasi Ubuntu

System Log di Ubuntu terdiri dari 5 bagian:

  1. Authorization Log , merupakan log untuk otorisasi sistem, seperti Pluggable Authentication Module (PAM) system, the sudo command, dan remote logins to sshd. Authorization Log file dapat diakses di /var/log/auth.log.
  2. Daemon Log adalah sebuah program yang berjalan di belakang sistem. Daemon log terletaak di /var/log/daemon.log.
  3. Debug Log adalah log yang berisi pesan debug dari sistem Ubuntu dan aplikasi akan menyimpan di syslogd pada level DEBUG. Lokas Debug Log terdapat di /var/log/debug
  4. Kernel Log adalah pesan log kernel Linux Ubuntu. Lokasi ada di var/log/kern/log
  5. System Log berisi tentang log sistem Ubuntu. Lokasi ada di /var/log/syslog.

Rotasi Log

Ketika kita melihat direktori pada /var/log atau subdirektori di bawahnya, kita akan menemukan file log dengan nama seperti daemon.log.0, daemon.log.1.gz, dan seterusnya. Log file apakah ini? File ini adalah ‘rotated’ log files. File-file log tersebut secara otomatis diubah setelah jangka waktu tertentu dan sebuah file log baru dibuat. File log tersebut juga dikompresi dengan kompresi gzip misalnya menjadi  daemon.log.1.gz. Tujuan dari rotasi log adalah untuk penyimpanan dan kompresi file log lama sehingga mengurangi kapasitasi penyimpanan harddisk, tetapi tetap tersedia sewaktu-waktu apabila dibutuhkan.

Perintah logrotate dipanggil system-wide cron script /etc/cron.daily/logrotate, dan didefinisikan pada file konfigurasi di /etc/logrotate.conf.

 Apabila kita ingin menambahkan konfigurasi sendiri dapat di  /etc/logrotate.d (Misal konfigurasi apache2 and mysql disimpan).

Log Aplikasi

Log aplikasi di Ubuntu secara default terletak di /var/log. Jika kita  menginstall apache2 maka log aplikasi tersebut berada di /var/log/apache2.

Log aplikasi di /var/log/apache2 terdiri dari 2 yaitu:

  • /var/log/apache2/access.log – .Merekam setiap halaman yang ditampilkan oleh webserver.
  • access.log
    access.log

    /var/log/apache2/error.log – . Menyimpan seluruh pesan error yang dilaporkan oleh server HTTP

error.log
error.log
Log yang tidak bisa dibaca manusia

Beberapa file log di dalam subdirektori /var/log tidak dapat dibaca manusia karena bentuknya berupa binary.

Login Failures Log

Setiap kesalahan login akan dicatat di /var/log/faillog,dimana file log tersebut sebenarnya didesain untuk diparsing dan ditampilkan dengan perintah faillog

faillog
faillog

Last Logins Log

Last logins log  berada di /var/log/lastlog biasanya digabungkan dengan perintah lastlog. Cortoh untuk melihat daftar user apa saja yang login kita dapat menggunakan perintah lastlog dan  untuk menampilkan satu halaman kita gunakan perintah less :

lastlog | less

Lastlog
Lastlog

Login Records Log

File /var/log/wtmp berisi tentang rekaman login, /var/log/wtmp perintah who  untuk menampilkan daftar user yang baru saja logged in.

who -a
who -a

 

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…