Secure Webserver Dengan OpenBSD

bsd-logoLama sudah gak nulis tutorial sekedar buat catatan pribadi dengan harapan juga bermanfaat buat orang banyak. Nah kali ini saya akan menuliskan pengalaman saya dalam sebuah proses instalasi “Secure Webserver dengan OpenBSD“.

Kesannya angker banget ya hehehe, OpenBSD gitu loh, sebuah OS dengan julukan “Secure by Default“. Dan entah kenapa kok saya merasa lebih nyaman dengan OS bergenre BSD, seperti FreeBSD dan kali ini OpenBSD. Tampaknya ada sesuatu yang menyentuh di hati sehingga jadi cinta dan mencoba familiar dengan OS yang satu ini.

Jangan dianggap susah ya, semuanya mudah, dan gak pake bingung, asal sudah terbiasa dengan segala sesuatu bertema *NIX, maka teman-teman akan dengan mudah memahaminya.

Persiapan

Setelah selesai melakukan instalasi OpenBSD (OpenBSD yang saya gunakan adalah OpenBSD versi 5.9), langkah awal yang harus anda lakukan adalah melakukan konfigurasi package manager dengan cara memasukkan mirror OpenBSD terdekat dengan cara mengedit file /etc/pkg.conf, kemudian masukkan baris perintah berikut ini :

installpath = ftp.jaist.ac.jp

Saya mengambil mirror di Jepang, karena kebetulan server yang saya gunakan ini ada di Jepang.

Langkah selanjutnya ada proses instalasi PHP dan Database server, mungkin sebagian besar teman-teman akan bertanya, kok gak ada instalasi Webservernya? Nah sejak OpenBSD 5.6, OpenBSD membuat Webservernya sendiri yang bernama HTTPD, sehingga tanpa instalasi pun secara default HTTPD ini sudah terinstall di OpenBSD, tinggal selanjutnya kita aktivasi saja. Oh ya PHP nantinya akan berjalan dengan mode FastCGI atau PHP-FPM. Teman-teman tidak usah kuatir dengan dependencies, dengan satu perintah di bawah ini, maka semua file pendukung akan diinstall secara otomatis.

pkg_add php-mysql mariadb-server

Nanti akan ada pilihan versi PHP yang akan diinstall, pilih yang teranyar aja ya, saat ini versi teranyar adalah 5.6.18 🙂

Langkah selanjutnya adalah dengan melakukan link konfigurasi mysql dengan menjalankan perintah sebagai berikut:

ln -sf /etc/php-5.6.sample/mysql.ini /etc/php-5.6/mysql.ini

Konfigurasi MariaDB, PHP-FPM dan HTTPD

Langkah awal, kita akan melakukan konfigurasi MariaDB dengan cara:

/usr/local/bin/mysql_install_db
/etc/rc.d/mysqld start
/usr/local/bin/mysql_secure_installation

Ikuti langkah-langkahnya dan jangan lupa untuk membuat password root dari MariaDB/MySQL yang telah anda install.

Langkah selanjutnya adalah, melakukan konfigurasi untuk membuat HTTPD atau Webserver di OpenBSD aktif, yaitu dengan cara melakukan konfigurasi pada file /etc/httpd.conf :

ext_if="egress"
types { include "/usr/share/misc/mime.types" }
server "default" {
   listen on $ext_if port 80
  directory {index "index.php" }
  location "/*.php*" {
      root { "/htdocs" }
      fastcgi socket "/run/php-fpm.sock"
  }
  location "/*" {
      root { "/htdocs" }
  }
}

File /etc/httpd.conf perlu anda buat terlebih dahulu, sebelum memasukkan konfigurasi di atas. Untuk diketahui semua file web teman-teman, nantinya akan berada di bawah folder /var/www. Nah pada konfigurasi di atas, file web anda berada pada folder /var/www/htdocs.

Konfigurasi akhir yang perlu dilakukan adalah untuk membuat OpenBSD menjalankan HTTPD, PHP-FPM dan MariaDB/MySQL yaitu dengan cara mengedit file konfigurasi berikut  /etc/rc.conf.local :

httpd_flags=""
pkg_scripts="php56_fpm mysqld"

Selesai deh, mudah bukan, gak nyampe 5 menit, kita sudah berhasil membuat Webserver yang sudah “Secure by Default” yang semua file webnya di CHROOT di folder /var/www, sehingga kalaupun ada yang berhasil ngehack, yang bisa dirusak hanya file-file yang berada di bawah folder /var/www aja, dan sama sekali tidak mengganggu server secara keseluruhan.

Langkah terakhir adalah menjalankan HTTPD, dan PHP-FPM dengan cara:

/etc/rc.d/httpd start
/etc/rc.d/php56_fpm start

MariaDB/MySQL tidak perlu anda jalankan lagi, karena sudah dijalankan sebelumnya 🙂

Pada tutorial selanjutnya kalo ada waktu luang, saya akan menuliskan langkah-langkah membuat Virtual Host, dan konfigurasi lebih lanjut dari Webserver yang telah kita install dan konfigurasi saat ini.

2 thoughts to “Secure Webserver Dengan OpenBSD”

Tinggalkan Balasan