Tuesday, June 7, 2016

"Perfect Server" Ubuntu Server 16.04 LTS(part2)

Posted by with No comments
Assalamu'alaikum Wr. Wb.

Pada kesempatan kali ini, kami akan melanjutkan tutorial kemarin. Disini nanti kita akan menginstall Let's Encrypt, Mailman, PureFTPd, Quota, Bind, fail2ban dan ufw. Baiklah, mari kita langsungkan saja...

  1. Install Apache, PHP, phpMyAdmin, FCGI, SuExec, Pear, dan mcrypt
    Jika kalian sudah menginstall Apache atau lamp server kalian tetap install lagi tidak apa-apa. Karena ini digunakan dependensi agar proses installasi berjalan lancar. Tapi kami sarankan kalian install lamp server dulu sebelum mengkonfigurasi lainnya dan lagipula nanti kami akan langsung ke tahap konfigurasi yg lain.
    Cara install:
    #a2enmod suexec rewrite ssl actions include cgi
    #a2enmod dav_fs dav auth_digest headers
    Kemudian restart apachenya
    #service apache2 restart 
  2. Install PHP Opcode Cache
    Cara ini kita lakukan karena agar PHP yg kita konfigurasi lebih stabil atau terorganisir lebih baik
    Cara install:
    #apt install php7.0-opcache php-apcu
    Kemudian restart apachenya
    #service apache2 restart
  3. Install PHP-FPM
    Untuk menggunakan PHP-FPM kita butuh module mod_fcgi. Tetapi kalian jangan sampai memadukan PHP-FPM dengan module mod_fcgid. Mod_fcg memang hampir sama tapi kalian tidak bisa menggunakan PHP-FPM dengan module mod_fcgid.
    Cara install:
    #apt install libapache2-mod-fastcgi php7.0-fpm
    Lalu kalian aktifkan module dan restart apachenya
    #a2enmod actions fastcgi alias
    #service apache2 restart
  4. Install HHVM(Hip-hop Virtual Machine)
    HHVM adalah sebuah PHP engine handal yg dikembangkan oleh Facebook
    Cara install:
    #apt install hhvm
  5. Install Let's Encrypt
    Let's Encrypt adalah sebuah pelayanan TLS/SSL, yg bersifat free, serta sudah banyak di suport seperti salah satunya Cisco. Untuk mengetahui lebih lanjut tentang Let's Encrypt, kalian bisa mengunjungi website resminya link.
    Cara Installasi:
    #apt install git
    Lalu kita install menuju /opt/letsencypt
    #cd /opt
    #git clone https://github.com/letsencrypt/letsencrypt
    #cd /letsencypt
    Kemudian kita jalankan letsencrypt-auto dengan menggunakan pilihan --h untuk menginstall let's encrypt
    #sudo -H ./letsencrypt-auto --h
    Setelah itu nanti akan muncul pilihan-pilhan perintah dan kalian bisa mengkonfigurasinya di ISP Config
  6. Install Mailman
    Mailman adalah software gratis yg berguna untuk mengelola list pengiriman email dan e-newsletter. Mailman terintegrasi dengan web, jadi pengguna mudah untuk mengakses dan mengelolanya.
    Cara install:
    #apt install mailman
    Kemudian nanti akan muncul tampilan seperti ini

    Pilih bahasa Inggris saja

    Lalu OK

    Setelah itu, sebelum memulai Mailman daftar pertama mailing yg bernama mailman harus dibuat
    #newlist mailman

    NB: Disitu tidak harus 'mailman'. Kalian bisa menggunakan nama kalian atau lainnya Kemudian muncul beberapa perintah seperti ini


    Selanjutnya kita tambahkan script berikut di file aliases(/etc/aliases)
    ## mailman mailing list
    mailman: "|/var/lib/mailman/mail/mailman post mailman"
    mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman"
    mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman"
    mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman"
    mailman-join: "|/var/lib/mailman/mail/mailman join mailman"
    mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman"
    mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman"
    mailman-request: "|/var/lib/mailman/mail/mailman request mailman"
    mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman"
    mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"
    Lalu kita jalankan dan restart Postfix
    #newaliases
    #service postfix restart
    Terakhir, kita enablekan konfigurasi Mailman Apache
    #ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/mailman.conf
    Lalu kita start Mailman
    #service mailman start
    Kemudian kita coba di browser, caranya:
    http://192.168.188.2/cgi-bin/mailman/admin/mailman(untuk admin)
    http://192.168.188.2/cgi-bin/mailman/listinfo/mailman
    (untuk client)

  7. Install PureFTPd dan Quota
    #apt install pure-ftpd-common pure-ftpd-mysql quota quotatool
    Setelah itu, edit file di /etc/default/pure-ftpd-common
    #nano /etc/default/pure-ftpd-common
    Kemudian kalian ubah seperti pada gambar berikut

    Setelah itu kita buat FTPnya tersecure dengan TLS
    #echo 1 > /etc/pure-ftpd/conf/TLS
    Buat folder SSLnya
    #mkdir -p /etc/ssl/private
    Setelah itu kita install sertifikasi  SSLnya
    #openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

    Kemudian kita ubah hak aksesnya
    #chmod 600 /etc/ssl/private/pure-ftpd.pem
    Lalu restart
    #service pure-ftpd-mysql restart
    Selanjutnya edit fstab, tambahkan script berikut ,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0
    #nano /etc/fstab

    Selanjutnya kita enablekan Quotanya
    #mount -o remount /
    Lalu
    #quotacheck -avugm
    #quotaon -avug
  8. Install Bind
    #apt install bind9 dnsutils haveged
  9. Install Vlogger, Webalizer, Awstats
    Vlogger, Webailzer dan Awstats digunakan untuk memonitoring server kalian
    Cara install:
    #apt install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl
    Kemudian kita edit konfigurasi awstatnya
    #nano /etc/cron.d/awstats
    Lalu kita  beri comment seperti pada gambar berikut

     
  10. Install Jailkit
    Jailkit digunakan untuk chroot pada user SSH
    Cara install:
    #apt install build-essential autoconf automake1.11 libtool flex bison debhelper binutils
    Lalu
    #cd /tmp
    #wget http://olivier.sessink.nl/jailkit/jailkit-2.19.tar.gz
    #tar xvfz jailkit-2.19.tar.gz
    #cd jailkit-2.19
    #./debian/rules binary

    Sekarang kita dapat menginstall .deb-nya
    #cd ..
    #dpkg -i jailkit_2.19-1_[Tab].deb
    rm -rf jailkit-2.19[tab]

  11. Install Fail2ban dan UFW
    Fail2ban adalah sebuah software yg berguna untuk scan log file dan bisa juga mencari exploit yg sudah masuk di server kalian.
    Cara install:
    #apt install fail2ban
    Agar Fail2ban bisa memonitor PureFTPd dan Dovecot, kita buat file jail.local
    #nano /etc/fail2ban/jail.local
    [pureftpd]
    enabled = true
    port = ftp
    filter = pureftpd
    logpath = /var/log/syslog
    maxretry = 3

    [dovecot-pop3imap]
    enabled = true
    filter = dovecot-pop3imap
    action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp]
    logpath = /var/log/mail.log
    maxretry = 5

    [postfix-sasl]
    enabled = true
    port = smtp
    filter = postfix-sasl
    logpath = /var/log/mail.log
    maxretry = 3
     
    Lalu kita buat dua file filter
    #nano /etc/fail2ban/filter.d/pureftpd.conf
    Dan tambahkan script berikut
    [Definition]
    failregex = .*pure-ftpd: \(.*@\) \[WARNING\] Authentication failed for user.*
    ignoreregex =
    #nano /etc/fail2ban/filter.d/dovecot-pop3imap.conf
    [Definition]
    failregex = (?: pop3-login|imap-login): .*(?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed|Aborted login \(\d+ authentication attempts).*rip=(?P\S*),.*
    ignoreregex =
    Setelah itu, "kita tambahkan baris ignoreregex yg hilang di postfix sasl
    #echo "ignoreregex =" >> /etc/fail2ban/filter.d/postfix-sasl.conf
    Lalu restart fail2ban
    #service fail2ban restart
    Untuk menginstall UFW, caranya cukup seperti yg ada dibawah ini dan tidak perlu konfigurasi apapaun
    #apt install ufw


Wassalamu'alaikum Wr. Wb.

0 comments:

Post a Comment