OCSP Stapling di nginx

Dalam artikel ini saya akan mengaktifkan OCSP Stapling di nginx, syaratnya nginx harus mempunyai versi minimal 1.3.7.

Saya menggunakan startSSL dalam praktek kali ini. Baiklah kita mulai dengan mengunduh CA bundle dari startSSL.

mkdir /etc/nginx/ssl
cd /etc/nginx/ssl
wget -O - https://www.startssl.com/certs/ca.pem https://www.startssl.com/certs/sub.class1.server.ca.pem | tee -a ca-startssl.pem> /dev/null

Langkah selanjutnya adalah menambahkan parameter di vhost nginx, karena saya menggunakan vhost domain mahyudd.in maka biasanya filenya akan terletak di /etc/nginx/site-avaliable/mahyudd.in.conf. Silakan sesuaikan dengan config anda.

  ssl_stapling              on;
  ssl_stapling_verify       on;
  ssl_trusted_certificate   /etc/nginx/ssl/ca-startssl.pem;

Simpan dan test dari terminal

$ echo QUIT | openssl s_client -connect mahyudd.in:443 -servername mahyudd.in -status 2> /dev/null | grep -A 17 'OCSP response'| grep -B 17 'Next Update'
OCSP response:
======================================
OCSP Response Data:
    OCSP Response Status: successful (0x0)
    Response Type: Basic OCSP Response
    Version: 1 (0x0)
    Responder Id: C = IL, O = StartCom Ltd. (Start Commercial Limited), CN = StartCom Class 1 Server OCSP Signer
    Produced At: Apr 11 13:33:15 2015 GMT
    Responses:
    Certificate ID:
      Hash Algorithm: sha1
      Issuer Name Hash: 6568874F40750F016A3475625E1F5C93E5A26D58
      Issuer Key Hash: EB4234D098B0AB9FF41B6B08F7CC642EEF0E2C45
      Serial Number: 056CADC897AF49
    Cert Status: good
    This Update: Apr 11 13:33:15 2015 GMT
    Next Update: Apr 13 13:33:15 2015 GMT

Test secara online dapat dilakukan di Qualys. Hasilnya adalah sebagai berikut:

ocsp

Selamat mencoba

ssl_cipher di nginx

Dalam mengatur nginx biasanya ssl_cipher apa saja yang diaktifkan? by default, nginx hanya menonaktifkan aNULL, MD5. Menurut saya itu kurang, dan lebih baik ditambahkan. Setelah googling tentang ssh_cipher yang bagus, saya menemukan rekomendasi Mozilla Foundation yang isinya:

Modern

ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK

Intermediate

ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

Jika harus memilih saya lebih memilih yang modern karena hanya mendukung TLSv1.1 dan TLSv1.2 yang tentunya lebih secure. Masalahnya adalah ketika saya test di Qualys SSL test, saya hanya mendapatkan 95% untuk cipher_strength :( (lihat gambar)

protocol support

Setelah membaca dokumentasi dari Qualys, maka saya membuang dukungan untuk key yang kurang dari 128 bit. Dan berikut daftar nya beserta config di nginx:

  ssl_ciphers               ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS;

Hasilnya sekarang saya dapat 100% untuk cipher strength.

ciper_strength

Tawaran pekerjaan palsu dari idhomejob.com

Ada berbagai spam yang terkirim ke beberapa email client dan saya, salah satunya adalah spam tentang tawaran pekerjaan. Informasi tentang spam ini pernah di buat oleh dynamoo di blog nya.

Tipikan dari spam ini adalah:

  1. Pengirim adalah kita sendiri

  2. Melakukan penawaran pekerjaan yang menyuruh kita untuk membalas ke email lain

Contoh:

From: saya
To: saya
Subject: Penawaran terbaik
Date: 2 Mar 2015 20:52:48 +0600
Message-ID: <[email protected]>
MIME-Version: 1.0
Content-Type: text/plain;
        charset="windows-1252"
Content-Transfer-Encoding: 8bit
X-Mailer: Microsoft Outlook 14.0
Thread-Index: Ac0fi9o9dj7c55fh0fi9o9dj7c55fh==
Content-Language: en

Perhatian!
Perusahaan internasional membutuhkan karyawan di Indonesia!
Kita membutuhkan orang dengan keterampilan organisasi, pengetahuan tentang Internet, Office.

ika Anda adalah orang yang keputusan dan tahu bagaimana bekerja dalam sebuah tim,
Anda adalah seorang pekerja yang handal dan penuh keinginan untuk sukses - kami membutuhkan Anda.

Pekerjaan yang stabil dan penghasilan yang layak dijamin.
Silakan jika Anda tertarik pada lowongan ini, silahkan kirim informasi kontak Anda:
Nama Depan:
negara:
kota:
E-mail:

Kontak kami: [email protected]

Jangan sekali kali membalas email tersebut! Untuk mengatasinya saya menyarankan untuk:

  • Jika anda mempunyai kuasa atas domain anda maka mohon menambahkan SPF dan DMARC record. Tujunya adalah membantu email server dalam mengidentifikasi bahwa email yang datang/pergi memang benar-benar dari network/system kita.

  • Dalam DMARC record perlu di tambahkan opsi agar selalu menggunakan kunci DKIM.

  • Melakukan optimasi spamassassin.

Untuk petunjuk melakukan pemasangan SPKF, DKIM dan DMARC silakan merujuk ke blog Bapak Vavai berikut. Dalam domain saya yaitu udienz.web.id dan mahyudd.in sudah terpasang SPF dan DKIM yang berguna untuk menangkal phising dan sproffing email tersebut. Berikut adalah tangkapan layar spam yang sempat terjaring oleh Gmail.

11044631_10153169266213281_6392055027775203511_n

Untuk spamassassin saya menggunakan rules sebagai berikut yang sudah saya push ke github:

[git:[email protected]://github.com/udienz/public-sa/blob/master/sa.cf{314:317}] Sekali lagi, jangan pernah membalas email tersebut!

UPDATE, berikut adalah daftar domain yang digunakan:

  • globbalpresence.com

  • recognizettrauma.net

  • gbearn.com

  • comercioes.com

  • eurohomejob.com

  • fastestrades.com

  • usaearns.com

  • idhomejob.com

  • ukhomejob.com

  • eurhomejob.com

vagrant box di buaya

Pada saat ini buaya.klas.or.id telah menyediakan box untuk vagrant [0] dengan provider virtualbox. Hingga detik ini, beberapa distro yang didukung adalah Centos 5/6/7, Debian 7, OpenSUSE, Ubuntu, Lubuntu dan FreeBSD.

Untuk mengunduh box, dapat dilihat pada halaman berikut: http://vagrant.klas.or.id/box/current/

Untuk kode sumber builder dapat ditemukan pada halaman github berikut: https://github.com/udienz/packer

Contoh penggunaan;

mkdir debian-7.8.0-amd64
vagrant box add --provider virtualbox debian-7.8.0-amd64 http://vagrant.klas.or.id/box/current/virtualbox-debian-7.8.0-amd64.box
vagrant init debian-7.8.0-amd64
vagrant up

atau;

mkdir debian7-amd64
vagrant init buaya/debian7-amd64
vagrant up

untuk melihat shorturl vagrant buaya pada atlas dapat merujuk pada url berikut [2]

Tentang Vagrant

Vagrant adalah sebuah program yang memanfaatkan teknologi Mesin Virtual yang memungkinkan kita untuk membuat lingkungan development software secara portable, mudah di duplikasi, konsisten, sehingga proses pengembangan lebih fleksibel.

Jika menemukan bug, atau usulan improvisasi mohon melaporkan pada github.

Terimakasih

– [0] https://www.vagrantup.com/ [1] https://www.virtualbox.org/ [2] https://atlas.hashicorp.com/boxes/search?provider=virtualbox&q=buaya

Fix permission /dev/kvm

Problem ini sangat umum ketika kita memasang qemu-kvm, contohnya ketika akan melakukan pembuatan mesin virtual dengan cara berikut:

/usr/bin/qemu-system-x86_64 -netdev user,id=user.0,hostfwd=tcp::3213-:22 -device virtio-net,netdev=user.0 -drive file=output-qemu/packer-qemu.qcow2,if=virtio,cache=writeback -boot once=d -name packer-qemu -machine type=pc,accel=kvm -cdrom packer_cache/ubuntu.iso -m 512M -vnc 0.0.0.0:47
Could not access KVM kernel module: Permission denied

Atau error seperti berikut

2015 /02/03 18:33:37 packer-builder-qemu: 2015/02/03 18:33:37 Qemu stderr: Could not access KVM kernel module: Permission denied
2015/02/03 18:33:37 packer-builder-qemu: 2015/02/03 18:33:37 Qemu stderr: failed to initialize KVM: Permission denied
2015/02/03 18:33:37 ui error: ==> qemu: Error launching VM: Qemu failed to start. Please run with logs to get more info.
2015/02/03 18:33:37 ui: ==> qemu: Deleting output directory...
==> qemu: Error launching VM: Qemu failed to start. Please run with logs to get more info.
2015/02/03 18:33:37 ui error: Build 'qemu' errored: Build was halted.
2015/02/03 18:33:37 Builds completed. Waiting on interrupt barrier...

Hal ini dikarenakan ACL pada berkas /dev/kvm yang belum memasukkan user kita, contohnya:

sudo getfacl /dev/kvm
getfacl: Removing leading '/' from absolute path names
# file: dev/kvm
# owner: root
# group: kvm
user::rw-
group::rw-
other::---

Seharusnya pada kolom user ada user kita :(. Untuk mengatasinya kita perlu melakukan modifikasi ACL pada berkas /dev/kvm dengan cara:

sudo setfacl -m user:$USER:rw- /dev/kvm

contoh jika user adalah udienz:

sudo setfacl -m user:udienz:rw- /dev/kvm
sudo getfacl /dev/kvm
getfacl: Removing leading '/' from absolute path names
# file: dev/kvm
# owner: root
# group: kvm
user::rw-
user:udienz:rw-
group::rw-
mask::rw-
other::---

Silakan dicoba

Referensi:

  1. https://bbs.archlinux.org/viewtopic.php?id=69454

  2. http://ubuntuforums.org/showthread.php?t=1976606

  3. http://forums.debian.net/viewtopic.php?f=10&t=111711&sid=e550c9b1d0a8bec4ff430ec9f3858569&start=15

  4. http://stevedowe.me/2014/09/fix-permissions-error-with-kvm-virtual-machine-on-debian.html