Blog

  • Memperbaiki Error Slideshow dan Banner pada SPSE4

    Request rekan Fredy LPSE HSS agar dibuatkan tuts untuk mengatasi error seperti ini ketika ingin menampilkan banner dan slideshow :

    Ah6KrfsRTPfdWOZYQEu0-0nwiooXIER9rJ7lw1AnUEex

    Step perbaikan error sebagai berikut (langkah-langkah dibawah ini dikerjakan pada terminal/console) :

    1. su – postgres
    2. psql -l (pada contoh ini database yang digunakan adalah : epns_latihan)
    3. psql
    4. kopi-paste perintah berikut :

    \connect epns_latihan;
    CREATE SEQUENCE seq_konten_multimedia
    START WITH 100
    INCREMENT BY 1
    NO MAXVALUE
    NO MINVALUE
    CACHE 1;
    ALTER TABLE public.seq_konten_multimedia OWNER TO epns;

    5. \q
    6. exit
    7. service postgresql restart

    Silakan mencoba kembali upload file banner dan slideshow pada SPSE4 anda… D.W.Y.O.R !

  • Crontab List Semua User

    Menampilkan crontab list semua user :

    for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done

  • How To Install Zimbra 8.6 on CentOS 6

    Memenuhi pesanan Om Narno, bahwa saya harus segera membagikan cara menginstall zimbra mail server, berikut caranya :
    1. https://imanudin.net/2015/03/13/how-to-install-zimbra-8-6-on-centos-6-part-1/
    2. https://imanudin.net/2015/03/14/how-to-install-zimbra-8-6-on-centos-6-part-2/

    video link nya disini :
    1. https://youtu.be/WkYdxucvzUY

  • Koneksi SSH Dengan Port Knocking

    Melanjutkan tulisan sebelumnya tentang Mengatur Firewall Centos 6, menarik untuk lebih meningkatkan lagi keamanan service yang dibuka pada server.

    Port Knocking adalah teknik yang digunakan untuk mengamankan koneksi atau akses port dari pengguna yang tidak diinginkan. Dengan menggunakan teknik ini kita memelihara satu atau beberapa port yang dikonfigurasi sebelumnya ditutup dan ini hanya akan dibuka menggunakan urutan pengetukan (knocking) terhadap port-port komunikasi yang sudah ditetapkan, sebagai contoh : port 22 (default ssh) hanya akan dibuka jika sudah dilakukan ‘knocking’ pada port 1000, 2000 dan 3000 secara berurutan. Perintah knocking dari sisi client dapat menggunakan Nmap, Telnet atau aplikasi yang memang diperuntukan sebagai knocking client.

    Let’s start!

    Saya menggunakan Linux Centos 6.5 x64 (untuk distro lainnya silakan command disesuaikan)

    1. yum install libpcap*
    2. cd /usr/local/src
    3. wget -c http://pkgs.repoforge.org/knock/knock-0.5-3.el6.rf.x86_64.rpm
    4. rpm -ivh knock-0.5-3.el6.rf.x86_64.rpm
    5. konfigurasi :

    baris ini, pada tulisan saya sebelumnya silakan di ‘#’, karena nantinya akan dihandle oleh knockd :

    ## iptables -A INPUT -p tcp –dport 22 -j ACCEPT
    iptables -A INPUT -p tcp –dport 80 -j ACCEPT

    nano /etc/knockd.conf :

    [options]
    logfile = /var/log/knockd.log

    [openSSH]
    sequence = 1000,2000,3000
    seq_timeout = 30
    tcpflags = syn
    Start_command = /sbin/iptables -I INPUT -s %IP% -p tcp –dport 22 -j ACCEPT

    [closeSSH]
    sequence = 1001,2002,3003
    seq_timeout = 30
    command = /sbin/iptables -D INPUT -s %IP% -p tcp –dport 22 -j ACCEPT
    tcpflags = syn

    ctrl + x + s

    6. service knockd start
    7. chkconfig knockd on
    8. reboot server

    Cara knocking di client sebagai berikut :

    9. Client Linux
    open connection :
    # nmap -p 1000 SERVER-IP
    # nmap -p 2000 SERVER-IP
    # nmap –p 3000 SERVER-IP

    close connection :
    # nmap -p 1001 SERVER-IP
    # nmap -p 2002 SERVER-IP
    # nmap –p 3003 SERVER-IP

    10. Client Windows dapat mengunduh dari Knocking Client Windows

    11. hasil log knockd
    # tail /var/log/knockd.log

    [2016-02-10 05:20] 10.0.0.99: openSSH: Stage 1
    [2016-02-10 05:21] 10.0.0.99: openSSH: Stage 2
    [2016-02-10 05:21] 10.0.0.99: openSSH: Stage 3
    [2016-02-10 05:21] 10.0.0.99: openSSH: OPEN SESAME
    [2016-02-10 05:21] openSSH:

    Selamat Mencoba! D.W.Y.O.R

    ref :
    1. http://tecadmin.net/secure-ssh-connections-with-port-knocking-linux/#
    2. http://gregsowell.com/?p=2020
    3. https://en.wikipedia.org/wiki/Port_knocking

  • Solusi SPSE4 Logout ‘Forbidden’

    SPSE4-latihan tidak mau logout dan menampilkan tulisan ‘Forbidden’, ketika di tail -f /var/log/error_log hasilnya sebagai berikut :

    [Fri Feb 26 12:02:28 2016] [error] [client 10.0.0.99] ModSecurity: Warning. Match of “rx ^[\\\\x20-\\\\x7f]+$” against “REQUEST_BODY” required. [file “/etc/httpd/conf/httpd.conf”] [line “1125”] [id “1234582”] [hostname “192.168.100.195”] [uri “/eproc4lat/user/logout”] [unique_id “VtCFJH8AAAEAACPYALsAAAAB”]

    berikan saja tanda ‘#’ dibaris ‘1125’ pada file ‘/etc/httpd/conf/httpd.conf’ dan restart layanan httpd dengan ‘service httd restart’.

    ## SecRule REQUEST_BODY “!^[\x20-\x7f]+$””id:1234582”

    D.W.Y.O.R (**Selalu backup file conf asal sebelum dilakukan perubahan, agar tidak ‘nyanyuk’)

    *UPDATE 2016-10-25 :

    setelah mendapat pencerahan dari om guntur, ada solusi lain tanpa ‘##’ untuk ‘logout forbidden’, dengan menambahkan baris sbb untuk mendisable id 1234582 pada saat mengakses /eproc4 :

    <IfModule mod_security2.c>
    <Location /eproc4>
    SecRuleEngine Off
    SecRuleRemoveById 1234582
    </Location>
    </IfModule>

    sehingga baris :

    SecRule REQUEST_BODY “!^[\x20-\x7f]+$””id:1234582”

    tetap aktif/enable ketika mengakses spse v3.6

    solusi ini sebenarnya juga berlaku untuk semua “SecRule..Id” dengan menambahkan “SecRuleRemoveById #nomorid” yang menyebabkan masalah (DENIED) pada /eproc4.

  • Solusi APENDO4 ‘Gagal Kirim’

    Rekan Trainer kesulitan melanjutkan proses simulasi lelang pada SPSE4-latihan dikarenakan setiap dokumen penawaran dikirim menggunakan Apendo (v4.1.1) muncul pesan : “gagal dikirim”.

    Dilakukan penelusuran dan torch terhadap aktifitas Apendo4, tidak ada yang janggal dan port yang digunakan pun masih sesuai dengan yang dipakai oleh server SPSE4-latihan.

    Troubleshooting dilanjutkan dengan mengakses langsung port_java yang menjalankan SPSE4-latihan, ternyata Apendo4 berhasil mengirim dokumen penawaran dengan mulus bila SPS4-latihan diakses dengan cara sebagai berikut :

    http://ip_SPSE4-latihan:port_java/eproc4lat atau http://domain_SPSE4-latihan:port_java/eproc4lat

    (* ini dijadikan solusi sementara untuk bisa melanjutkan simulasi SPSE4-latihan)

    Dari sini diketahui bahwa masalah terjadi ketika httpd mentranslatekan port 80 (web) menjadi port 9090 (spse4_java), yang dihandle oleh ProxyPass dan ProxyPassReverse, hasil dari tail -f /var/log/httpd/error_log :

    [Fri Feb 26 11:56:01 2016] [error] [client 10.0.0.99] ModSecurity: Access denied with code 400 (phase 2). Match of “eq 0” against “REQBODY_ERROR” required. [file “/etc/httpd/conf.d/modsecurity.conf”] [line “60”] [id “200002”] [msg “Failed to parse request body.”] [data “Multipart: Multiple boundary parameters in C-T.”] [severity “CRITICAL”] [hostname “192.168.100.195”] [uri “/eproc4lat/lt17/upload”] [unique_id “VtCDoX8AAAEAAAWzANgAAAAA”]

    [Fri Feb 26 11:58:12 2016] [error] [client 10.0.0.99] ModSecurity: Access denied with code 400 (phase 2). Match of “eq 0” against “MULTIPART_STRICT_ERROR” required. [file “/etc/httpd/conf.d/modsecurity.conf”] [line “81”] [id “200003”] [msg “Multipart request body failed strict validation: PE 1, BQ 0, BW 0, DB 0, DA 0, HF 0, LF 0, SM 0, IQ 0, IP 0, IH 0, FL 0”] [hostname “192.168.100.195”] [uri “/eproc4lat/lt17/upload”] [unique_id “VtCEJH8AAAEAACOoANQAAAAC”]

    “ModSecurity : Access denied with code 400” ternyata Apendo4 tidak bisa konek ke port aplikasi SPSE4-latihan karena Mod_Security memblokir koneksi dan menganggap koneksi tersebut berbahaya dengan warning ‘[severity “CRITICAL”]’.

    Karena ini adalah server latihan dan faktor security masih bisa dikompromikan, langsung menuju baris 60 dan 81 di /etc/httpd/conf.d/modsecurity.conf dan berikan tanda # untuk disable.

    Restart layanan httpd : service httpd restart

    Selamat Mencoba, D.W.Y.O.R

    (**Biasakan mencantumkan kode sumbernya ketika anda mengkopi-paste tulisan dari blog ini**)

  • Mengatur Firewall Centos 6

    Defaultnya centos sudah membawa firewall ketika di install, seperti dinyatakan oleh wiki.centos.org : “CentOS has an extremely powerful firewall built in, commonly referred to as iptables, but more accurately is iptables/netfilter”.

    Kita hanya perlu melakukan penyesuaian agar port2 yang diperlukan saja yang dapat diakses menuju server kita, untuk melakukan pengujian port bisa menggunakan :

    http://mxtoolbox.com/PortScan.aspx

    Langkah-langkah penyesuaian konfigurasi iptables sebagai berikut :

    1. rpm -qa iptables # memeriksa paket iptables apakah sudah terpasang?
    2. iptables -L -n # memeriksa apa saja list iptables yang sedang berjalan/aktif
    3. iptables -F; iptables -X; iptables -Z # flush/pembersihan terhadap isi rule iptables

    untuk memudahkan pengaturan rule iptables bisa dengan membuat sebuah file yang berisi aturan iptables dan menjalankannya ketika sistem boot :

    4. touch /etc/myfirewall.sh
    5. nano /etc/firewall.sh # kopi dan paste teks dibawah ke firewall.sh

    ### awal file ###

    #!/bin/bash
    iptables -F
    #
    # Allow SSH connections on tcp port 22 and port 80 (http)
    # tambahkan baris untuk port yang diijinkan untuk diakses seperti contoh dibawah ini
    # bila ssh dijalankan selain di port 22, sesuaikan dengan port yang digunakannya.
    #
    iptables -A INPUT -p tcp –dport 22 -j ACCEPT
    iptables -A INPUT -p tcp –dport 80 -j ACCEPT
    #
    # Set default policies for INPUT, FORWARD and OUTPUT chains
    #
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT
    #
    # Set access for localhost
    #
    iptables -A INPUT -i lo -j ACCEPT
    #
    # Accept packets belonging to established and related connections
    #
    iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
    #
    # Save settings
    #
    /sbin/service iptables save
    #
    # List rules
    #
    iptables -L -v

    ### akhir file ###

    6. chmod +x /etc/myfirewall.sh
    7. /etc/./myfirewall.sh # ujicoba menjalankan file secara manual
    8. nano /etc/rc.local

    tambahkan autostart pada rc.local agar file myfirewall.sh dijalankan otomatis ketika sistem di reboot, menjadi :

    /etc/./myfirewall.sh
    touch /var/lock/subsys/local

    9. reboot server
    10. iptables -L -v # untuk mengecek kembali iptables/firewall sudah dijalankan pada server
    11. http://mxtoolbox.com/PortScan.aspx # cek kembali port yang open di server

    selamat mencoba…DWYOR!

    ref :
    1. https://wiki.centos.org/HowTos/Network/IPTables
    2. https://www.vultr.com/docs/setup-iptables-firewall-on-centos-6

  • Mengatasi Vulnerability di CENTOS 6

    Untuk rekan pengguna os CENTOS 6 untuk aplikasi SPSE baik versi 36 maupun 4, ada beberapa vulnerabilty (kerentanan) pada os tersebut, diantara nya di bash dan glibc nya.

    seperti dilansir oleh situs berita http://inet.detik.com/read/2014/09/27/095649/2702923/323/bug-shellshock-bisa-ancam-perbankan

    Langkah pengujian untuk vulnerability bash bisa dilakukan sebagai berikut :

    [root@ip-local-private ~]# env x='() { :;}; echo vulnerable’ bash -c “echo this is a test”

    =====================================
    Apabila outputnya seperti dibawah ini :

    vulnerable
    this is a test

    Maka server anda rentan dan harus diupdate paket bashnya.

    =====================================
    Apabila outputnya seperti dibawah ini :

    this is a test

    ataupun seperti dibawah ini :

    bash: warning: x: ignoring function definition attempt
    bash: error importing function definition for `x’

    this is a test

    Maka server anda tidak harus di update paket bashnya.

    Perbaikan / patch atas bugs tersebut caranya cukup mudah, lakukan 2 langkah berikut :

    yum clean all
    yum update

    kemudian lakukan pengujian ulang atas bugs diatas.

    jadi yang rajin meng-update os nya ya kawan!

    (http://arifzulfikarp.blogspot.co.id/2014/10/update-bash-package-di-centosrhel-64.html)

  • Dump / Backup dan Restore Database SPSE

    untuk keperluan upgrade spse36 ke 36sp2 dan spse4, kadangkala diperlukan dump / backup database di server lama dan merestore nya kembali ke server baru, berikut step nya :

    1. di server lama yang menjalankan spse36 :

    su – postgres

    psql -l
    (untuk keluar, gunakan :q, misal db yang akan dibackup = epns-latihan)

    pg_dump -U postgres epns-latihan -f epns-latihan.sql
    (perhatikan folder/direktory tempat .sql nya dibuat)

    copikan file epns-latihan.sql ke server baru yang menjalankan spse36sp2

    2. di server baru yang menjalankan spse36sp2/spse4 :

    su – postgres
    psql -l

    bila db belum ada, maka create terlebih dahulu :

    createdb -U postgres -O epns epns_latihan

    lalu import/restore db nya :

    psql -U postgres -d epns-latihan -f epns-latihan.sql

    (perhatikan folder tempat meletakan epns-latihan.sql)

    D.W.Y.O.R

  • Redirect WWW to non-WWW

    agar halaman web otomatis me-redirect www ke non-www, tuts nya sbb :

    1. https://www.digitalocean.com/community/tutorials/how-to-redirect-www-to-non-www-with-apache-on-ubuntu-14-04
    2. http://stackoverflow.com/questions/1100343/apache-redirect-from-non-www-to-www

    sesuaikan nama domain…