Tiadakan dirimu, maka Jatidirimu akan terungkap tanpa kata-kata.

Archive for the ‘Admin’ Category

Install OpenLiteSpeed di Ubuntu 16.04 LTS MariaDB dan PHP WordPress

OpenLiteSpeed, is an open source web server developed by LiteSpeed Technology. It’s designed to be lightweight with a user friendly web interface to create and manage your websites easily… New webmasters who are managing their own websites should find this web server to be useful and convenient…

When it comes to WordPress, you’ll find countless tutorials on how to install it on Apache2 or Nginx or other web servers… this post shows you an alternative to those two web servers… You will learn how to install OpenLiteSpeed, MariaDB and PHP.. then shows you how to configure OpenLiteSpeed to make WordPress function.

This brief tutorial shows students and new users how to install WordPress on Ubuntu 16.04 LTS with OpenLiteSpeed, MariaDB and PHP support.

When you’re ready, continue with the steps below:

Step 1: Update The Ubuntu Server

Before installing OpenLiteSpeed and the other applications, please update Ubuntu server. To do that, run the commands below.

sudo apt update && sudo apt dist-upgrade && sudo apt autoremove

Step 2: Install OpenLiteSpeed Dependencies

After updating the server, install the packages below to install required dependencies for OpenLiteSpeed.

sudo apt install build-essential libexpat1-dev libgeoip-dev libpcre3-dev zlib1g-dev libssl-dev libxml2-dev rcs libpng-dev

Step 3: Download And Install OpenLiteSpeed

Now that all dependencies are installed, go and fetch the latest version of OpenLiteSpeed. The commands below will download version 1.4.27 to your server..

cd /tmp/ && wget http://open.litespeedtech.com/packages/openlitespeed-1.4.27.tgz

Next, run the commands below to extract the downloaded package.

tar -xvzf openlitespeed-1.4.27.tgz

Change into the directory extracted directory

cd openlitespeed-1.4.27/

Then run the commands below to install OpenLiteSpeed.

sudo ./configure
sudo make
sudo make install

After that OpenLiteSpeed should be installed and ready to use.

Step 4: Configure OpenLiteSpeed

Finally, configure the administrative password for the web interface. Run the commands below to do that.

sudo /usr/local/lsws/admin/misc/admpass.sh

Then create a web admin username and password.

Please specify the user name of administrator.
This is the user name required to login the administration Web interface.

User name [admin]: openlite

Please specify the administrator's password.
This is the password required to login the administration Web interface.

Password: new_password
Retype password: retype_password
Administrator's username/password is updated successfully!

After that, run the commands below to start the webserver.

sudo /etc/init.d/lsws start

Open your browser and browse to the server IP or hostname followed by 8088 to view the default page page.

http://192.168.1.2:8088

To access the admin backend portal, use the port 7078

https://192.168.1.2:7080

openlitespeed ubuntu

Step 5: Install MariaDB Server

To install MariaDB server run the commands below.

sudo apt-get install mariadb-server mariadb-client

After installing, the commands below can be used to stop, start and enable MariaDB service to always start up when the server boots.

sudo systemctl stop mysql.service
sudo systemctl start mysql.service
sudo systemctl enable mysql.service

After that, run the commands below to secure MariaDB server.

sudo mysql_secure_installation

When prompted, answer the questions below by following the guide.

  • Enter current password for root (enter for none): Just press the Enter
  • Set root password? [Y/n]: Y
  • New password: Enter password
  • Re-enter new password: Repeat password
  • 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

Restart MariaDB server

sudo systemctl restart mysql.service

Step 6: Create WordPress Database

WordPress needs a database… to create one, continue below..

Run the commands below to logon to the database server. When prompted for a password, type the root password you created above.

sudo mysql -u root -p

Then create a blank database called WP_database  you can use the same database name from the old server.

CREATE DATABASE WP_database;

Create a database user called wp_user with new password.  You can use the same username and password from the old server.

CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'type_password_here';

Then grant the user full access to the database.

GRANT ALL ON WP_database.* TO 'wp_user'@'localhost' IDENTIFIED BY 'type_user_password_here' WITH GRANT OPTION;

Finally, save your changes and exit.

FLUSH PRIVILEGES;
EXIT;

Step 7: Install WordPress

Now that OpenLiteSpeed is up, go and download WordPress content. To do that, run the commands below… you will download, extract and copy WordPress content to OpenLiteSpeed default document root.. The default Virtual Host Root is at /usr/local/lsws/Example.

cd /tmp && wget https://wordpress.org/latest.tar.gz
tar -zxvf latest.tar.gz
sudo mv wordpress /usr/local/lsws/Example/wordpress

Then run the commands below to set the correct permissions for WordPress root directory.

sudo chown -R nobody:nogroup /usr/local/lsws/Example/wordpress/
sudo chmod -R 755 /usr/local/lsws/Example/wordpress/

STEP 8: CONFIGURE WORDPRESS

Next, run the commands below to create WordPress wp-config.php file. This is the default configuration file for WordPress.

sudo mv /usr/local/lsws/Example/wordpress/wp-config-sample.php /usr/local/lsws/Example/wordpress/wp-config.php

Then run the commands below to open WordPress configuration file.

sudo nano /usr/local/lsws/Example/wordpress/wp-config.php

Enter the highlighted text below that you created for your database and save.

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

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

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

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

Save the file and you’re done.

After that, open your browser and browse to OpenLiteSpeed backend portal..

http://example.com:7080

Then go to Virtual Hosts on the left menu to bring up the virtualhost settings page.. then click the view button to view its settings..

When the settings page opens, click the General tab and edit the Document Root location.. we’ll want to change this to our WordPress folder.

openlite wordpress ubuntu

On the same General tab, edit the Index File section and add index.php to the list as shown below.

openlitespeed wordpress ubuntu

Next, select the Rewrite tab and turn on Rewrite Control

wordpress ubuntu openlitespeed

Next edit the Rweire Rules and replace the code with the one below, then save..

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

 

openlistspeed

Save and continue.

Finally, click on the Listeners from the left menu, then edit to change the current port from 8088 to 80. Save after that.

openlitespeed wordpress

Go to the Dashboard and restart the server from the top right corner

After restarting, open your browser and browse to the server hostname or IP address and you should see WordPress setup wizard.

http://example.com

ubuntu wordpress lets encrypt

Continue with the wizard until you’ve successfully configure WordPress.

Enjoy!

Sumber = https://websiteforstudents.com/install-openlitespeed-on-ubuntu-16-04-lts-with-mariadb-and-php-support/

Yang Perlu Dilakukan Setelah Memasang Server Ubuntu

Pendahuluan

Saat pertama memasang server Ubuntu 16.04, ada beberapa konfigurasi yang mesti dilakukan di awal. Langkah-langkah ini akan membantu meningkatkan keamanan dan kegunaan dari server kita sehingga memberikan dasar yang baik bagi kehidupan aplikasi yang akan dipasang di server tersebut.

Langkah Pertama — Root Login

Untuk masuk ke server yang telah dipasang, kita perlu tahu alamat IP publiknya. Kita juga perlu tahu password, atau jika memasang SSH key, maka kita juga perlu memiliki private key untuk user “root”.

To log into your server, you will need to know your server’s public IP address. You will also need the password or, if you installed an SSH key for authentication, the private key for the “root” user’s account.

Jika belum masuk, maka lakukanlah terlebih dahulu dengan user `root menggunakan perintah berikut ini:

ssh root@your_server_ip

Tentang Root

User root merupakan user administrator di lingkungan Linux dengan kemampuan tak terhingga. Karena kemampuannya yang tak ada batas dan dapat melakukan sesuatu yang amat berbahaya (meskipun tanpa sengaja), maka penggunaan user root tidak disarankan dikehidupan sehari-hari.

Langkah berikutnya ialah kita akan membuat akun user baru dengan kemampuan yang dibatasi untuk pekerjaan sehari-hari.

Langkah Kedua — Membuat User Baru

Setelah masuk sebagai user root, kita sekarang sudah siap untuk membuat akun user baru sebagai penggantinya. Contoh di bawah ini kita akan membuat user baru dengan akun “sammy”, namun kita perlu menggantinya dengan username yang disukai:

adduser sammy

Akan ada beberapa pertanyaan yang mesti di jawab dan dimulai dengan memasukkan password baru.

Berikan password yang kuat, dan isi informasi-informasi yang dianggap penting. Pertanyaan yang wajib diisi hanya password, sisanya dapat dilewati dengan menekan tombol ENTER bila diinginkan.

Langkah Ketiga — Root Privileges

Sekarang, kita telah memiliki akun user baru dengan hak biasa. Namun, terkadang kita masih perlu melakukan aksi yang hanya bisa dilakukan oleh administrator.

Daripada keluar dari akun user biasa lalu masuk lagi dengan akun root, kita akan menyiapkan sesuatu yang dikenal dengan istilah “superuser” atau hak root (alias root privileges) ke akun user biasa yang telah kita buat. Dengan demikian akun user biasa kita dapat menjalankan perintah-perintah root menggunakan kata kunci sudo.

Untuk menambah hak ini, kita perlu memasukkan akun tadi ke grup “sudo”. Di Ubuntu 16.04. apabila seorang user dimasukkan ke dalam grup “sudo” maka ia dapat melakukan perintah sudo.

Login dulu sebagai root, lalu jalankan perintah berikut untuk menambahkan akun user tadi ke grup “sudo”:

usermod -aG sudo sammy

Sekarang user baru yang sudah kita buat dapat menjalankan perintah-perintah administrator.

Langkah Keempat — Menambahkan Public Key Authentication

Langkah berikutnya untuk mengamankan server Ubuntu baru ialah dengan menambahkan public key authentication untuk user tadi. Pengaturan ini akan meningkatkan keamanan server yang akan meminta private SSH tiap kali login.

Membuat sebuah Key Pair

Jika belum memiliki sebuah SSH key pair yang terdiri dari key publik dan private, maka kita perlu membuatnya terlebih dahulu. Jika sudah ada, lewati ke langkah berikutnya.

Untuk membuat key pair baru, masukkan perintah di bawah ini di komputer lokal dan bukan di server :

ssh-keygen

Bila user di komputer lokal bernama “localuser”, kita akan melihat hasil yang seperti ini:

ssh-keygen outputGenerating public/private rsa key pair.
Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):

Tekan enter untuk menerima (atau masukkan nama baru untuk filenya).

Kemudian, kita akan diminta memasukkan sebuah passphrase, semacam password untuk mengamankan key tadi. Kita boleh tidak mengisi passphrase-nya (lebih baik jika diisi).

Catatan: Jika dikosongkan, kita tidak akan dimintai passphrase saat melakukan koneksi nantinya menggunakan private key. Lalu, jika diberikan passphrase, saat melakukan koneksi kita juga akan dimintai apa passphrase yang dimasukkan. Mengamankannya dengan passphrase akan lebih baik dibanding tidak. Akan tetapi keduanya masih tetap lebih baik dibanding melakukan otentikasi password biasa.

Perintah di atas akan membuat private key baru, id_rsa, dan sebuah public key, id_rsa.pub, di dalam direktori .ssh di direktori home user bernama localuser. Selalu ingat untuk tidak berbagi private key kepada orang-orang yang tidak seharusnya memiliki akses.

Salin Public Key

Setelah membuat sebuah SSH key pair, kita kemudian perlu membuat salinan public key ke server. Ada dua cara yang dapat dilakukan.

Opsi 1: Gunakan ssh-copy-id

Jika komputer kita memiliki skrip ssh-copy-id, kita bisa memakainya untuk memasang public key ke server.

Jalankah skrip ssh-copy-id dengan memberikan akun dan alamat IP dari server yang ingin dipasangkan:

ssh-copy-id sammy@your_server_ip

Setelah memberikan password yang diminta, public key kita akan ditambahkan ke file .ssh/authorized_keys. Private key yang satunya lagi sekarang bisa dipakai untuk masuk ke server.

Opsi 2: Memasang Key Secara Manual

Lakukan perintah berikut untuk membaca isi file id_rsa.pub:

cat ~/.ssh/id_rsa.pub

Perintah di atas akan mencetak public SSH key dengan hasil seperti berikut:

id_rsa.pub contentsssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf localuser@machine.local

Salin dulu kode yang dihasilkan.

Jika masuk sebagai root, ganti dulu ke user biasa dengan perintah di bawah:

su - sammy

Sekarang kita seharusnya sudah ada di direktori home user sammy (atau user yang sudah dibuat).

Buat direktori baru bernama .ssh dan atur permission-nya menjadi:

mkdir ~/.ssh
chmod 700 ~/.ssh

Sekarang buat/buka sebuah file di direktori .ssh bernama authorized_keysdengan sebuah editor, misalnya nano:

nano ~/.ssh/authorized_keys

Tempelkan/paste kode public key yang tadi dihasilkan.

Tekan CTRL-x untuk keluar dari nano, lalu tekan tombol y untuk menyimpan perubahan. Tekan ENTER untuk konfirmasi.

Selanjutnya atur lagi permission authorized_keys dengan perintah berikut:

chmod 600 ~/.ssh/authorized_keys

Tulis perintah berikut untuk kembali menjadi root:

exit

Sekarang public key sudah terpasang dan kita sudah bisa terhubung ke server menggunakan SSH key sebagai user biasa.

Langkah Kelima — Disable Password Authentication

Karena user biasa sudah bisa masuk menggunakan SSH key, kita dapat meningkatkan keamanan server lebih lanjut dengan men-disable otentikasi password bawaan. Dengan demikian hanya orang-orang yang memiliki SSH key yang dapat masuk.

Catatan: Pastikan sudah bisa melakukan koneksi menggunakan SSH key. Jika tidak langkah selanjutnya akan membuat kita tidak dapat masuk ke server.

Langkah pertama, sebagai root atau user baru dengan perintah sudo , buka konfigurasi SSH daemon:

sudo nano /etc/ssh/sshd_config

Cari baris yang mengatur PasswordAuthentication, hapus tanda #, lalu tambahkan nilai “no” seperti pada contoh di bawah:

sshd_config — Disable password authentication

PasswordAuthentication no

Berikut adalah dua pengaturan lainnya yang penting bagi proses otentikasi menggunakan SSH key saja. Jika belum pernah mengubahnya, kita tidak perlu otak-atik dua baris ini:

sshd_config — Important defaults

PubkeyAuthentication yes
ChallengeResponseAuthentication no

Jika sudah selesai, simpan file dan tutup nano dengan cara yang sama dengan sebelumnya (CTRL-X, lalu Y, lalu ENTER).

Ketikkan perintah berikut untuk me-restart SSH daemon:

sudo systemctl reload sshd

Otentikasi menggunakan password sekarang telah di-disable. Sekarang kita hanya bisa masuk ke server menggunakan SSH key.

Langkah Keenam — Test Log In

Sekarang, sebelum keluar dari server, kita perlu menguji pengaturan yang telah dilakukan. Jangan keluar dulu sampai sudah bisa login lewat SSH.

Buka jendela terminal baru di komputer lokal, kemudian login ke server menggunakan akun user yang sudah kita buat. Untuk melakukannya, gunakan perintah berikut (ganti dengan username dan alamat IP yang dimiliki):

ssh sammy@your_server_ip

Jika pengaturan otentikasi menggunakan public key yang sudah dilakukan benar, maka kita akan masuk ke server. Jika tidak, maka kita akan diminta untuk memasukkan password user.

Catatan: Jika saat membuat key pair pembaca memasukkan sebuah passphrase, maka saat melakukan koneksi kita akan dimintai passphrase tadi. Jika dikosongkan, maka kita akan masuk ke server tanpa passphrase.

Jika berhasil masuk tanpa diminta password user sammy (atau user yang sudah dibuat sendiri), maka artinya proses tadi sudah berhasil.

Langkah Ketujuh — Mengatur Firewall

Server Ubuntu 16.04 dapat diatur dengan firewall UFW untuk memastikan bahwa hanya koneksi ke beberapa service yang diijinkan. Kita dapat mengatur sebuah firewall dasar menggunakan aplikasi ini.

Aplikasi-aplikasi lain nanti dapat ditambahkan profilenya ke UFW saat pemasangan. Profile ini akan mengijinkan UFW untuk mengatur aplikasi tadi berdasarkan nama. OpenSSH, sebuah service yang membuat kita dapat terhubung ke server sekarang, memiliki profile yang terdaftar di UFW. Kita dapat melihatnya dengan perintah:

sudo ufw app list
OutputAvailable applications:
  OpenSSH

Kita perlu memastikan firewall mengijinkan koneksi SSH sehingga kita dapat masuk ke server di koneksi berikutnya. Lakukan hal ini dengan perintah:

sudo ufw allow OpenSSH

Lalu kita dapat mengaktifkan firewall dengan perintah:

sudo ufw enable

Tekan “y” lalu ENTER untuk melanjutkan. Kita dapat melihat koneksi SSH masih diijinkan dengan memasukkan perintah:

sudo ufw status
OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

Jika memasang dan mengatur service baru, kita mungkin perlu mengatur lagi konfigurasi firewall untuk mengijinkan traffic masuk.

Penutup

Sampai di sini, kita sudah memiliki fondasi dasar yang baik bagu server baru kita. Kita sudah dapat memasang software-software lain yang dibutuhkan.

 

Sumber = https://www.codepolitan.com/yang-perlu-dilakukan-setelah-memasang-server-ubuntu-1604-59e632bf00c74

Cara Mengamankan Apache Web Server dengan Let’s Encrypt di Ubuntu 16.04

Pendahuluan

Tutorial ini akan mengajak pembaca untuk mengatur sertifikat TLS/SSL dari Let’s Encrypt di server Ubuntu 16.04 yang menjalankan Apache sebagai server webnya. Kita juga akan membahas bagaimana mengotomasi proses perbaruan sertifikat.

Sertifikat SSL dipakai di dalam server web untuk mengenkripsi traffic antara server dan klien dengan memberikan tambahan lapisan keamanan bagi user yang mengakses aplikasi web kita. Let’s Encrypt memberikan cara mudah untuk mengambil dan memasang sertifikat terpercaya tanpa biaya.

Prasyarat

Untuk menyelesaikan tutorial ini kita akan membutuhkan:

Jika sudah siap untuk move on, login ke server dengan akun user biasa.

Langkah 1 — Pasang Klien Let’s Encrypt

Sertifikat Let’s Encrypt dapat diunduh lewat software klien yang berjalan di server kita. Klien resmi untuk Let’s Encrypt bernama Certbot dan sudah memiliki repositori Ubuntu sendiri dengan versi terbaru. Karena pengembangannya yang sangat aktif, maka kita dapat langsung memasang Certbot terbaru dari repositorinya sendiri daripada menggunakan repositori Ubuntu.

Pertama, tambahkan dulu repositorinya:

sudo add-apt-repository ppa:certbot/certbot

Tekan ENTER untuk menerima. Lalu, jalankan perintah di bawah:

sudo apt-get update

Terakhir, pasang Certbot dengan perintah:

sudo apt-get install python-certbot-apache

Software klien certbot Let’s Encrypt sekarang sudah siap dipakai.

Langkah 2 — Mempersiapkan Sertifikat SSL

Membuat sertifikat SSL untuk Apache menggunakan Certbot cukup mudah. Klien secara otomatis akan mengambil dan memasang sertifikal SSL baru yang valid untuk domain yang diberikan sebagai parameter saat menjalankannya.

Untuk menjalankan pemasangan interaktif dan mengambil sertifikat untuk satu domain, jalankan perintah certbot sebagai berikut, alamat example.com dapat diganti dengan domain sendiri:

sudo certbot --apache -d example.com

Jika ingin menggunakan satu sertifikat valid untuk beberapa domain atau subdomain, kita bisa menambahkannya setelah domain utama. Domain yang pertama yang diberikan akan menjadi base domain untuk membuat sertifikatnya. Oleh karena itu sangat direkomendasikan untuk menggunakan top-level domain sebagai parameter pertama baru diikuti oleh subdomain atau alias yang lain:

sudo certbot --apache -d example.com -d www.example.com

Di contoh ini, base domainnya adalah example.com.

Setelah dependensi terpasang, kita akan dimintai beberapa data yang diperlukan untuk pembuatan sertifikat. Kita akan dimintai alamat email untuk melakukan recovery key serta pemberitahuan dan kita juga dapat mengatur untuk mengaktifkan http dan https sekaligus atau memaksa semua request ke https. Cara paling aman ialah dengan menggunakan https saja, kecuali jika memang membutuhkan ada traffic yang hanya dilakukan dengan http.

dan jika anda ingin mengaktifkan SSL pada subdomain anda , anda bisa menjalankan script berikut ini :

Selanjutnya anda akan diminta memasukkan alamat email anda , seperti gambar dibawah ini :

Cara Install Let's Encrypt

Jika sudah selanjutnya anda diminta untuk Agree Term Of Service mereka , ketik A untuk melanjutkan , seperti gambar dibawah ini :

Let's Encrypt

Selanjutnya anda ditanyakan apakah anda ingin share alamat email anda ke Electronic Frontier Foundation , ketik N untuk menolak , ketik Y untuk melanjutka , seperti gambar dibawah ini :

Cara Install Let's Encrypt

Selanjutnya anda akan diminta pengaturan install SSL untuk virtual host anda , ketik No 1 Mengizinkan HTTP dan HTTPS mengakses Website , ketik No 2 untuk mengatur keseluruhan ke Secure (HTTPS), jika sudah maka SSL let’s Encrypt sudah selesai di setup ke Virtual Host anda , seperti gambar dibawah ini :

Cara Install Let's Encrypt

Untuk Virtual host yang lain anda bisa memasang dengan cara diatas , tetapi anda hanya diminta memasukkan pengaturan install SSL saja , karena informasi seperti memasukan email dan accept term of service sudah di awal dilakukan.

 

Setelah pemasangan selesai, kita dapat melihat sertifikat yang dibuat di etc/letsencrypt/live. Kita juga dapat melakukan verifikasi status sertifikat SSL melalui tautan berikut: (jangan lupa untuk mengganti example.com dengan basedomain):

https://www.ssllabs.com/ssltest/analyze.html?d=dicloud-vm.tk&latest

Seharusnya sekarang kita sudah bisa mengakses website dengan https.

Langkah 3 — Mengatur Perbaruan Otomatis

Sertifikat Let’s Encrypt hanya valid selama 90 hari. Pengguna disarankan untuk mengotomatiskan proses perbaruan sertifikatnya. Kita perlu menyiapkan perintah yang akan berjalan secara otomatis untuk memeriksa tanggal kadaluarsa sebuah sertifikat dan memperbaruinya.

Untuk menjalankan proses di atas kita akan menggunakan cron, service sistem standar untuk melakukan pekerjaan yang berulang. Kita akan memberitahu cron apa yang harus dilakukan dengan membuka dan mengubah isi file bernama crontab.

sudo crontab -e

Tambahkan baris berikut ke dalam crontab:

crontab

. . .
15 3 * * * /usr/bin/certbot renew --quiet

Bagian 15 3 * * * dari perintah di atas artinya “jalankan perintah ini setiap hari jam 3:15 pagi.

Perinath renew akan memberitahu Certbot untuk memeriksa semua sertifikat yang terpasang di sistem dan memperbarui setiap sertifikat yang akan kadaluarsa dalam 30 hari. Opsi quiet memberitahu Certbot untuk tidak menampilkan informasi apapun atau menunggu masukan pengguna.

Sistem cron akan menjalankan perintah ini setiap hari. Karena kita memasang sertifikat dengan menggunakan --apache, maka Apache juga akan direstart untuk menggunakan sertifkat yang baru.

=============

15 3 * * * /usr/bin/certbot renew –quiet
17 3 * * * /etc/init.d/apache2 restart

============================

Penutup

Di tutorial ini, kita telah belajar bagaimana memasang sertifikat SSL gratis dari Let’s Encrypt untuk mengamankan website yang menggunakan Apache. Kami sarankan pembaca untuk memeriksan blog resmi Let’s Encrypt untuk info terbaru serta membaca dokumentasi Certbot untuk detail lebih lengkap mengenai klien yang tadi kita gunakan.

 

Sumber = https://www.codepolitan.com/cara-mengamankan-apache-web-server-dengan-lets-encrypt-di-ubuntu-1604-59e6ec9237efe

Sumber = https://www.dicloud.id/tutorial/articles/panduan-cara-install-lets-encrypt-pada-virtual-host-di-ubuntu-16-04

Sumber = https://stackoverflow.com/questions/28498400/restart-apache-service-automatically-using-cron-12am-daily

Cara Menambah Keamanan PHP dengan SuPHP

Salah satu cara untuk menambah keamanan PHP adalah dengan menginstall suPHP. Kalau anda baru mendengar suPHP, maka disini saya akan sedikit menjelaskan serta memberikan cara instalasinya.

SuPHP adalah tool yang digunakan untuk memperkuat keamanan server kita, bagi yang menggunakan PHP tentunya. Dengan adanya suPHP ini maka setiap skrip PHP tidak dapat dijalankan tanpa perizinan dari pemiliknya. SuPHP ini terdiri dari modul Apache (mod_suphp) dan setuid root binary (suphp) yang digunakan oleh modul Apache untuk mengubah uid dari proses eksekusi PHP.

Menambah Keamanan PHP dengan SuPHP

Berikut adalah cara instalasi suPHP dengan menggunakan apt-get:

Instalasi

apt-get install libapache2-mod-suphp

Disable modul PHP

a2dismod php5

Me-restart Apache

/etc/init.d/apache2 restart

Testing SuPHP

1
2
3
<?php
system('id');
?>

Jika anda menggunakan direktori selain /var/www sebagai lokasi penyimpanan web anda, maka anda juga harus mengubah  /etc/suphp/suphp.conf sebagai berikut:

;Path all scripts have to be in
docroot=/var/www/ -> ubah ke tempat lokasi penyimpanan web anda. Semoga bermanfaat.

 

Sumber = https://azuharu.net/php/tutorial-install-suphp/

Meningkatkan Keamanan Apache Web Server Ubuntu

 

Meningkatkan Keamanan Apache Web Server Ubuntu

Apache adalah salah satu web server populer dan paling banyak digunakan didunia, dan mencakup hampir 40% server didunia. Jika anda adalah seorang webmaster atau administrator yang menggunakan apache server, penting untuk anda tahu bagaimana mengamankan Apache dan mencegah dari tindakan peretasan. Pada artikel ini saya akan mendeskripsikan beberapa tips dan triks sederhana yang dapat anda gunakan untuk mengamankan apache server anda.

Note: saya menggunakan ubuntu 14.04 LTS

Install dan update apache

Pertama, anda perlu untuk mengupdate dan meninstall apache ke dalam komputer anda. Untuk melakukan hal ini dapat mengikuti perintah berikut:
$ sudo apt-get update
$ sudo apt-get install apache2
Jika berhasil terinstall maka saat anda mengakses localhost ataupun alamat IP melalui browser akan tampak halaman Apache seperti yang tampak dibawah ini.
Meningkatkan Keamanan Apache Web Server Ubuntu

Hide apache version

Secara default, apache menampilkan versi dari apache server yang terinstall pada komputer dengan nama dari sistem operasi server yang anda gunakan.
Meningkatkan Keamanan Apache Web Server Ubuntu
Pada gambar diatas anda dapat melihat versi apache dan sistem operasi yang terinstall pada komputer server anda. Ini bisa menjadi masalah keamanan utama untuk web server anda. Untuk menyembunyikan informasi ini, anda perlu mengedit file konfigurasi utama Apache (“/etc/apache2/conf-enabled/security.conf”).
$ sudo nano /etc/apache2/conf-enabled/security.conf
ServerSignature Off
ServerTokens Prod
$ sudo service apache2 restart

Berikut hasil yang didapatkan, tampak berbeda dari gambar sebelumnya.

Meningkatkan Keamanan Apache Web Server Ubuntu

Menonaktifkan akses direktori dan symbolic links

Daftar direktori telah aktif dalam Apache server secara default. Daftar direktori menampilkan seluruh direktori dengan filenya yang ada di apache server. Jika ini diaktifkan, seorang attacker dapat dengan mudah melihat macam-macam file, menganalisanya dan mencuri informasi sensitif dari aplikasi yang digunakan. Anda dapat melihat contoh daftar direktori yang tertampil pada gambar dibawah.
Meningkatkan Keamanan Apache Web Server Ubuntu
Anda dapat menonaktifkannya dengan mengedit file konfigurasi apache.
$ sudo nano /etc/apache2/apache2.conf Options -FollowSymLinks AllowOverride None Require all granted
Note: kode diatas mengasumsikan kalau halaman web anda berasal dari folder “/var/www/html”. jika anda telah mengubah lokasi sesuai yang anda tentukan, ubah path direktori dalam kode diatas.
Baris Options -FollowSymLinks juga menonaktifkan symbolic links. Jika anda ingin untuk tetap mengaktifkan symbolic links, hapus tanda “-” didepan FollowSymLinks, sehingga menjadi Options FollowSymLinks.
Simpan dan restart apache server. Setelah itu coba kembali mengakses web server melalui browser, anda akan mendapatkan error seperti gambar dibawah.
Meningkatkan Keamanan Apache Web Server Ubuntu

Menonaktifkan modul yang tidak diperlukan

Apache terinstall dengan beberapa modul aktif yang tidak diperlukan untuk penggunaan normal. Sangat direkomendasikan untuk menonaktifkan modul-modul yang tidak perlukan itu. Anda dapat melihat daftar modul aktif yang digunakan pada server anda dengan perintah berikut:
$ sudo ls /etc/apache2/mods-enabled/
Meningkatkan Keamanan Apache Web Server Ubuntu
Untuk dapat menonaktifkan modul-modul tersebut menggunakan perintah berikut, contohnya:
$ sudo a2dismod autoindex status$ sudo /etc/init.d/apach2 restart

Memanfaatkan ModSecurity

Mod security adalah modul apache gratis yang digunakan untuk melindungi web server anda dari berbagai macam serangan seperti SQL injection, cross site scripting, session hijacking, brute force dan jenis exploit lainnya. Dengan ini anda juga dapat memonitor trafik dengan basis real-time.
Anda dapat menginstall mod security dengan perintah berikut:
$ sudo apt-get install libapache2-modsecurity
Untuk mengecek apakah mod_security modul sudah berjalan, gunakan perintah berikut:
$ sudo apachectl -M | grep –color security
Gambar yang tertampil dibawah mengindikasikan kalau modul sudah dimuat dalam apache.
Meningkatkan Keamanan Apache Web Server Ubuntu
Untuk mengaktifkan mod_security rules, anda perlu untuk mengubah nama dan mengedit file mod security yang direkomendasikan dan menyetel opsi SecRuleEngine menjadi On. Lakukan dengan perintah berikut.
$ sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
$ sudo nano /etc/modsecurity/modsecurity.conf
SecRuleEngine On
Simpan dan restart untuk melihat hasilnya.
Ada banyak security rules yang dimiliki ModSecurity (dikenal dengan Core Rule Set) yang berada pada direktori “/usr/share/modesecurity-crs”. Sekarang anda perlu untuk mengaktifkan rule-rule ini untuk dapat bekerja dengan apache. Lakukan dengan perintah berikut.
$ sudo nano /etc/apache2/mods-enabled/security2.conf
IncludeOptional /etc/modsecurity/*.conf
IncludeOptional “/usr/share/modsecurity-crs/*.conf”
IncludeOptional “/usr/share/modsecurity-crs/base_rules/*.conf
Simpan dan restart apache.

Menonaktifkan server side includes dan CGI execution

Disarankan untuk menonaktifkan server side includes dan CGI execution jika tidak diperlukan. Untuk melakukan hal ini anda perlu mengedit file konfigfurasi utama apache
$ sudo nano /etc/apache2/apache2.conf Options -FollowSymLinks -Includes -ExecCGI AllowOverride None Require all granted
Anda juga dapat melakukan hal ini untuk direktori tertentu, misalnya untuk menonaktifkan server side includes dan cgi file execution untuk direktori “/var/www/html/webdir1”.
Options -Includes -ExecCGI

Simpan dan restart apache.

Membatasi besaran request

Apache tidak memiliki batasan size dari HTTP request secara defaultnya. Ini akan membebaskan seorang attacker mengirim jumlah data yang besar. Apache memiliki beberapa intruksi yang memperbolehkan anda untuk mengatur request size. Ini akan dapan melindungi web server anda dari serangan DDoS.
Anda dapat memasang nilai dari 0 (unlimited) hingga 2147483647 (2GB) dalam konfigurasi utama apache. Misalnya membatasi request size untuk direktori “/var/www/html/webdir1” menjadi 200K.
$ sudo nano /etc/apache2/apache2.conf
LimitRequestBody 204800
Simpan dan restart apache.

Menolak akses diluar document root

Direkomendasikan untuk apache dapat diakses hanya dari direktori document root. Anda bisa mengamankan direktori root (/) dengan pengaturan berikut.
$ sudo nano /etc/apache2/apache2.conf Options None Order deny,allow Deny from all

Keterangan:
– Options None: Ini akan menonaktifkan semua opsi
– Order deny, allow: Urutan di mana membolehkan dan menolak perintah diterapkan.
– Deny from all: ini akan menolak sebuah request dari semua ke direktori root

 

Simpan dan restart apache.

Beberapa langkah diatas adalah merupakan konfigurasi yang sangat sederhana dalam penggunakan Apache Web Server. Masih banyak macam konfigurasi yang bisa digunakan tentunya sesuai dengan kebutuhan yang diinginkan. Selamat mencoba.
Sumber = https://billnode.blogspot.com/2016/03/meningkatkan-keamanan-apache-web-server.html

Menampilkan Pesan Error Di Webserver ( Apache ) Ubuntu

Untuk belajar PHP kita memerlukan yang namanya webserver, dan ketika kita belajar PHP terkadang saat kita mengetik sebuah program ada kesalahan dalam penulisan script atau kode program, yang mengakibatkan program yang kita buat itu tidak berjalan. Secara default setelah menginstall Webserver di linux, pesan error tidak di tampilkan di browser.

Akibatnya jika ada kesalahan dalam penulisan kode program maka yang terjadi adalah browser akan menampilkan pesan “500 INTERNAL SERVER ERROR”. Tentunya ini akan menyulitkan kita dalam menganalisa permasalahan yang terjadi pada program PHP yang kita kerjakan.

Untuk memudahkan kita dalam proses development, kita bisa menampilkan pesan Error tersebut pada browser dengan mengedit file PHP.ini yang terletak di folder /etc/php/7.0/apache2/php.ini dengan cara mengganti parameter OFF pada display_error dan display_starup_error mengjadi ON. setelah itu kita restart service apache nya.

Berikut adalah langkah – langkah memunculkan pesan Error PHP di browser :

1.Buka file php.ini menggunakan aplikasi nano pada folder /etc/php/7.0/apache2/php.ini, caranya :

2.Cari kata display_error dengan menekan CTRL + W ( jika menggunakan nano editor ) lalu ketikkan display_error.

3.Ubah parameter Off menjadi On

4.Dengan cara yang sama lakukan  pada display_startup_errors

5.Restart server dengan menjalankan perintah berikut ini pada terminal

Sekian dari saya, Terima Kasih

Sumber = https://phpbatch3.wordpress.com/2016/12/07/menampilkan-pesan-error-di-webserver-apache-ubuntu/

Membuat DNS Filtering dengan BIND RPZ di Ubuntu

Pemerintah saat ini sedang berusaha melakukan pemblokiran konten pornografi dengan gencarnya. Para penyedia layanan internet (ISP dan NAP) diwajibkan untuk melakukan pemblokiran terhadap situs-situs yang mengandung konten pornografi. Pemerintah melakukan sidak ke ISP / NAP untuk mengecek apakah sudah dilakukan pemblokiran konten pornografi atau belum. Jika ternyata masih bisa mengakses situs-situs yang mengandung konten pornografi, maka mereka akan ditegur dengan surat peringatan resmi.

Untuk melakukan pemblokiran konten pornografi, cara yang paling mudah adalah dengan menggunakan DNS filtering yang cara kerjanya me-redirect request DNS dari pengguna ke halaman web tertentu yang berisi peringatan bahwa situs yang berusaha diakses telah diblokir karena mengandung konten pornografi.

Sebenarnya saat ini sudah tersedia publik DNS filtering di Indonesia yang dibuat oleh Yayasan Nawala Nusantara biasa disebut dengan DNS Nawala. Namun terkadang masih bisa lolos dari filtering mungkin overload dikarenakan terlalu banyak yang menggunakannya.

Oleh karena itu Pemerintah dalam hal ini Kementrian Kominfo mewajibkan ISP / NAP untuk membangun DNS filtering sendiri. Tulisan singkat ini untuk memberikan panduan bagaimana cara membuat DNS filtering dengan RPZ menggunakan software BIND. RPZ (Response Policy Zones) merupakan salah satu fitur yang terdapat pada BIND9.8+ yang memungkinkan resolver (DNS server) untuk melakukan penerjemahan terhadap request yang sudah didefinisikan pada zone file. Situs-situs yang akan diblokir harus didefinisikan terlebih dahulu di zone file untuk diarahkan (di-redirect) ke server tertentu yang sudah kita siapkan.

Dalam panduan ini saya akan menggunakan Ubuntu 14.04 dengan BIND versi 9.9.5. Konfigurasi pada distro Linux yang lain seperti CentOS, RedHat, Fedora, atau Slackware mestinya identik hanya penamaan dan penempatan file konfigurasinya saja yang mungkin berbeda. Mari kita langsung saja ke langkah-langkahnya:

1. Install BIND 9

sudo apt-get install bind9

2. Edit file /etc/bind/named.conf.options menjadi seperti berikut:

options {
    directory "/var/cache/bind";

    dnssec-validation auto;
    auth-nxdomain no;
    listen-on-v6 { any; }; 
    
    check-names master ignore;
    check-names slave  ignore;
    allow-query { 127.0.0.1; 10.11.12.0/24; };
    response-policy { zone "rpz.zone"; };
};

zone "rpz.zone" {
    type master;
    file "/etc/bind/db.rpz.zone";
    allow-query { any; };
};

3. Buat file baru dengan nama ‘db.rpz.zone’ di folder /etc/bind/

Inilah file zone yang nantinya akan berisi domain-domain yang akan di-redirect ke server kita sendiri yang sudah disiapkan. Isi file ‘db.rpz.zone’ adalah sebagai berikut:

$TTL 1H
@       IN             SOA LOCALHOST. hostmaster.local. (1 1h 15m 30d 2h)
@       IN             NS  LOCALHOST.
@       IN      A       127.0.0.1
@       IN      AAAA    ::1

4. Download database domain yang harus diblokir di website Kominfo (http://trustpositif.kominfo.go.id/files/)

Untuk men-download-nya, klik menu Shares > Database > blacklist > porn, kemudian klik ‘domains’ untuk mulai mengunduhnya. File berukuran sekitar 12.37 MB.

5. Setelah selesai mengunduh file ‘domains’ pada langkah no. 4 di atas, langkah berikutnya adalah membuat zone entry dengan format “namadomain IN A IP_ADDRESS” yang ditambahkan ke dalam file db.rpz.zone. Kalau kita buka file ‘domains’ tersebut hanya berisi daftar domain saja. Supaya bisa dibaca oleh BIND DNS, kita perlu mengubahnya dalam format “namadomain IN A IP_ADDRESS”. Kita akan menggunakan tool ‘awk’ untuk meng-generate-nya.

awk '{print $1" IN A 10.11.12.13"}' domains >> /etc/bind/db.rpz.zone
awk '{print "*."$1" IN A 10.11.12.13"}' domains >> /etc/bind/db.rpz.zone

Script pertama akan mengambil semua baris dalam file ‘domains’ dan menambahkan “IN A 10.11.12.13” pada tiap baris dan kemudian memasukkan / menambahkannya ke dalam file ‘db.rpz.zone’.

Script kedua akan mengambil semua baris dalam file ‘domains’ dengan menambahkan “*.” (bintang dan titik) sebelum namadomain dan “IN A 10.11.12.13” setelah namadomain pada tiap baris dan kemudian memasukkan / menambahkannya ke dalam file ‘db.rpz.zone’.

contohnya adalah sbb:

17bb.info IN A 10.11.12.13
*.17bb.info IN A 10.11.12.13

Sebagaimana kita tahu, jika hanya ada entry baris pertama (17bb.info), maka sub-domain dari domain tersebut (misalnya http://www.17bb.info, web.17bb.info) tidak ikut terblokir. Maka dari itu kita perlu menambahkan entry baris kedua (*.17bb.info) supaya semua sub-domain ikut terblokir.

Kemudian restart service BIND9 nya.

service bind9 restart

6. Test query DNS

Waktunya untuk melakukan tes dari server DNS (localhost) dengan menggunakan ‘dig’

dig @127.0.0.1 redtube.com

; <<>> DiG 9.9.5-3ubuntu0.2-Ubuntu <<>> @127.0.0.1 redtube.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49180
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;redtube.com.			IN	A

;; ANSWER SECTION:
redtube.com.		5	IN	A	10.11.12.13

;; AUTHORITY SECTION:
rpz.zone.		3600	IN	NS	LOCALHOST.

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon May 11 02:47:21 WIB 2015
;; MSG SIZE  rcvd: 87

Dari hasil command dig di atas terlihat bahwa domain redtube.com mempunyai address 10.11.12.13 seperti yang sudah didefinisikan di zone file db.rpz.zone

7. Tes akses dengan menggunakan browser.

Setelah dipastikan DNS RPZ berjalan dengan benar, terakhir kita pastikan bahwa jika kita mengakses website nya, yang muncul adalah situs web yang sudah kita persiapkan yang berisi pemberitahuan bahwa website yang diakses telah diblokir karena mengandung konten pornografi seperti gambar di bawah ini sebagai contoh:

Membuat DNS Filtering dengan BIND RPZ

Semoga tulisan singkat ini membantu kita untuk mendukung program pemerintah tentant Internet Bersih dan Sehat.

Sumber  =  https://katalis.web.id/270/membuat-dns-filtering-dengan-bind-rpz

Tentang Admin

dscf0978
Nama :  Pudin Saepudin Ilham

Alamat : Cidolog, Pasir Tengah, Parung Sari, Desa Rawa, Kec Lumbung Kab Ciamis, Jawa Barat

Idfan wujūdaka fī ardhil khumūli, famā nabata mimmā lam yudfan, lā yatimma natāijuhu.

“Tanamlah dirimu dlm tanah kerendahan, sebab tiap sesuatu yg tumbuh tetapi tdk ditanam, maka tdk akan sempurna hasil buahnya”.