Hardening OpenBSD 5.6

Langkah Pertama: Install Aplikasi Src, Sys, dan Ports

langkah ini diambil untuk memperbahuri sys, memasang src dan port, pada layar ketikan masing-masing seperti dibawah ini:

Screen Shot 2015-04-01 at 1.17.55 AM

lalu extract src dan sys pada folder /usr/src/

Screen Shot 2015-04-01 at 1.21.20 AM

Screen Shot 2015-04-01 at 1.26.09 AM

dan terakhir extract port pada /usr/

Screen Shot 2015-04-01 at 1.26.21 AM

Langkah Kedua: Patching Sistem Operasi

untuk sistem operasi OpenBSD patching dilakukan dengan cara manual, tidak otomatis seperti sistem operasi lain, untuk melihat patch apa saja yang ada pada openbsd 5.6, bisa diliat di alamat url.

http://www.openbsd.org/errata56.html

berikut contoh langkah bagaimana installasi patch pada OpenBSD

1. Hal yang pertama untuk update patch_001 adalah mengetik perintah:Screen Shot 2015-03-31 at 11.45.15 PM

Screen Shot 2015-03-31 at 11.45.42 PM

2. Setelah berhasil, langkah selanjutnya adalah install patch, perintah bagaimana menginstall patch ada di dalam alamat diatas, seperti ini:

Screen Shot 2015-05-08 at 8.20.01 PM

3. Ikuti langkah installasi, lalu jika berhasil akan muncul pesan seperti ini:Screen Shot 2015-04-01 at 1.34.58 AM

Langkah Ketiga: Menghapus Layanan, Aplikasi, Protocol yang tidak perlu

untuk melihat port apa saja yang terbuka, cukup mengetik perintah

netstat -na |more

Screen Shot 2015-05-08 at 8.50.57 PM

dari gambar diatas terlihat bahwa port yang terbuka adalah port 80 utuk HTTP, 22 untuk SSH, 514 untuk UDP, 25 untuk SMTP. untuk mengkonfigurasi service pada OpenBSD, pengguna bisa membuka alamat /etc/rc.conf. berikut isi rc.conf untuk menonaktivkan service:

Screen Shot 2015-05-08 at 9.13.41 PM

sedangkan penyimpanan berkas service ada di /etc/rc.d/ berikut isi direktori rc.d:

Screen Shot 2015-05-08 at 9.07.14 PM

Langkah Keempat: Konfigurasi Pengguna, Grup, dan Perizinan

Konfigurasi Pengguna:

Dalam Sistem Operasi OpenBSD, user terbagi menjadi 3 yaitu akun sistem, super user, dan pengguna biasa. untuk membuat user baru cukup mengetikan perintah adduser:

# adduser
accept default [ksh]
accept default [default]
accept default [/home]
accept default [/etc/skel]
accept default [no]
accept default [y]
accept default [auto]
[user name]
[Full Name]
accept default [ksh]
[default user id]
[default login group]
wheel, www
staff
[new strong user password]
accept default [y]

untuk menghapus akun cukup mengetik perintah:

# userdel -p true [default user name]

Konfigurasi Grup:

menambahkan group baru

# groupadd namagroup

memodifikasi group

# groupmod [perintah] namagroup

menghapus group

# groupdel -v namagroup

melihat semua group

# vi /etc/group

Perizinan:

didakam OpenBSD untuk melihat izin akses menggunakan perintah:

# ls -lha

lalu keluar list perizinan, seperti gambar dibawah ini:

Screen Shot 2015-05-08 at 9.54.03 PM

berikut ini adalah penjelasan dari masing-masing permission:

access1

Langkah Kelima: Kemanan Tambahan

Firewall:

didalam sistem operasi OpenBSD firewall sudah otomatis terinstall yaitu pf, firewall sendiri berfungsi untuk mengatur paket masuk. untuk mengkonfigurasikan firewall dapat diatur lewat berkas rc.conf, lalu ketik pf =YESScreen Shot 2015-05-08 at 10.11.00 PM

aturan untuk mengkonfigurasi pf sendiri ada di /etc/pf.conf:Screen Shot 2015-05-08 at 10.16.03 PM

contoh beberapa ruleset didalam pf OpenBSD:

# Macros
SYN_ONLY="S/FSRA"

#Memperbolehkan HTTP ke server Akismet
pass out on $ext_if proto { tcp udp } from (ext_if) to 
{77.233.69.89, 72.233.69.88, 66.135.58.61, 66.135.58.62} 
port { www, https } keep state

setelah selesai mengkonfigurasi pf.conf, ruleset harus dimuat ulang dengan perintah:

pfctl -f /etc/pf.conf

 

Keamanan Sistem Operasi NetBSD untuk Aplikasi Berbasis Web – Bagian III Konfigurasi Awal NetBSD

Pada artikel sebelumnya kita telah membahas mengenai proses instalasi NetBSD, dan sesuai artikel bagian I dimana pada artikel ini kita akan melakukan proses pengerasan sistem operasi sesuai dengan langkah-langkah yang ada pada buku pedoman kuliah. Namun karena sistem NetBSD menyarankan agar tidak melakukan administrasi sistem menggunakan user root tetapi menggunakan user biasa yang kemudian kita eskalasi hak aksesnya menggunakan perintah su maka langkah yang ada dibuku kita sesuaikan sedikit yaitu langkah pertama menjadi pengaturan kelompok dan pengguna sistem dan konfigurasi jaringan.

Konfigurasi Pengguna

Pengguna yang akan kita buat akan diberi nama webmaster dan memiliki hak untuk menjadi administrator dengan memasukannya kedalam group wheel agar bisa menjalankan perintah su.

# useradd -m -G wheel webmaster

Kemudian buatlah password untuk user tersebut dengan perintah

# passwd webmaster

Logoutlah dari user root dengan perintah exit dan cobalah login dengan user webmaster dan kemudian eskalasi hak akses anda dari webmaster menjadi root dengan perintah su

Screen Shot 2015-04-08 at 12.23.37 PM

Konfigurasi Jaringan TCP/IP

Dalam mengkonfigurasi jaringan pada NetBSD sebenarnya banyak parameter dan sangat bergantung pada teknologi interkoneksi dan bagaimana jaringan tempat peladen diimplementasikan, untuk dapat mendapatkan informasi lengkap mengenai konfigurasi jaringan NetBSD dapat dilihat di https://www.netbsd.org/docs/guide/en/chap-net-practice.html

Untuk praktikum kali ini karena kita ingin mensimulasikan konfigurasi mesin peladen aplikasi web yang dapat digunakan pada dunia nyata maka kita akan mengkonfigurasi IP secara manual.

# ifconfig -a

Kemudian ambil informasi mengenai nama antarmuka jaringan dari hasil perintah diatas (ex0, wm0 atau we1 dan lain sebagainya), dilanjutkan dengan perintah-perintah berikut (konfigurasi ini mengikuti spesifikasi yang telah ditentukan pada artikel pertama, mohon dirubah sesuai dengan konfigurasi anda) :

# echo “inet 192.168.57.102 netmask 255.255.255.0 up” >> /etc/ifconfig.wm0
# echo “192.168.57.1” >> /etc/mygate
# echo “wordpressNetBSD” >> /etc/myname
# cat > /etc/resolv.conf <<EOF9
search example.local
nameserver DNS1
nameserver DNS2
EOF9

# echo "192.168.57.102 wordpressNetBSD wordpressNetBSD" >> /etc/hosts
Kemudian jalankan perintah berikut untuk mengaktifkan jaringan
# /etc/rc.d/network restart
Konfigurasi Lingkungan Sistem Operasi
Untuk dapat beroperasi dengan baik tiap sistem operasi harus dikonfigurasi sesuai dengan lingkungan dimana sistem operasi tersebut diimplementasikan, selain itu ada hal-hal lain seperti parameter global, disini kita akan mengatur url menuju peladen ftp resmi  NetBSD untuk instalasi dan pemutakhiran paket aplikasi. Karena NetBSD secara default menggunakan Bourne Shell maka kita akan konfigurasi melalui shell tersebut.
# vi  ~/.shrc
kemudian tambahkan baris-baris berikut
export PKG_PATH=ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/6.1.5/All
export http_proxy=http://username:password@cacheserver:port
export ftp_proxy=ftp://username:password@cacheserver:port
Aktifasi dan Hardening SSH
Untuk dapat melakukan administrasi dari jauh kita dapat menggunakan ssh yang telah kita konfigurasi agar tidak dapat menerima user root namun bisa dan hanya bisa menerima user group wheel.
# echo "sshd=YES" > /etc/rc.conf
# sed '/^#/d; /^$/d;' sshd_config.dist > /etc/ssh/sshd_config
# echo "PermitRootLogin no" > /etc/ssh/sshd_config
# echo "AllowGroups wheel" > /etc/ssh/sshd_config
# /etc/rc.d/sshd onestart
 Instalasi Aplikasi Manajemen pkgsrc
Pada linux varian turunan debian dan redhat, pengguna dimanjakan oleh manajer aplikasi serperti apt dan yum, sebenarnya BSD juga memiliki manajer paket pkgsrc yang secara otomatis mendownload paket dan menginstalnya yaitu pkgin, aplikasi ini juga nanti akan mempermudah apabila kita ingin mengupdate sebuah aplikasi, berikut cara instalnya :
# pkg_add -v pkgin
setelah instalasi selayaknya package manager lainnya, databasenya harus diupdate terlebih dahulu dengan perintah
# pkgin update
pada artikel-artikel selanjutnya akan menggunakan pkgin untuk instalasi paket aplikasi.
Selain itu kita akan menggunakan aplikasi-aplikasi lain untuk membantu kita meringkan pekerjaan kita, jalankan perintah berikut ini
# pkgin install lynx wget

Keamanan Sistem Operasi NetBSD untuk Aplikasi Berbasis Web – Bagian II Instalasi

Instalasi NetBSD 6.1.5 untuk sebuah peladen yang aman sebaiknya menggunakan pilihan instalasi minimum agar sistem tidak menginstall hal-hal yang tidak kita butuhkan kedepannya dan memperkecil kemungkinan adanya celah keamanan.

Berikut langkah-langkah dalam instalasi NetBSD 6.1.5

Download ISO NetBSD terbaru di ftp://iso.netbsd.org/pub/NetBSD/iso/ kemudian buatlah ISO tersebut dapat diboot oleh computer dengan membakarnya kedalam cakram kompak (CD) atau penyimpan kilat USB (Flash Drive), karena diluar konteks tulisan ini maka ridak akan dijelaskan pada tulisan ini.

Setelah anda berhasi memboot ISO maka akan keluar tampilan seperti dibawah ini, pilihlah opsi 1 yaitu instalasi NetBSD :

netbsd

Kemudian pilihlah opsi instalasi NetBSD ke hard disk

Screen Shot 2015-04-01 at 11.02.02 AM

Setelah itu akan keluar beberap tampilan untuk memilih bahasa dan keyboard, pilihlah sesuai kebutuhan, dalam kasus ini saya memilih menggunakan bahasa Inggris dan keyboard dengan layout US. Selanjutnya kita akan menjumpai pilihan instalasi, karena komputer ini akan dijadikan peladen yang akan kita hardening maka dipilihlah instalasi minimal.

Screen Shot 2015-04-01 at 11.38.04 AM

Langkah berikutnya adalah mengatur ukuran partisi pada NetBSD, pilihlah pilihan untuk mengatur ukuran partisi secara manual

Screen Shot 2015-04-01 at 11.44.38 AM

Karena sistem ini akan menjadi peladen aplikasi web, maka partisi yang perlu dipisah adalah partisi /var karena nantinya data aplikasi web dan basis data akan berada didalam berkas tersebut, besarnya disesuaikan dengan skala dari aplikasinya sendiri. Setelah semua dirasa mantap maka dapat dilanjutkan dengan memilih opsi accept partition size.

Screen Shot 2015-04-01 at 11.47.35 AM

Pada langkah selanjutnya adalah memilih bootblock, atau kemanakah devais konsol akan diarahkan, karena NetBSD mempunyai konsep portabel dimana sistem dapat diinstalasi pada komputer tanpa I/O standar seperti monitor dan keyboard. Karena kita akan menggunakan selayaknya komputer biasa maka bootblock diarahkan ke BIOS console.

Screen Shot 2015-04-01 at 11.55.46 AM

Sampai langkah ini sebenarnya instalasi sudah selesai dan dilanjutkan dengan konfigurasi dasar dari sistem operasi, disini kita bisa mengatur TimeZone, Jaringan dan password untuk pengguna root.

Screen Shot 2015-04-01 at 11.58.00 AM

Instalasi selesai, selanjutnya diikuti dengan konfigurasi setelah instalasi dan pengerasan peladen.

Screen Shot 2015-04-01 at 11.58.23 AM

Instalasi keluarga BSD termasuk salah satu proses instalasi yang paling cepat yang pernah saya rasakan, dari awal boot sampai sistem berjalan kurang dari 10 menit (dengan asumsi kita mengerti betul apa yang sedang kita lakukan).

Cara Pemasangan WordPress pada Fedora-Server 21 dengan AMP

WordPress merupakan aplikasi open source untuk web blogging dan sistem manajemen konten (CMS) yang paling banyak digunakan. WordPress dibangun menggunakan bahasa pemrograman PHP dan basis data MySQL.

Oleh karena itu, untuk memasang WordPress pada Fedora-Server 21 disyaratkan untuk memasang Apache, MySQL, dan PHP (sering disingkat dengan AMP, atau LAMP jika dengan Linux) terlebih dahulu.

Pada artikel ini akan dibahas mengenai cara pemasangan AMP dan WordPress pada Fedora-Server 21.

Sebenarnya AMP dapat dipasang sekaligus saat pemasangan Fedora-Server 21 dengan menambah add-ons “Basic Web Server” dan “MariaDB (MySQL) Database” pada konfigurasi “Software Selection”. (lihat Gambar 1)

atur software selection
Gambar 1: Tampilan konfigurasi “Software Selection” saat pemasangan Fedora-Server 21

Namun jika belum, AMP dapat dipasang masing-masing dengan perintah “yum install”.

Catatan:

- Setiap perintah dalam tutorial ini diakhiri dengan menekan tombol "Enter".
- Tambahkan "sudo" di depan perintah jika diperlukan akses sebagai root.
- Perintah yang berwarna merah disesuaikan dengan keinginan sendiri.

1. PEMASANGAN AMP

Apache

  • Untuk memasang Apache, pasang paket httpd dengan perintah berikut.
yum install httpd
      • Untuk memulai Apache, gunakan perintah berikut.
systemctl start httpd.service
        • Untuk membuat Apache memulai pada saat setiap boot, gunakan perintah berikut.
systemctl enable httpd.service
          • Untuk membolehkan permintaan http dari jaringan eksternal, konfigurasi firewall  dengan perintah berikut.
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
  • Sebelum menguji Apache, pastikan ada peramban web yang terpasang. Jika belum ada, gunakan perintah berikut untuk memasang peramban web. (Di sini saya menggunakan “links” sebagai peramban web)
yum install links
  • Untuk menguji apakah Apache berjalan dengan benar, buka alamat localhost menggunakan peramban web dengan perintah berikut.
links http://localhost/

Jika setelah itu muncul halaman web yang bertuliskan “Fedora Test Page” seperti pada Gambar 2, berarti Apache berjalan dengan benar.

Gambar
Gambar 2: Halaman pertama dari “Fedora Test Page”

Root dokumen default Apache pada Fedora adalah /var/www/html, sedangkan berkas konfigurasinya adalah /etc/httpd/conf/httpd.conf. Konfigurasi tambahan disimpan dalam direktori /etc/httpd/conf.d/.

MySQL

  • Untuk memasang MySQL, pasang paket mariadb dengan perintah berikut.
yum install mariadb mariadb-server
  • Untuk memulai MySQL, gunakan perintah berikut.
systemctl start mariadb.service
  • Untuk membuat MySQL memulai pada saat setiap boot, gunakan perintah berikut.
systemctl enable mariadb.service
  • Untuk mengamankan pemasangan MySQL, gunakan perintah berikut.
mysql_secure_installation

Lalu lakukan hal-hal berikut: (lihat Gambar 3.a – 3.c)

  1. buat kata sandi untuk akun root
  2. hilangkan akun-akun pengguna anonim
  3. hilangkan akun-akun root yang dapat diakses dari luar host lokal
  4. hilangkan basis data “test” (yang secara default dapat diakses oleh semua pengguna, termasuk pengguna anonim), dan hak-hak istimewa yang membolehkan seseorang mengakses basis data dengan judul yang diawali dengan “test_”
Gambar 3.a: Pengaturan pemasangan MySQL yang aman (1/3)
Gambar
Gambar 3.b: Pengaturan pemasangan MySQL yang aman (2/3)
Gambar 3.c: Pengaturan pemasangan MySQL yang aman (3/3)

PHP

  • Untuk memasang PHP, gunakan perintah berikut.
yum install php php-mysql
  • Setelah itu mulai ulang layanan Apache dengan perintah berikut.
systemctl restart httpd.service
  • Untuk menguji PHP, diperlukan sebuah berkas PHP yang diletakkan ke dalam direktori default Apache yaitu /var/www/html. Untuk itu, buatlah suatu berkas kecil PHP (info.php) di dalam direktori /var/www/html dengan perintah berikut.
vi /var/www/html/info.php
  • Lalu ketik baris berikut di dalam berkas “info.php”.
<?php phpinfo(); ?>
  • Tekan “Esc” dan ketik “:wq” untuk menyimpan dan keluar.
  • Buka berkas tersebut menggunakan peramban web dengan perintah berikut.
links http://localhost/info.php

Lalu akan muncul halaman PHPInfo seperti pada gambar berikut.

Gambar
Gambar 4.a: Halaman pertama dari LAMP PHPInfo
Gambar
Gambar 4.b: Halaman 19 (mengenai MySQL support) dari LAMP PHPInfo

Pemasangan AMP berhasil! 🙂

Selanjutnya, masuk ke langkah-langkah pemasangan WordPress.

2. PEMASANGAN WORDPRESS

Membuat Database

1. Masuk ke MariaDB dengan perintah berikut.

mysql -u root -p

2. Buat basis data untuk WordPress dengan perintah berikut.

CREATE DATABASE wordpress;

3. Tambahkan seorang pengguna beserta kata sandinya.

CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'wppassword';

4. Izinkan pengguna tersebut untuk mengakses basis data.

GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;

Mengkonfigurasi WordPress

1. Unduh WordPress terbaru dengan perintah berikut.

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

atau

links http://wordpress.org/latest.tar.gz

2. Ekstrak berkas tersebut dengan perintah berikut.

tar -zxvf <namaberkas>.tar.gz

3. Pindahkan berkas yang telah diekstrak tadi ke direktori /var/www/html/.

mv wordpress/* /var/www/html

4. Salin berkas “wp-config-sample.php” dan simpan sebagai “wp-config.php”.

cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php

5. Buka dan edit berkas tersebut dengan perintah berikut.

vi /var/www/html/wp-config.php

6. Masukkan informasi basis data seperti pada Gambar 5.

Gambar 4
Gambar 5: Tampilan saat mengedit berkas “wp-config.php”

7. Buat pengguna Apache sebagai pemilik dari direktori WordPress.

chown -R apache:apache /var/www/html/

8. Tetapkan kebijakan SELinux untuk direktori-direktori Apache.

chcon -Rt httpd_sys_content_t /var/www/html

Memasang WordPress:

1. Cek alamat IP Anda. (lihat Gambar 6)

ifconfig

2. Kunjungi alamat IP Anda menggunakan peramban web. (lihat Gambar 6)

links http://alamat-ip-anda/
wp 9
Gambar 6: Tampilan saat mengecek alamat IP

3. Isi judul situs, nama pengguna, kata sandi, dan alamat surel. Lalu pilih “Install WordPress”. (lihat gambar 7.a – 7.b)

Gambar
Gambar 7.a: Halaman pemasangan WordPress (1/2)
Gambar
Gambar 7.b: Halaman pemasangan WordPress (2/2)

4. Setelah WordPress berhasil dipasang, pilih “Log In”. (lihat Gambar 8)

Gambar
Gambar 8: Halaman saat pemasangan WordPress berhasil

5. Masukkan nama pengguna dan kata sandi, lalu pilih “Log In”.

Gambar
Gambar 9: Halaman untuk login ke WordPress

6. Setelah login berhasil akan muncul halaman “Dashboard” seperti Gambar 10.

Gambar
Gambar 10: Halaman pertama dari “Dashboard”
Gambar Tampilan Beranda
Gambar 11.a: Halaman beranda web “Keamanan OS Fedora” (1/2)
Gambar Tampilan Beranda
Gambar 11.b: Halaman beranda web “Keamanan OS Fedora” (2/2)

Selesai! 🙂

Demikian, tutorial pemasangan WordPress pada Fedora-Server 21 dengan AMP. Semoga bermanfaat 😀

Langkah Hardening Sistem Operasi Fedora-Server 21 (2/2)

Sebelumnya mari ingat kembali langkah-langkah hardening sistem operasi yang diusulkan oleh NIST, yaitu:
a. memasang dan menambal (patch) sistem operasi
b. menghapus layanan, aplikasi, dan protokol yang tidak diperlukan
c. mengkonfigurasi pengguna-pengguna, grup-grup, dan otentikasi
d. mengkonfigurasi kontrol sumberdaya-sumberdaya
e. memasang dan mengkonfigurasi kontrol keamanan tambahan, seperti anti-virus, firewall berbasis host, dan sistem deteksi intrusi (IDS), jika diperlukan
f. menguji keamanan dari dasar sistem operasi untuk memastikan langkah yang dilakukan sesuai dengan yang dibutuhkan keamanan

Pada artikel sebelumnya, “Langkah Hardening Sistem Operasi Fedora-Server 21 (1/2)” sudah dibahas mengenai langkah hardening (a), (b), (c), dan (d). Dalam artikel ini akan dibahas mengenai langkah (e) dan (f).

Catatan:

- Setiap perintah dalam tutorial ini diakhiri dengan menekan tombol "Enter".
- Tambahkan "sudo" di depan perintah jika diperlukan akses sebagai root.
- Perintah yang berwarna merah disesuaikan dengan keinginan sendiri.
- Tagar di depan perintah menunjukkan komentar, tidak perlu diketik.

e. Memasang dan Mengkonfigurasi Kontrol Keamanan Tambahan

Sebenarnya dalam Fedora-Server 21 terdapat kontrol keamanan tambahan yang secara bawaan sudah terpasang, yaitu firewall dan SELinux.

1. Firewall

  • Setiap paket data yang diterima oleh Fedora-Server 21 akan diperiksa oleh layanan “Iptables”. “Iptables” akan melakukan pemeriksaan dengan memasukkan setiap paket data ke dalam tabel-tabel.

“Iptables” memiliki 3 buah tabel built-in, yaitu :

  • mangle, digunakan untuk manipulasi paket data, misalnya melakukan perubahan TCP header
  • filter, digunakan untuk melakukan filter paket data yang keluar/masuk firewall
  • nat, digunakan untuk menerjemahkan alamat jaringan (NAT)

Setiap tabel memiliki rule-rule atau aturan-aturan yang disebut chain. Macam-macam chain dari tiap tabel Iptables adalah sebagai berikut.

1. Built-in chains untuk tabel “filter”:

INPUT — memfilter paket yang ditujukan kepada firewall.
OUTPUT — memfilter paket yang akan keluar dari firewall.
FORWARD — memfilter paket yang diteruskan dari suatu NIC ke NIC lain pada firewall.

2. Built-in chains untuk tabel “nat”:

PREROUTING — menerjemahkan alamat paket data sebelum proses routing
POSTROUTING — menerjemahkan alamat paket data sesudah proses routing
OUTPUT — menerjemahkan alamat paket data yang berasal dari firewall itu sendiri sebelum dikeluarkan

3. Built-in chains untuk tabel “mangle”:

INPUT — mengubah paket jaringan yang ditujukan kepada firewall
OUTPUT — mengubah paket data yang berasal dari firewall itu sendiri sebelum dikeluarkan
FORWARD — mengubah paket jaringan yang melalui firewall
PREROUTING — mengubah paket masuk sebelum di-routing
POSTROUTING — mengubah paket jaringan sebelum dikeluarkan

Chain akan memeriksa paket-paket yang masuk sesuai dengan kriteria yang sudah ditentukan. Pemeriksaan biasanya dilakukan dengan mencocokan TCP Header dari paket data dengan suatu aturan yang sudah di tentukan pada chain. Jika cocok, maka chain akan melakukan jump atau eksekusi terhadap paket tersebut. Jump bawaan dapat berupa “DROP” (buang) atau “ACCEPT” (terima).

Dalam proses pencocokan kriteria paket pada chain digunakan beberapa perintah sebagai berikut :

-t table
# mendefinisikan tabel yang akan digunakan (mangel, filter atau nat). # bila tidak didefinisikan, asumsi yang digunakan adalah tabel filter.
-j jump
# mendefinisikan jump yang akan diberlakukan pada suatu paket yang cocok dengan kriteria (rule) yang diterapkan.
-A 
# menambahkan chain baru sesudah chain terakhir.
-F
# menghapus semua chain pada suatu tabel.
-p protocoltype   
# mencocokan protokol yang digunakan (TCP, UDP, ICMP dan lain-lain)
-s sourceIPaddr  
# mencocokan alamat IP asal pada paket data
-d destinationIPaddr       
# mencocokan alamat IP tujuan pada paket data
-i interfacename    
# mencocokan input interface di mana paket akan diterima.
-o interfacename   
# mencocokan output interface di mana paket akan dikirimkan.

Contoh:

iptables -A INPUT -s 192.168.0.149 -j DROP

# artinya:
# firewall memblok paket yang masuk dari alamat IP 192.168.0.149

Untuk pencocokan kriteria berdasarkan protokol TCP dan UDP, terdapat beberapa perintah tambahan, yaitu :

-p tcp --sport portnumber   
# port asal TCP, dapat berupa suatu port atau rentang port.
# untuk menggunakan rentang port formatnya adalah startport:endport
-p tcp --dport portumber  
# port tujuan TCP
-p tcp --syn                       
# mencocokan TCP Request Connection yang baru
-p udp --sport portnumber  
# port asal UDP, dapat berupa suatu port atau rentang port. 
# untuk menggunakan rentang port formatnya adalah startport:endport
-p udp --dport portnumber 
# port tujuan UDP

Contoh:

iptables -A INPUT -s 192.168.0.250 -p tcp --dport 23 -j DROP

# artinya:
# firewall memblok layanan telnet (port 23) yang berasal dari alamat IP 192.168.0.250

2. SELinux (Security-Enhanced Linux)

SELinux merupakan implementasi dari mekanisme MAC (Mandatory Access Control) pada kernel linux yang memeriksa operasi-operasi yang diizinkan setelah DAC (Discretionary Access Control) standar diperiksa.

DAC adalah jenis kontrol akses di mana pengguna yang memutuskan bagaimana pengguna melindungi dan membagikan (share) data-datanya melalui sistem komputer untuk membatasi akses ke suatu objek berdasarkan identitas dan atau kelompok yang dimiliki. Pada DAC, pengguna diklasifikasikan berdasarkan kepemilikan atau grup. Umumnya sistem operasi menggunakan kontrol akses jenis ini.

Sedangkan MAC adalah jenis kontrol akses di mana sistem yang memutuskan bagaimana data akan diakses atau dibagikan atau melakukan beberapa jenis operasi pada objek. Pada MAC, pengguna diklasifikasi berdasarkan level dan lebih aman dibanding DAC.

  • Untuk mengetahui status dari SELinux, gunakan perintah berikut:
sestatus
Gambar 1: Tampilan status SELinux
  • Untuk melihat/ mengubah konfigurasi SELinux, gunakan perintah berikut:
vi /etc/selinux/config

Berikut konfigurasi SELinux secara bawaan pada Fedora:

Gambar Konfigurasi SELinux
Gambar 2: Konfigurasi bawaan SELinux pada Fedora

Penjelasan:
Opsi “SELINUX” mengatur mode SELinux yang berjalan. Terdapat tiga macam mode SELinux, yaitu:

  1. Enforcingdalam mode ini Linux memberlakukan kebijakan SELinux dan menolak akses berdasarkan peraturan kebijakan SELinux. Secara default, Fedora memilih mode ini.
  2. Permissive, mode ini hampir sama dengan Enforcing, hanya saja mode ini mengeluarkan pesan peringatan jika terjadi sesuatu.
  3. Disabled, dalam mode ini SELinux dimatikan.

Opsi “SELINUXTYPE” mengatur kebijakan SELinux yang digunakan. Terdapat tiga macam kebijakan, yaitu:

  1. Targeted, kebijakan untuk melindungi proses-proses yang targeted. Secara default, Fedora menggunakan kebijakan ini.
  2. Minimum, kebijakan untuk melindungi proses-proses yang dipilih
  3. MLS, kebijakan untuk perlindungan keamanan multi-level.

Saat menggunakan SELinux, berkas-berkas, termasuk direktori-direktori dan perangkat-perangkat, disebut sebagai objek. Proses-proses, seperti menjalankan suatu perintah atau menggunakan suatu aplikasi, disebut sebagai subjek.

Proses-proses dan berkas-berkas diberi label dengan konteks SELinux yang berisi informasi tambahan, seperti pengguna SELinux, peran, tipe, dan level (opsional). Saat menjalankan SELinux, semua informasi ini digunakan untuk membuat keputusan kontrol akses. Di Fedora, SELinux menyediakan kombinasi Role-Based Access Control (RBAC), Type Enforcement (TE), dan juga Multi-Level Security (MLS) yang opsional. Gunakan perintah berikut untuk melihat konteks SELinux dari suatu berkas atau direktori:

ls -Z namafile/direktori
Gambar 3: Konteks SELinux dari suatu berkas

Konteks SELinux mengikuti sintaks berikut: SELinux user:role:type:level.

a. Pengguna SELinux (SELinux user)

Identitas pengguna SELinux adalah sebuah identitas yang dikenal oleh kebijakan targeted yang diberi kewenangan akan sekumpulan peran dan range  MLS/ MCS  tertentu. Setiap pengguna Linux dipetakan ke pengguna SELinux melalui kebijakan SELinux. Jalankan perintah berikut sebagai root untuk melihat daftar pemetaan antara akun pengguna Linux dan SELinux (perlu memasang paket policycoreutils-python terlebih dahulu).

semanage login -l
Gambar 4: Pemetaan pengguna Linux ke pengguna SELinux

b. Peran (Role)

Bagian dari SELinux adalah model keamanan Role-Based Access Control (RBAC). Peran adalah atribut dari RBAC. Pengguna-pengguna SELinux diberi kewenangan akan peran-peran, dan peran-peran diberi kewenangan akan domain-domain. Peran berfungsi sebagai perantara antara domain dan pengguna SELinux. Peran yang dapat dimasukkan menentukan domain mana yang dapat dimasukkan, sehingga membuat SELinux dapat mengontrol jenis objek mana yang dapat diakses. Hal ini membantu mengurangi kerentanan terhadap serangan eskalasi hak istimewa.

c. Tipe (Type)

Tipe adalah atribut dari TE. Tipe mendefinisikan domain untuk proses, dan tipe dari berkas. Aturan kebijakan SELinux menentukan bagaimana tipe-tipe dapat mengakses satu sama lain, baik suatu domain mengakses suatu tipe, atau suatu domain mengakses domain lain. Akses hanya diperbolehkan jika ada aturan kebijakan SELinux yang membolehkan hal tersebut.

d. Level

Level adalah atribut dari MLS dan MCS. MLS range adalah sepasang level, ditulis sebagai lowlevel-highlevel jika level-nya berbeda, atau lowlevel jika level-nya sama (s0-s0 sama dengan s0). Setiap level merupakan pasangan sensitivitas-kategori, di mana kategorinya opsional. Jika ada kategori, level ditulis sebagai sensitivity:category-set.

Di Fedora, kebijakan SELinux memaksa MCS diberlakukan. Dalam MCS hanya terdapat satu sensitivitas yaitu s0. MCS di Fedora mendukung 1024 kategori yang berbeda, mulai dari c0 sampai c1023. s0-s0: c0.c1023 merupakan sensitivitas s0 dan berwenang untuk mengakses semua kategori.

Untuk memahami lebih lanjut mengenai SELinux pada Fedora, silakan baca dokumen berikut.

f) Menguji Keamanan Sistem Operasi

Salah satu cara menguji keamanan sistem operasi adalah dengan menggunakan Nmap. Untuk memasang Nmap, gunakan perintah berikut.

yum install nmap

Untuk menguji keamanan, cek port berapa saja yang terbuka (port scanning) dengan perintah berikut.

nmap -p 1-65535 alamatIPtarget

Lalu akan muncul hasil port scanning seperti gambar berikut.

Gambar
Gambar 5: Hasil scanning port dengan Nmap

Selain itu, periksa versi layanan apa saja yang berjalan (services scanning) dan deteksi  jenis OS apa yang digunakan dengan perintah berikut.

nmap -sV -O alamatIPtarget
Gambar 6:
Gambar 6: Hasil scanning layanan dengan Nmap

Dari hasil scanning di atas, terlihat ada tiga port tcp yang terbuka dan satu port yang terfilter. Port terfilter karena packet filtering mencegah komunikasi dengan port tersebut. Dengan begitu, kemungkinan munculnya serangan dapat diminimumkan.

Untuk hasil deteksi OS, Nmap tidak spesifik menyebutkan jenis sistem operasi dari digunakan target. Seharusnya hasil yang benar adalah Fedora release 21 dengan kernel Linux 3.19.

Demikian pembahasan mengenai langkah hardening (e) dan (f). Semoga bermanfaat 🙂

Langkah Hardening Sistem Operasi Fedora-Server 21 (1/2)

Dalam dokumen “Guide to General Server”, yang dikeluarkan oleh NIST pada Juli 2008, terdapat panduan untuk mengamankan/ hardening suatu sistem operasi. Adapun langkah-langkahnya adalah sebagai berikut.
a. memasang dan menambal (patch) sistem operasi
b. menghapus layanan, aplikasi, dan protokol yang tidak diperlukan
c. mengkonfigurasi pengguna-pengguna, grup-grup, dan otentikasi
d. mengkonfigurasi kontrol sumberdaya-sumberdaya
e. memasang dan mengkonfigurasi kontrol keamanan tambahan, seperti anti-virus, firewall berbasis host, dan sistem deteksi intrusi (IDS), jika diperlukan
f. menguji keamanan dari dasar sistem operasi untuk memastikan langkah yang dilakukan sesuai dengan yang dibutuhkan keamanan

Dalam artikel ini akan dibahas mengenai langkah hardening (a), (b), (c) dan (d).
Untuk bahasan mengenai langkah hardening (e) dan (f) dapat dilihat pada artikel “Langkah Hardening Sistem Operasi Fedora-Server 21 (2/2)“.

Catatan:

- Setiap perintah dalam tutorial ini diakhiri dengan menekan tombol "Enter".
- Tambahkan "sudo" di depan perintah jika diperlukan akses sebagai root.
- Perintah yang berwarna merah disesuaikan dengan keinginan sendiri.
- Tagar di depan perintah menunjukkan komentar, tidak perlu diketik.

a. Memasang dan Menambal (Patch) Fedora-Server 21

Dalam artikel ini akan dibahas langsung mengenai cara menambal (patch) Fedora-Server 21. Untuk langkah pemasangan Fedora-Server 21 bisa dilihat pada artikel sebelumnya (klik di sini).

Pada Fedora-Server, penambalan dilakukan dengan perintah “yum”. Jika penambalan dilakukan melalui proxy, lakukan konfigurasi proxy terlebih dahulu dalam berkas “yum.conf” dengan cara:

1. Gunakan perintah:

vi /etc/yum.conf

2. Tekan huruf “I“, lalu tambahkan baris berikut.

# The proxy server - proxy server:port number
proxy=http://proxy.domain.com:8080
# The account details for yum connections 
proxy_username=username 
proxy_password=password

3. Tekan tombol “Esc“, lalu ketik “:wq” untuk menyimpan dan keluar.

  • Untuk mengecek pemutakhiran (update) terbaru, gunakan perintah:
yum check-update
cek apdet
Gambar 1: Tampilan Fedora-Server saat megecek pemutakhiran terbaru

Secara default Fedora-Server 21 akan mencari peladen mirror tercepat untuk melakukan pemutakhiran. Lalu semua paket yang perlu dimutakhirkan akan ditampilkan.

cek apdet 2
Gambar 2: Beberapa paket yang tersedia untuk dimutakhirkan (jika ada)
  • Untuk melakukan pemutakhiran terbaru, gunakan perintah:
yum update

Sebelum mengunduh pemutakhiran, Fedora-Server akan menampilkan daftar paket yang akan diunduh beserta ringkasan transaksi pengunduhannya (jika ada) seperti pada Gambar 3.

yum apdet
Gambar 3: Tampilan Fedora-Server sebelum mengunduh pemutakhiran terbaru (jika ada)

Pilih huruf “y” untuk mengunduh, lalu tunggu hingga pemutakhiran selesai.

apdet complete
Gambar 4: Tampilan Fedora-Server saat selesai melakukan pemutakhiran

Penambalan selesai! 🙂

b. Menghapus layanan, aplikasi, dan protokol yang tidak diperlukan

Sebelum menghapus layanan dan aplikasi yang tidak diperlukan, kita perlu mengetahui jenis layanan/ aplikasi apa saja yang terdapat Fedora-Server 21.

  • Untuk melihat daftar semua layanan, gunakan perintah berikut.
# Layanan SysV
chkconfig --list

# Layanan systemd
systemctl list-unit-files

Untuk melihat semua layanan yang sedang berjalan, gunakan perintah berikut.

service --status-all
  • Untuk melihat status dari suatu layanan, gunakan perintah berikut.
service namalayanan status  
  • Untuk menghidupkan/ mematikan suatu layanan, gunakan perintah berikut.
# Menjalankan suatu layanan
systemctl start namalayanan

# Menghentikan suatu layanan
systemctl stop namalayanan

# Membuat suatu layanan hidup setiap boot
systemctl enable namalayanan

# Membuat suatu layanan mati (bukan sekedar dihentikan)
systemctl disable namalayanan

# Menjalankan ulang suatu layanan
systemctl restart namalayanan
  • Untuk melihat daftar semua port yang terbuka beserta layanannya, gunakan perintah berikut.
# Agar muncul soket layanan numerikal
netstat -tulpn

# Agar muncul soket layanan literal 
netstat -tulp
Gambar
Gambar 5: Contoh daftar log yang terbuka dengan soket numerikal
Gambar
Gambar 6: Contoh daftar port yang terbuka dengan soket literal
  • Untuk menutup suatu port dapat dilakukan dengan mematikan layanan terkait menggunakan perintah “systemctl” atau dengan menambah aturan baru di firewall menggunakan perintah berikut.
iptables -A INPUT -p tcp/udp --dport jenisprotokol/no.port -j DROP

c. Mengkonfigurasi Pengguna, Grup, dan Otentikasi

Mengkonfigurasi Pengguna dan Grup

  • Untuk menambah pengguna baru, gunakan perintah:
useradd username 

Lalu buat kata sandi untuk pengguna tersebut dengan perintah:

passwd username
  • Untuk menghapus suatu pengguna, gunakan perintah:
userdel username
  • Untuk mengetahui adanya id suatu pengguna, gunakan perintah:
id username
  • Untuk menambah grup baru, gunakan perintah:
groupadd groupname
  • Untuk menghapus suatu grup, gunakan perintah:
groupdel groupname
  • Untuk mengetahui daftar grup yang tersedia, gunakan perintah:
groups
  • Untuk memasukkan pengguna ke dalam suatu grup, gunakan perintah:
# Menambah ke dalam grup bawaan (default) seperti "root"
usermod -g groupname username

# Menambah ke dalam grup grup tambahan seperti "wheel"
usermod -a -G groupname username
  • Untuk mengeluarkan pengguna dari suatu grup, gunakan perintah:
gpasswd -d username groupname
  • Agar suatu pengguna diizinkan melakukan perintah “sudo”, masukkan pengguna tersebut ke dalam grup “wheel” dengan perintah:
usermod -a -G wheel username
  • Untuk membatasi hak akses root, buka berkas “su” dengan perintah:
vi /etc/pam.d/su

Lalu hilangkan tanda pagar pada baris berikut:

# auth required pam_wheel.so use_uid 

Setelah perubahan disimpan, hanya pengguna yang masuk ke dalam grup “wheel” yang dapat mengakses sebagai root.

Mengkonfigurasi Otentikasi

Untuk menerapkan otentikasi yang aman, diperlukan kebijakan kata sandi yang kuat. Salah satu cara menerapkannya adalah dengan menggunakan modul “pam_cracklib.so”.

Modul ini melakukan sejumlah pemeriksaan seperti memastikan kata sandi tidak mirip dengan kata-kata kamus, paling sedikit memiliki panjang tertentu, bukan kebalikan dari kata sandi sebelumnya, dan bukan kata sandi yang hanya diubah sedikit dari kata sandi sebelumnya.

Untuk menggunakan modul ini, lakukan langkah berikut.

1. Buka berkas “system-auth” dengan perintah berikut.

 vi /etc/pam.d/system-auth

2. Cari baris “password  required” dan edit menjadi seperti di bawah ini.

password required /lib/security/pam_cracklib.so retry=2 minlen=10 difok=6

# Keterangan:
# retry=2, artinya mencoba ulang paling banyak 2 kali
# minlen=10, artinya panjang kata sandi minimum 10 karakter
# difok=6, artinya paling banyak 6 karakter yang boleh sama dengan kata sandi sebelumnya

Selain itu, kata sandi para pengguna juga perlu diatur masa berlakunya supaya otentikasi lebih aman. Untuk mengatur masa berlakunya kata sandi, gunakan perintah berikut.

chage -m mindays -M maxdays -d lastday -I inactive -E expiredate -W warndays namapengguna

# Contoh:
# chage -m 7 -M 60 -W 7 pengguna1
# Artinya:
# -m 7 : jarak antar perubahan kata sandi minimum 7 hari
# -M 60: jarak antar perubahan kata sandi maksimal 60 hari 
# -W 7 : diperingatkan untuk mengganti kata sandi 7 hari sebelum tanggal expire

d. Mengkonfigurasi Kontrol Sumberdaya-Sumberdaya

  • Untuk melihat izin akses dari suatu berkas atau direktori, gunakan perintah:
ls -lha

Contoh hasil tampilannya:

Gambar
Gambar 7: Daftar izin akses dalam direktori “home” seorang pengguna

 

 

 

 

 

 

 

Karakter paling kiri berupa tanda “-” jika jenisnya berupa berkas, atau berupa huruf “d” jika berupa direktori. Sembilan karakter lainnya dipecah menjadi tiga bagian yang dapat diubah ke dalam permission bits, masing-masing menunjukkan izin akses dari pemilik, grup pemilik, serta pengguna lain di luar grup pemilik.

rwxr
Gambar 8: Bagan bit perizinan (permission bits)

Tabel permission bits:

  • Untuk mengubah izin akses dapat dilakukan dengan perintah “chmod” (change mode). Perintah ini dapat dilakukan dalam mode oktal atau mode simbolik.
# Mode oktal
chmod permissionbits folder/filename

# Mode simbolik
chmod <references><operator><modes> folder/filename
Reference Kelas Deskripsi
u user pemilik berkas
g group pengguna-pengguna yang merupakan anggota dari grup pemilik berkas
o others pengguna-pengguna bukan pemilik dan juga bukan anggota dari grup pemilik
a all semua pengguna
Operator Deskripsi
+ menambah suatu mode kepada suatu kelas
- menghilangkan suatu mode dari suatu kelas
= suatu mode dibuat sama persis dengan mode dari suatu kelas
Mode Nama Deskripsi
r read membuka suatu berkas atau direktori
w write membuat suatu berkas atau direktori
x execute mengeksekusi suatu berkas atau direktori

Contoh dengan mode oktal:

Gmabar
Gambar 9: Contoh perintah “chmod” dengan mode oktal
Contoh dengan mode simbolik:
Gambar
Gambar 10: Contoh perintah “chmod” dengan mode simbolik

 

 

 

Demikian pembahasan mengenai langkah hardening (a) sampai (d). Semoga bermanfaat 🙂

Silakan klik di sini untuk membaca artikel kelanjutannya 😀

 

Pemasangan Sistem Operasi Fedora-Server 21 pada Aplikasi VirtualBox

A. MEMASANG FEDORA-SERVER 21 PADA VIRTUALBOX

Yang harus diunduh:

  • pemasang (installer) aplikasi VirtualBox, silakan unduh di: https://www.virtualbox.org/wiki/Downloads
  • citra ISO sistem operasi Fedora-Server 21, silakan unduh di: https://getfedora.org/en/server/download/

Dalam contoh ini, saya menggunakan Fedora-Server 21 32 bit dan aplikasi Oracle VM VirtualBox versi 4.3.20 yang berjalan pada sistem operasi Windows 7 Ultimate 64 bit.

A.1. Langkah-langkah Membuat Mesin Maya (Virtual Machine)

1. Buka aplikasi VirtualBox, lalu klik “New”.

Tampilan awal VB
Gambar 1: Tampilan awal aplikasi VirtualBox

2. Masukkan nama, jenis, dan versi sistem operasi yang akan dipasang, lalu klik “Next”.

Langkah 1
Gambar 2: Langkah kedua

3. Tentukan besar RAM yang dialokasikan untuk mesin maya, lalu klik “Next”.

Langkah 2
Gambar 3: Langkah ketiga

4. Buat cakram keras maya (virtual hardisk), lalu klik “Next”.

Langkah 3
Gambar 4: Langkah keempat

5. Pilih VDI sebagai jenis berkas cakram keras maya, lalu klik “Next”.

Langkah 4
Gambar 5: Langkah kelima

6. Pilih “Dynamically allocated”, lalu klik “Next”.

VB-6
Gambar 6: Langkah keenam

7. Tentukan nama dan ukuran cakram keras maya (disarankan berukuran 8 GB), lalu klik “Create”.

Langkah 6
Gambar 7: Langkah ketujuh

8. Setelah cakram keras maya selesai dibuat, klik “Settings” >> “Storage” >> “Empty”. Kemudian klik gambar piringan kecil, pilih citra ISO Fedora-Server 21 sesuai direktori penyimpanannya, lalu klik “OK”.

Langkah 7
Gambar 8: Langkah memasukkan citra ISO dari Fedora Server21 ke mesin maya

9. Mesin maya sudah selesai dibuat secara lengkap.

Pembuatan Virtual Machine selesai
Gambar 9: Tampilan VirtualBox setelah citra ISO dimasukkan ke mesin maya

A.2. Langkah-langkah Memasang Fedora-Server 21

1. Pada tampilan VirtualBox, pilih mesin maya Fedora-Server 21 yang telah dibuat, lalu klik menu “Start”. Tunggu sampai tampilannya seperti berikut ini.

Tampilan awal saat booting
Gambar 10: Tampilan awal saat pengebutan (booting)

2. Pilih “Install Fedora-Server 21” untuk pemasangan langsung.

3. Pilih bahasa yang ingin digunakan, lalu klik “Continue”.

Pilih bahasa
Gambar 11: Tampilan menu pemilihan bahasa pada pemasangan Fedora-Server 21

4.  Konfigurasi pemasangan Fedora-Server 21:

Konfigurasi Fedora
Gambar 12: Tampilan konfigurasi pemasangan Fedora-Server 21

a. Klik “Date & Time”. Atur tanggal dan waktu dari Fedora-Server 21, lalu klik “Done”.

Atur timezone
Gambar 13: Tampilan pengaturan tanggal dan waktu

b. Klik “Software Selection”. Pilih pengaya (add-ons) environtment apa saja yang ingin dipasang dalam Fedora-Server, lalu klik “Done”. (optional)

atur software selection
Gambar 14: Tampilan pengaturan add-ons environtment yang ingin dipasang

c. Klik “Installation Destination”. Klik tanda ceklis sebanyak dua kali pada bagian “Local Standard Disks”, lalu klik “Done”.

atur destinasi pemasangan 2
Gambar 15: Tampilan pengaturan destinasi pemasangan sistem operasi

5. Selesai mengkonfigurasi pemasangan, klik “Begin Installation”.

selesai konfigurasi, klik begin
Gambar 16: Tampilan setelah konfigurasi pemasangan Fedora-Server 21 diisi dengan lengkap

6. Konfigurasi pengaturan pengguna Fedora-Server 21:

buat kata sandi root
Gambar 17: Tampilan konfigurasi pengaturan pengguna Fedora-Server 21

a. Buat kata sandi untuk root (disarankan pilih kata sandi serumit mungkin), setelah itu klik “Done”.

buat kata sandi root
Gambar 18: Tampilan pengaturan kata sandi root Fedora-Server 21

b. Isi konfigurasi untuk membuat pengguna, setelah itu klik “Done”.

tambahkan pengguna
Gambar 19: Tampilan konfigurasi pembuatan pengguna Fedora-Server 21

7. Tunggu proses pemasangan hingga selesai.

tampilan saat pemasangan selesai
Gambar 20: Tampilan saat pemasangan Fedora-Server 21 sudah selesai

8. Matikan mesin maya, lalu klik “Settings” >> “System”. Hilangkan tanda ceklis CD/DVD pada pilihan “Boot Order”, klik “OK”.

ubah urutan boot
Gambar 21: Tampilan saat mengatur boot dari cakram keras saja

9. Nyalakan kembali mesin maya, tunggu sampai muncul tampilan seperti pada gambar 22. Pilih “Fedora, with Linux 3.17.4-301.fc.21.i686”.

Gambar 23: Tampilan pilihan booting
Gambar 22: Tampilan pilihan pengebutan

10. Tunggu proses pengebutan selesai hingga muncul tampilan untuk masuk ke Fedora-Server 21.

Gambar 23: Tampilan saat proses pengebutan
Gambar 23: Tampilan saat proses pengebutan Fedora-Server 21
Gambar 24: Tampilan awal Fedora-Server 21
Gambar 24: Tampilan awal saat masuk ke Fedora-Server 21

Selesai!
Semoga bermanfaat 🙂

 

 

Installasi OpenBSD pada VirtualBox

OpenBSD adalah sebuah perangkat lunak gratis yang menyediakan platform UNIX serta didesain untuk portable, efficient, dan aman [1]. untuk panduan installasi kali ini menggunakan OpenBSD versi 5.6 dengan berat file 221.3 MB, file bisa didownload di http://www.openbsd.org/ftp.html.

1. Membuat virtual machine, dengan nama OpenBSD.

Screen Shot 2015-03-30 at 10.48.43 PM2. Setting run install56.iso dari cd/dvd.

Screen Shot 2015-03-30 at 10.51.56 PM

3. Run install56.iso lalu press enter.

Screen Shot 2015-03-30 at 11.20.00 PM

4. Ketik I untuk proses install

Screen Shot 2015-03-30 at 11.22.59 PM

5. Maka keluar pilihan keyboard apa yang dipakai, jika default cukup tap enter

Screen Shot 2015-03-30 at 11.28.02 PM

    Jika tidak mau default ketik L lalu tap enter maka akan keluar tampilan seperti     ini

Screen Shot 2015-03-30 at 11.33.29 PM

6. Beri nama hostname OpenBSD atau sesuka hati anda setelah itu tap enter

Screen Shot 2015-03-30 at 11.39.26 PM

7. Pilih Jaringan mana yang akan dikonfigure

Screen Shot 2015-03-30 at 11.41.23 PM

    Pilih em0 lalu tap enter, setting IPv4 untuk em0 dengan dhcp lalu tap enter

Screen Shot 2015-03-30 at 11.43.30 PM

    Setting none untuk IPv6

Screen Shot 2015-03-30 at 11.46.05 PM

Muncul tampilan jaringan mana yang mau dikonfigurasi, pilih done tap enter

Screen Shot 2015-03-31 at 12.08.51 AM

8. Kemudian Isikan Password User

Screen Shot 2015-03-31 at 1.50.05 AM

9. Lalu pilih tidak untuk installasi X Windows

Screen Shot 2015-03-31 at 1.51.13 AM

10. Pilih no untuk suspend on lid close

Screen Shot 2015-03-31 at 3.26.37 AM

11. Setup user baru isi nama login nya, Fullname, Password, dan Disabble login           ke root

Screen Shot 2015-03-31 at 3.27.28 AM

12. Pilih timezone Asia Jakarta

Screen Shot 2015-03-31 at 3.28.20 AM

13. Untuk pembagian partisi isikan secara default

Screen Shot 2015-03-31 at 3.29.29 AM

14. Setting auto layout dengan mengetik a

Screen Shot 2015-03-31 at 3.31.48 AM

Screen Shot 2015-03-31 at 3.33.04 AM

15. Muncul bagian apa saja yang akan di install, untuk ini hilangkan awalan x             dengan cara mengetik –x*, karena kita tidak membutuhkan installasi                       xwindows pada server

Screen Shot 2015-03-31 at 3.34.20 AM

Screen Shot 2015-03-31 at 3.37.01 AM

16. Karena kita tidak membutuhkan game, maka hilangkan juga installasi                     game56

Screen Shot 2015-03-31 at 3.37.45 AM

17. Lalu pilih done ketika selesai

Screen Shot 2015-03-31 at 3.39.50 AM

Screen Shot 2015-03-31 at 3.40.51 AM

18. Setelah itu muncul pemberitahuan telah berhasil menginstall, lalu reboot.

Screen Shot 2015-03-31 at 3.41.42 AM

19. Kita lakukan uji coba login dengan menggunakan root

Screen Shot 2015-03-31 at 3.43.34 AM

Reference

[1] http://linux.softpedia.com/get/System/Operating-Systems/Linux-Distributions/OpenBSD-2002.shtml

Installasi WordPress di OpenBSD 5.6

Sebelum installasi package dimulai, langkah pertama adalah mengkonfigurasi dari url mana package akan di unduh, berikut langkahnya.

Pada layar sistem operasi ketik:

Screen Shot 2015-03-31 at 11.01.14 PMselanjutnya itu tentukan url yang dijadikan tujuan untuk mengunduh package, dengan mengetik perintah:Screen Shot 2015-03-31 at 11.01.31 PM

alamat url diatas tidak mutlak, jika ingin mengganti dari url mana package akan di unduh bisa dilihat di “http://www.openbsd.org/ftp.html”. Setelah mengkonfigurasi dari url mana package akan di unduh, berikutnya adalah langkah-langkah bagaimana menginstallasi wordpress didalam OpenBSD.

Catatan: untuk percobaan kali ini, penulis menggunakan user root, sehingga pengetikan perintah tidak menggunakan tambahan kata sudo.

Langkah Pertama: Install Peramban Web

Installasi peramban web dibutuhkan untuk memudahkan kita menginstall wordpress, berikut caranya:

pada layar sistem operasi ketikan perintah:

Screen Shot 2015-04-01 at 2.50.28 AM

Langkah Kedua: Install Pico

pico memiliki kemudahan dibandingkan dengan kita mengetik di vi, jadi penulis menyarankan agar menginstall pico. berikut langkahnya:

pada layar, ketikan perintah:

Screen Shot 2015-04-01 at 2.00.05 AM

Langkah Ketiga: Install dan Konfigurasi Apache

pada sistem operasi OpenBSD, apache telah di install, tetapi dibutuhkan beberapa perintah untuk menjalankan apache, berikut langkahnya:

pada layar sistem operasi, ketikan perintah

pico /etc/rc.conf.local

lalu tambahkan:

httpd_flags=""

lalu restart OpenBSD dengan mengetikan:

reboot

setelah reboot, uji apakah apache telah berjalan dengan mengetikan perintah:

lynx localhost

jikalau berhasil, pada peramban web terdapat tulisan “It Worked”.

Langkah Keempat: Install dan Konfigurasi MySql Server

untuk penyimpanan data wordpres, dibutuhkan MySql Server, untuk kali ini penulis menggunakan MySql Server versi 5.1.73, berikut perintahnya:

pada layar sistem operasi, ketikan perintah:

Screen Shot 2015-04-01 at 2.56.09 AM

setelah installasi berhasil, MySql menyimpan instance di alamat:

/usr/local/bin/mysql_install_db

setelah itu tambahkan password ketika login sebagai root, langkah pertama aktifkan basis data MySql dengan mengetik perintah:

/usr/local/bin/mysqld_safe &

selanjutnya jalankan script MySql dengan perintah:

/usr/local/bin/mysql_secure_installation

selanjutnya ikuti perintah yang diberikan, isi sesuai keinginan:

Enter current password for root (enter for none): [enter]
Change the root password [Y/n] y
New password: [secure password for mysql root]
Re-enter new password: [secure password for mysql root]
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

setelah itu verifikasi apakah MySql telah nyala dengan mengetik perintah:

& fstat | grep "*:" | grep mysql

jika MySql ingin selalu dijalankan pada ketika menjalankan sistem operasi, edit rc.conf.local dengan mengetik perintah:

pico /etc/rc.conf.local

lalu tambahkan:

pkg_scripts="mysqld"

setelah itu reboot sistem operasi, cek apakah MySql telah berjalan. Selanjutnya sebelum proses installasi wordpress, hal yang pertama dilakukan adalah membuat basis data untuk penyimpanan data wordpress

Screen Shot 2015-04-01 at 3.12.01 AM

setelah masuk kedalam mysql, ketikan perintah:

mysql> CREATE DATABASE wordpressdb;

mysql> GRANT ALL ON wordpressdb.* to wpuser@localhost IDENTIFIED BY '[secure password for wpuser on wp]';

selanjutnya cek apakah database berhasil dibuat, dengan megetikan perintah:

Screen Shot 2015-04-01 at 3.13.39 AM

setelah database berhasil dibuat, keluar dari mysql dengan mengetikan perintah:

mysql> \q

Langkah Kelima: Install dan Konfigurasi WordPress+PHP

Untuk install wordpress pada OpenBSD ketikan perintah berikut

pkg_add wordpress

Saat installasi package wordpress, OpenBSD menyarankan php yang digunakan ketika proses installasi berjalan, perbedaan dari php-5.4.30p0 dan php-5.4.30p0-ap2 adalah ap2 menggunakan apache versi dua, sisanya menggunakan apache versi satu.

Screen Shot 2015-04-01 at 3.15.16 AM

ketika proses installasi, pengguna diharuskan mengkonfigurasi php, seperti gambar dibawah ini.

Screen Shot 2015-04-01 at 3.19.23 AM

Lakukan perintah dari pesan yang ditampilkan, dengan cara:

ln -s /var/www/conf/modules.sample/php-5.4.conf /var/www/conf/modules/php.conf
ln -s /etc/php-5.4.sample/mysql.ini /etc/php-5.4/mysql.ini
chown root:www /etc/php-5.4.ini
chmod 640 /etc/php-5.4.ini
mkdir /var/www/tmp
pico /var/www/conf/httpd.conf

saat masuk kedalam httpd.conf via pico pada bagian “Dynamic Shared Object (DSO Support)” cari “LoadModule” dengan menggunakan ^w, dibawahnya tambahkan perintah:

# PHP 5.4 Module
# LoadModule php5_module /usr/local/lib/php-5.4/libphp5.so

sekarang cari “php” dengan menggunakan ^w, ketika menemukan yang awalannya “AddType” hapus tanda #, lalu ubah menjadi seperti ini:

AddType application/x-httpd-php .php .php4 .php3 .htm .html

lalu tambahkan dibawahnya:

AddType application/x-httpd-php-source .phps

sekarang cari“DirectoryIndex” dengan menggunakan ^w, tambahkan beberapa informasi, yaitu:

<Directory "/var/www/htdocs/[Your Blog Directory #1]">
Options FollowSymLinks
AllowOverride All
</Directory>

setelah itu tambahkan di bawahnya

DirectoryIndex index.html index.htm index.php index.php5 index.php4 index.php3

didalam package wordpress ada modul php yang tertinggal yaitu php-gd, berguna untuk otomatisasi memotong dan merubah image ketika proses installasi wordpress.

pkg_add php-gd

setelah itu muncul perintah seperti proses installasi php, ketikan perintah seperti berikut ini:

ln -sf /etc/php-5.4.sample/gd.ini /etc/php-5.4/gd.ini

selanjutnya adalah bagaimana membagi dalam satu web server mempunyai lebih dari satu alamat website dengan virtual host, terutama jika mempunyai lebih dari satu domain, setiap blog mempunya direktori berbeda, dan mempunyai tampilan yang berbeda. pada httpd.conf cari dengan menggunakan ^w “VirtualHost” dan tambahkan beberapa baris:

<VirtualHost [Your Server IP address]>
ServerAdmin [Your email address]
DocumentRoot /htdocs/[Your Blog Directory #1]
ServerName [Your domain name for Blog #1]
</VirtualHost>
<VirtualHost [Your Server IP address]>
ServerAdmin [Your email address]
DocumentRoot /htdocs/[Your Blog Directory #2]
ServerName [Your domain name for Blog #2]
</VirtualHost>

setelah itu, exit dengan menggunakan ^x, lalu save semua perubahan perintah. selanjutnya adalah uji coba apakah php terlah berhasil di install pada OpenBSD, yang pertama dilakukan adalah membuat php file, dengan mengetik perintah:

echo "<?php phpinfo() ?>" > /var/www/htdocs/phptest.html

lalu test apache apakah berhasil menarik modul php

apachectl configtest

selanjutnya restart apache, supaya dapat menarik semua modul

sudo apachectl graceful

lalu kita ujicoba php dengan berkas yang telah disiapkan:

lynx http://[ip server]/phptest.html

ketika melihat “logo PHP” berarti php telah berhasil di install, selanjutnya adalah menghapus file test tadi:

rm /var/www/htdocs/phptest.html

proses selanjutnya adalah konfigurasi wordpres, pada percobaan kali ini menkonfigurasi dua website dalam satu server, tiap website memiliki domain yang berbeda. yang pertama dilakukan adalah copy folder wordpress kedalam htdocs:

cp -rp /var/www/wordpress /var/www/htdocs/[Your Blog Directory #1]/

sekarang ubah permission untuk mengakses www, berguna untuk memberikan akun hak untuk menulis pada satu direktori.

chown -R www:www /var/www/htdocs/[Your Blog Directory #1]/
chmod -R g+w /var/www/htdocs/[Your Blog Directory #1]/

setelah itu buat konfigurasi yang sama dengan blog pertama:

cp -rp /var/www/wordpress /var/www/htdocs/[Your Blog Directory #2]/
chown -R www:www /var/www/htdocs/[Your Blog Directory #2]/
chmod -R g+w /var/www/htdocs/[Your Blog Directory #2]/

selanjutnya adalah membuat server mempunyai kemampuan untuk menterjemahkan alamat url menjadi IP address (DNS Resolving), sehingga dapat menampilkan blog mana yang diakses oleh pengguna berdasarkan url:

mkdir /var/www/etc/
ln -s /etc/resolv.conf /var/www/etc/resolv.conf

selanjutnya adalah membuat MySql Server dapat diakses melalui socket:

mkdir -p /var/www/var/run/mysql/
ln -f /var/run/mysql/mysql.sock /var/www/var/run/mysql/mysql.sock

setelah itu masuk kedalam peramban web lynx, untuk installasi wordpress

http://your-server/wp-admin/install.php

atau ketika konfigurasi VirtualHost tidak dilakukan:

http://your-server/[Your Blog Directory #1]/wp-admin/install.php

Screen Shot 2015-04-01 at 8.14.37 AM

Screen Shot 2015-04-01 at 8.15.45 AM

Screen Shot 2015-04-01 at 8.21.44 AMReference

1. http://www.nclee.com/wp-on-obsd-5-3/

 

Instalasi WordPress pada FreeBSD 10.1

Stack FAMP (seperti stack LAMP pada Linux) adalah sekumpulan perangkat lunak sumber terbuka yang pada umumnya diinstal bersama untuk mendukung situs web dan aplikasi web pada server FreeBSD. FAMP adalah akronim dari FreeBSD (sistem operasi), Apache (server web), MySQL (server basis data), dan PHP (untuk memproses konten PHP dinamis). Sebelum menginstal WordPress, kita harus menginstal FAMP terlebih dahulu.

Langkah #1 — Menginstal Apache

Untuk menginstal Apache 2.4 menggunakan pkg, jalankan perintah berikut:

$ sudo pkg install apache24

Untuk mengaktifkan Apache sebagai sebuah servis, tambahkan apache24_enable="YES" pada berkas /etc/rc.conf. Kita dapat menggunakan perintah berikut untuk melakukannya:

$ sudo echo 'apache24_enable="YES"' >> /etc/rc.conf

Sekarang mulai jalankan Apache:

$ sudo service apache24 start


Kita dapat memverifikasi apakah Apache sudah berjalan dengan mengunjungi alamat IP publik server kita dalam peramban web lynx. Kita akan melihat halaman web FreeBSD Apache yang default, berkata “It Works!”.

$ sudo pkg install lynx
$ lynx 172.16.109.128

Langkah #2 — Menginstal MySQL

Untuk menginstal MySQL 5.6 menggunakan pkg, jalankan perintah berikut:

$ sudo pkg install mysql56-server

Untuk mengaktifkan MySQL sebagai sebuah servis, tambahkan mysql_enable="YES" pada berkas /etc/rc.conf. Kita dapat menggunakan perintah berikut untuk melakukannya:

$ sudo echo 'mysql_enable="YES"' >> /etc/rc.conf

Sekarang mulai jalankan MySQL:

$ sudo service mysql-server start


Setelah basis data MySQL berjalan, jalankan naskah keamanan berikut untuk menghapus beberapa default yang berbahaya dan sedikit membatasi akses kepada sistem basis data kita:

$ sudo mysql_secure_installation

Langkah #3 — Menginstal PHP

Untuk menginstal PHP 5.6 menggunakan pkg, jalankan perintah berikut:

$ sudo pkg install mod_php56 php56-mysql php56-mysqli


Sekarang salin contoh berkas konfigurasi PHP menggunakan perintah berikut:

$ sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Sekarang jalankan perintah rehash untuk membangkitkan kembali informasi cache sistem mengenai berkas eksekutabel yang terinstal:

$ rehash

Langkah #4 — Konfigurasi Apache dengan modul PHP

Sebelum Apache dapat memproses halaman PHP, kita harus mengkonfigurasikannya menggunakan mod_php. Buka berkas konfigurasi Apache:

$ sudo vi /usr/local/etc/apache24/httpd.conf

Pertama, kita konfigurasikan Apache untuk membuka berkas index.php secara default. Lihat baris DirectoryIndex index.html dan ubah baris tersebut dengan menambahkan index.php di depan index.html, seperti berikut ini:

Kemudian kita konfigurasikan Apache untuk memproses berkas PHP yang diminta dengan prosesor PHP. Tambahkan baris-baris berikut di akhir berkas:

Sekarang hidupkan kembali Apache:

$ sudo service apache24 restart

Langkah #5 — Uji pemrosesan PHP

Untuk menguji apakah sistem sudah dikonfigurasikan dengan benar untuk memproses PHP, kita dapat membuat naskah PHP yang sangat sederhana. Misalkan kita membuat naskah index.php. Agar Apache dapat mencari berkas dan menyajikannya dengan benar, berkas index.php harus disimpan dalam direktori spesifik–DocumentRoot–dimana Apache akan mencari berkas ketika pengguna mengakses server web. Lokasi DocumentRoot dispesifikasikan dalam berkas konfigurasi Apache yang kita modifikasi sebelumnya (/usr/local/etc/apache24/httpd.conf). Secara default, DocumentRoot ditetapkan pada /usr/local/www/apache24/data. Kita dapat membuat berkas index.php dalam direktori tersebut seperti berikut:

$ sudo echo ''  >> /usr/local/www/apache24/data/index.php

Sekarang kita dapat melakukan pengujian dengan mengunjungi alamat berikut:

$ lynx 172.16.109.128/index.php

atau

$ lynx 172.16.109.128

Langkah #6 — Siapkan basis data MySQL

WordPress menggunakan basis data relasional seperti MySQL untuk mengelola dan menyimpan informasi situs dan pengguna. Pada langkah ini, kita akan menyiapkan basis data dan pengguna MySQL untuk digunakan pada WordPress.

Masuk ke akun administratif MySQL (root) dengan menggunakan perintah ini:

# mysql -u root -p


Buat basis data MySQL dengan menggunakan kueri SQL berikut:

CREATE DATABASE wordpress;


Buat pengguna baru dengan kueri SQL berikut:

CREATE USER wordpressuser@localhost IDENTIFIED BY 'password';


Sekarang berikan izin akses pengguna ke basis data dengan menggunakan kueri SQL berikut:

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

Langkah #7 — Unduh WordPress

Unduh berkas WordPress pada direktori home dengan menggunakan perintah berikut:

$ cd ~
fetch http://wordpress.org/latest.tar.gz


Ekstraksi arsip dengan perintah berikut:

$ tar xvf latest.tar.gz


Hasil ekstraksi ada pada direktori bernama wordpress dalam direktori home.

Untuk menghapus arsip WordPress gunakan perintah:

$ rm latest.tar.gz

Langkah #8 — Konfigurasi WordPress

Pertama-tama, masuk ke direktori wordpress:

$ cd ~/wordpress

Agar konfigurasi lebih mudah, kita akan menggunakan contoh konfigurasi yang disediakan WordPress, wp-config-sample.php. Salin contoh ke wp-config.php:

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

Lakukan modifikasi DB_NAME, DB_USER, dan DB_PASSWORD pada berkas konfigurasi:

$ vi wp-config.php

Langkah #9 — Salin berkas-berkas pada DocumentRoot Apache

Setelah aplikasi WordPress kita terkoneksi dengan basis data, kita harus menyalin berkas-berkas WordPress ke direktori DocumentRoot Apache:

$ sudo cp -rp ~/wordpress/* /usr/local/www/apache24/data/

Sekarang ubah kepemilikan berkas-berkas WordPress ke pengguna dan grup www:

$ sudo chown -R www:www /usr/local/www/apache24/data/*

Langkah #10 — Jalankan instalasi WordPress

Sekarang kita kunjungi alamat IP publik kita pada peramban web sebagai berikut:

$ lynx 172.16.109.128


 

Referensi:

  1. https://www.digitalocean.com/community/tutorials/how-to-install-an-apache-mysql-and-php-famp-stack-on-freebsd-10-1
  2. http://www.freebsdmadeeasy.com/tutorials/web-server/install-php-5-for-web-hosting.php
  3. https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-apache-on-freebsd-10-1