Konfigurasi mencegah situs diakses memakai wget

Saat saya melihat situs bench.sh, saya tertarik akan caranya melayani akses download fle jika kita melakukan wget ke situs tersebut. Ternyata hal ini dengan memanfaatkan fungsi pendeteksian user agent oleh Nginx.

Kali ini, saya akan merubah pelayanan Nginx supaya ketika ada orang yang melakukan wget ke situs ini, akan mendownload file 100mb dari cachefly :p

Contoh file konfigurasi saya adalah /etc/nginx/sites-enabled/erawanarifnugroho.com.conf

 

Berikut adalah hasilnya jika ada yang mencoba melakukan wget :

 

Bisa juga, kita iseng mengarahkan request wget ke situs lain, misalnya FBI atau yang lain. Perhatikan pemakaian simbol $ pada contoh konfigurasi dibawah. Coba bandingkan antara memakai $ dan tidak memakai $, hasil requestnya seperti apa.

 

Jika kita ingin mematikan akses terhadap user agent wget secara total, maka berikut adalah contoh konfigurasinya

 

Konfigurasi Nginx mengijinkan akses ke direktory sesuai IP

Tutorial kali ini adalah contoh konfigurasi Nginx agar mengijinkan akses ke direktory sesuai IP, dan penerapannya adalah untuk mengamankan halaman wp-admin di WordPress.

Berikut adalah contoh konfigurasi pada file /etc/nginx/sites-enabled/erawanarifnugroho.com.conf

 

Test konfigurasi

 

Restart Nginx

Coba akses halaman situs wordpress/wp-admin, jika bukan dari IP yang tadi dipakai maka hasilnya adalah seperti berikut :

Jika mengakses dari IP yang diijinkan, maka kita akan melihat tampilan halaman loginnya

Contoh pemakaian tinc untuk Remote MySQL pada WordPress

Setelah membuat tutorial instalasi tinc beberapa waktu lalu, sekarang adalah contoh pemakaian tinc sebagai pembagi IP yang dipergunakan untuk Remote MySQL pada instalasi WordPress, yang saat ini berjalan pada website erawan.me

 

Konfigurasinya adalah :

 

Konfigurasi MySQL di WinnerVPS dengan merubah /etc/mysql/my.cnf

 

Membuat database dan aksesnya di WinnerVPS :

 

Test login ke MySQL dari DigitalOcean ke WinnerVPS :

 

Instalasi WordPress di DigitalOcean memakai database di WinnerVPS :

Kemudian buka IP Address DigitalOcean, lalu akan muncul halaman instalasi WordPress, dan isi sesuai dengan data yang kita buat di WinnerVPS

  • Database name : wpDB
  • Database user : user_wp
  • Database password : PasswordDB
  • Database host : 10.0.0.2

Contoh ini adalah contoh penerapan keamanan aplikasi yang saling berkomunikasi namun berbeda lokasi, berbeda IP. Dan di DigitalOcean sebenarnya sudah ada fitur ini, yaitu Private Networking.

 

 

Tutorial instalasi Nginx + Php-FPM + MariaDB di Ubuntu 18 64bit DigitalOcean

Tutorial ini dibuat sebagai salah satu rincian instalasi Nginx + Php-FPM + MariaDB yang dipergunakan untuk menjalankan blog ini, dengan memakai vps Ubuntu 18 64bit DigitalOcean

 

Instalasi package yang umum :

 

Konfigurasi swap

Sesuaikan /etc/fstab seperti contoh berikut :

Aktifkan swap dengan perintah swapon -a, atau restart vps

 

Instalasi Nginx

 

Instalasi Php7.2-FPM

 

Instalasi MariaDB

 

Instalasi NodeJS dan NPM

 

Instalasi MongoDB

 

Menambahkan user untuk website dan home direktori

 

Membuat file /etc/rc.local

 

Instalasi composer

 

Membuat Database

Perintah untuk backup atau dump database

Perintah untuk import database

 

Instalasi Ghost-cli

 

Instalasi OpenVPN

 

Membuka port di firewall

 

Merubah port listen Php7.2-FPM

 

Membuat file konfigurasi untuk domain yang dihost di vps :

 

Instalasi Letsencrypt untuk domain

 

Tutorial script notifikasi perubahan saldo Bank BCA

Berikut adalah tutorial untuk script yang akan menampilkan data saldo pada rekening Bank BCA yang kita miliki, serta dapat mengirimkan email pemberitahuan jika ada perubahan (penambahan ataupun pengurangan)

Ada tiga file yang diperlukan, serta satu cron untuk memonitor perubahan dan mengirimkan email.

 

 

Berikut adalah isi file index.php

Continue reading

Tutorial membuat static site memakai Hugo

Tertarik dengan kecepatan situs salah seorang teman, mas Kurnia Ramadhan, dengan websitenya karangan.id, saya akhirnya iseng ingin tahu websitenya itu dijalankan memakai apa.

Dari footer, ada keterangan bahwa websitenya dijalankan memakai Hugo!

Ok, jika dilihat dari segi pemakaian memory, Hugo ini tidak memerlukan Nginx, tidak memerlukan Php sebagai pemroses filenya, melainkan hanya satu file saja, yaitu hugo itu sendiri, Jadi misalnya hugo dijalankan pada ip dan port 80, maka bisa otomatis resolve ke domain, dan tentunya bisa portable alias mudah dipindahkan.

Untuk bisa menjalankan Hugo, bisa dengan menginstallnya, ataupun langsung mendownload filenya dari Github

Kali ini saya ingin menjalankan Hugo langsung dari filenya, tanpa proses install, pada sebuah vps Debian 8 64bit

 

  • Buat direktory untuk penyimpanan file

  • Download hugo

  • Extract hugo

  • Copy hugo ke /usr/bin/hugo

  • Coba jalankan hugo dimanapun, jika berhasil maka akan muncul seperti dibawah

 

Pembuatan static site

  • Sekarang kita pindah ke /var/www/hugo untuk membuat static sitenya

Akan muncul direktori seperti dibawah :

  • Salah satu themes kesukaan saya yaitu Hyde-Y bisa dipakai untuk contoh kali ini :

  • Konfigurasi /var/www/hugo/config.toml

  • Selanjutnya kita coba memberikan perintah kepada hugo untuk membuat contoh post

Akan terbuat file dengan lokasi /var/www/hugo/content/post/my-first-post.md. Secara default, Hugo akan membaca file yang disimpan pada direktori content/post dan menampilkan pada halaman posts.

  • Coba kita jalankan hugo server dengan perintah berikut jika ingin mengakses memakai IP, selama proses testing

Silakan sesuaikan IP dan portnya, kemudian coba buka ip dan port tersebut dari browser, dan kita akan melihat contoh halamannya.

Untuk menjalankan Hugo saat boot, bisa dengan menambahkan baris di /etc/rc.local ataupun mengikuti tutorial yang ada di internet.

Keuntungan memakai Hugo, adalah kita hanya perlu mengkompress satu direktory untuk kemudian dijalankan di tempat lain, tanpa perlu mengatur konfigurasi webserver.

  • Setelah merasa siap untuk live, kita perlu menjalankan Hugo agar resolve ke domain tanpa menampilkan port

  • Dan untuk keperluan proxy dari Nginx ke Hugo, bisa dengan memakai contoh konfigurasi Nginx saya :

Dengan memakai perintah diatas, maka domain erawan.space dapat diakses memakai www ataupun tanpa www, dengan kondisi memakai https

Contoh tutorial ini, bisa saya jalankan pada Raspberry Pi dengan memory 512MB, maupun VPS dari Prometeus dengan memory 50MB 🙂