Hardening Server #2 Instalasi dan konfigurasi Malware Detect pada linux server

Pengalaman kali ini bercerita tentang instalasi dan konfigurasi Malware Detect pada server linux.

akhir-akhir ini jadi konsentrasi sama security karena salah satu server terkena RootKit. jadi Parno 😀

oke, malware detect ini berfungsi untuk mendeteksi script malware yang berada pada server. biasanya, script itu nempelnya di folder website.

oke, berikut langkah-langkahnya.

pertama-tama mari ucapkan do’a, kemudian, download malware detect :

ant@linux:~$ wget http://www.rfxn.com/downloads/maldetect-current.tar.gz

ant@linux:~$ tar -xvf maldetect-current.tar.gz

ant@linux:~$ cd maldetect-1.6.4

ant@linux:~$ ./install.sh

lakukan konfigurasi maldetect dengan perintah :

ant@linux:~$ nano /usr/local/maldetect/conf.maldet

sesuiakan script dengan perintah ini :

email_alert=1
email_addr=gacanepa@localhost
email_subj="Malware alerts for $HOSTNAME - $(date +%Y-%m-%d)"
quar_hits=1
quar_clean=1
quar_susp=1
clam_av=1

setelah di sesuaikan, instalasi clamav , clamav ini anti virus, jadi cara kerja malware detect ini membuat Perjanjian Kerja Sama ( PKS ) antara malware detect dengan clamav.

ant@linux:~$ apt install clamav

selesai, instalasi dan konfigurasi selesai, gampang kan ? banget.

sekarang saya uji coba scan di server saya :

ant@linux:~$ maldet –scan-all /var/www/

hasilnya :

cara install malware detect

tiga file terjaring razia malware detect dan langsung dikarantina, otomatis, fungsi dari aplikasi yang didalamnya terdapat file tersebut, tidak bisa berjalan sesuai fungsi sebelum file tersebut dihapus dari folder karantina.

Bagikan saja, itu tidak berat

Bagaimana bisa sih server terserang Rootkit ? begini kronologinya.

Beberapa waktu lalu, salah satu Virtual Private Server terserang Rootkit.

Rootkit ini adalah kode jahat atau didalam dunia IT biasa disebut Malware. melakukan pekerjaan di server yang terinfeksi sesuai dengan perintah programmernya. ya pokoknya kalau mau tau lengkap tentang rootkit, bisa brosing-brosing yaks.

setelah di telusuri dari log, baik log firewall maupun log sistem operasi. kemungkinan besar rootkit itu masuk melalui port default SSH , yaitu 22.

metode yang digunakan adalah Brute Force, yaitu sebuah teknik mencocokkan kombinasi username dan password untuk akses ke remote SSH.

Brute Force Attack

nah, kok bisa masuk melalui port tersebut ? setelah di telusuri, kombinasi username dan password server yang terjangkir Rootkit untuk remote SSH itu sangat default, dengan loginnya root ( user tertinggi pula ).
username : root
passwd : rahasia

berikut bukti bahwa ada ribuan kali percobaan untuk login,

Brute Force 3

tidak butuh waktu lama untuk Script Brute Force tersebut mampu menebak kombinasi loginnya.

Brute Force Attack 1setelah berhasil masuk ke server, scipt tersebut menanamkan Malware, melakukan Sync Flood ke IP luar Negeri.

ini malwarenya :

Brute Force 5

Screenshot_535

dan ini kegiatannya :

Brute Force 5

ini bisa terjadi juga dikarenakan konfigurasi firewall yang kurang tepat, sehingga mengijinkan trafik yang dinilai tidak lazim untuk melewati jaringan.

sekian, mitigasi dari saya. semoga kejadian ini tidak terjadi lagi. amin.

Bagikan saja, itu tidak berat

Hardening Server #1 . merubah default port akses SSH pada linux

Halo , mau cerita sedikit.

yang pertama mau cerita tentang pekerjaan saya ya, jadi pekerjaan saya adalah sebagai penyedia Hosting dan Virtual Private Server bagi client-client yang membutuhkan.

Hosting digunakan untuk user-user yang menitipkan file aplikasi atau website yang tidak membutuhkan spesifikasi dan konfigurasi khusus. jadi, pengelolaan server dan jaringannya sepenuhnya ditanggung oleh kami, mulai dari konfigurasi, backup sampai dengan maintenance.

berbeda dengan hosting, Virtual Private Server atau yang di singkat VPS adalah server virtual yang biasanya di minta karena user membutuhkan spesifikasi dan konfigurasi khusus. seharusnya dan memang semestinya, urusan konfigurasi, security, backup dan maintenance di kelola oleh user tersebut. ini secara virtual lo ya, kalau secara fisik, masih di kelola oleh penyedianya ( kami ).

jadi itu cerita singkat pekerjaan saya, selain pekerjaan-pekerjaan lagi yang ditugaskan oleh atasan.

lanjut ceritanya, beberapa hari yang lalu, salah satu VPS yang di kelola oleh client terserang rootkit, rootkit ini berjalan di user root , melakukan sync flood ke IP luar negeri

bagaimana bisa terserang rootkit, saya jelaskan pada artikel ini :

Bagaimana bisa sih server terserang Rootkit ? begini kronologinya.

mengandalkan firewall saya tidak cukup, jika itu yang menyerang script, mungkin bisa diatasi oleh firewall, tapi jika yang menyerang manusia ? tidak bisa.

maka dari itu perlu pengamanan tambahan seperti judul diatas. begini teknisnya :

setelah masuk ke server, rubah konfigurasi SSH kamu.

rubah default port ssh

menggunakan perintah editor, kemudian, hapus tanda pagar, dan rubah menjadi port yang unik dan tidak standar terserah kamu.

rubah default port ssh 2

lalu save , kemudian jangan lupa restart service ssh nya

rubah default port ssh 3

dengan begini, port ssh telah berubah. sedikit lebih aman karena biasanya script Brute Force disana menggunakan port default dari service SSH server.

pesan moral : TIDAK ADA SYSTEM YANG AMAN DI DUNIA INI, WALAUPUN ITU BERADA DI LOCALHOSTMU.

Bagikan saja, itu tidak berat

Membuat user nologin di ubuntu untuk eksekusi aplikasi

Halo, ceritanya saya sedang instalasi aplikasi di server linux ubuntu.

nah, pengennya saya, aplikasi tersebut dijalankan user user yang bukan sudoers dan tidak memiliki login. setelah googling sana sini, akhirnya nemu juga solusinya.

hal ini saya maksudnya untuk tingkat keamanan saja, dan untuk manajemen user. okeh, mari kita lakukan.

  1. hal pertama adalah membuat user baru.

ant@linux:~$ sudo useradd -s /sbin/nologin nadia

2. kemudian memberi password pada user tsb

ant@linux:~$ sudo passwd nadia
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
ant@linux:~$

3. lanjut, membuat direktory dan hak kepemilikan untuk user tsb.

ant@linux:~$ mkdir nadia
ant@linux:~$ sudo chown -R nadia:nadia nadia
ant@linux:~$ cd nadia
ant@linux:~/nadia$

4. selanjutnya memberikan hak akses bash pada user tersebut, dimana hak akses bash itu diperuntukkan menjalankan perintah-perintah, ya pokoknya gitu deh.

ant@linux:~$ sudo -u nadia bash
nadia@linux:~$

otomatis sudah pindah ya, ke user nadia.

yuk, sekarang saya buat contoh user tersebut untuk mendownload dan mengeksekusi aplikasi.

user nologin

user nologin

pada percobaan ini, user saya gunakan untuk wget. dan berhasil., kemudian

user nologin bash

user nologin bash

setelah extrack , dan saya masuk ke folder extrac untuk menjalankan aplikasi

membuat user nologin

membuat user nologin

oke, perintahnya sukses ya, sekarang kita cek, apakah benar aplikasi tersebut dijalankan oleh user nadia

pertama kita ketik exit dulu untuk kembali ke user sudoers, kemudian ketik perntah seperti digambar.

Screenshot_356oke, berhasil ya. sekian dulu celotehan dari saya.

salam damai :*

Bagikan saja, itu tidak berat

Membuat auto backup database server Mariadb

Halo , catatan kali ini adalah membuat Auto Backup pada database Mariadb/Mysql.

auto backup ini diperlukan dan menurut saya sangat diperlukan untuk antisipasi jika terjadi bencana pada server. misalnya kerusakan pada database server, ataupun terhapusnya data. dengan adanya backup, kita bisa melakukan restore menggunakan file backup tersebut.

kegiatan kali ini saya jalankan pada server saya. dengan komposisi :

  1. server dengan OS ubuntu.
  2. Mariadb versi 10.3
  3. akses SSH

untuk alasan Security, script ini saya jalankan di user root. tahap awal adalah membuat sebuah file bash script pada folder home root dengan perintah editor vi

root@hosting-app:~# vi backupdb.sh

ketik huruf i untuk mengedit, kemudian isi file tersebut dengan script dibawah ini :

#auto backup mariadb
mysqldump –user=’root’ –password=’xxxxx’ -h localhost –all-databases > data_`date +%d%m%Y_%H%M%S`.sql

#Menghapus file setelah tujuh hari
find /root -name “*sql” -mtime +7 -exec rm {} \;

setelah itu, ketik tombol Esc , kemudian save dengan perintah  :wq

setelah disimpan, berikan permisi pada file tersebut agar dapat dieksekusi dengan perintah :

root@hosting-app:~# chmod 777 backupdb.sh

sampai disini, script auto backup berhasil dibangun, namun belum bisa berjalan otomatis karena belum didaftarkan pada cronjob. cara menambahkan pada cronjob adalah dengan mengetikkan perintah :

root@hosting-app:~# crontab -e

tambahkan baris script seperti dibawah ini (yang di blok) :

Screenshot_82

kemudian tekan Ctrl+x , dan pilih Yes

arti dari baris diatas adalah : melakukan eksekusi file backudb.sh pada jam 01.00 dini hari setiap hari. dimana file backupdb.sh itu adalah perintah untuk backup database mariadb dan hapus file setelah tujuh hari.

setelah itu, lakukan restart pada service pada crobjob dengan perintah :

root@hosting-app:~# systemctl restart cron

sampai disini, script auto backup database sudah berhasil, jika belum berhasil, ulangi sampai berhasil :p

sekian dan terima gaji

Bagikan saja, itu tidak berat

Sysadmin siap dalam kondisi apapun

Laptop rusak belum dibenerin.
Quota internet habis belum diisi.

Beginilah sedikit cerita tentang ke misqueenan seorang tukang kebun yang harus menjaga kebun2nya baik siang ataupun malam agar tetap baik2 saja.

Sedang leyeh-leyeh di depan sambil numpang waifi sekolahan TK, tiba-tiba dapet pesan WA dari atasan : “Bro, coba akses web zzz , sepertinya error”. Oke siap cek boss, jawab saya.

Sadar kalau laptop masih rusak dan minimnya akses internet, saya melakukan remote terhadap ‘kebun-kebun’ saya dengan kondisi kadang konek, kadang putus + dinyamukin diluar rumah.

Rasanya lega, bisa mengatasi masalah dengan keadaan yg minim. Tetap optimis dengan keadaan, dan bertanggungjawab terhadap pekerjaan.

sysadmin

Bagikan saja, itu tidak berat

Troubleshooting server error di tengah malam ( pengalaman dan pengamalan )

Tanggal 1 mei kemarin, tepatnya pukul 22.00 wib atau jam 10 malam, saya harus starter dan gas motor supra butut saya. Ya, menuju kantor. Padahal itu sudah malam dan hari libur nasional.

Hal ini terjadi setelah saya dapat pesan singkat, bahwa layanan *sensor* down dan tidak dapat diakses publik. Awalnya saya coba melakukan remote, tapi tidak bisa. Dan saya menduga server mengalami down.

Sesampainya dikantor, dugaan saya benar, dua keping harddisk server mengalami crash. Karena ini barang warisan, jadi tidak ada sistem mirror. Tapi untungnya saya sempat melakukan backup menggunakan script. Setelah cek semua dan melapor kepada atasan, kemudian saya kembali kerumah pukul 12 malam. Padahal, saya harus terbang ke Denpasar jam 8 pagi.

Sesampainya dirumah, malahan asam lambung saya kambuh, saya menahan penyakit itu sampai jam 6 pagi. Dan menghubungi rekan saya, bahwa saya batal ke Denpasar.

Walau batal ke Denpasar, tapi ada hikmahnya. Saya bisa konsentrasi untuk menghidupkan kembali layanan yang down. Karena layanan itu digunakan di penjuru Indonesia, maka akan menjadi lucu kalau downnya berlama-lama.

Pelajaran buat saya, mirror dan backup itu sangat penting dan memang harus segera dibangun untuk High Avaibility yang bagus.

 server errorhdd crashgagal terbang
Bagikan saja, itu tidak berat

mengatasi masalah perl: warning: Setting locale failed.

mengatasi masalah perl: warning: Setting locale failed

text diatas muncul pada terminal server ubuntu saya saat instalasi apapun via apt.

setelah saya cari-cari, saya diarahkan ke artikel pada https://ubuntuforums.org/showthread.php?t=1346581 untuk solusinya, dan saya praktekkan dan berhasil

berikut cara mengatasi perl: warning: Setting locale failed.

pertama ketik perintah :

locale-gen en_US en_US.UTF-8 hu_HU hu_HU.UTF-8

kemudian perintah :

dpkg-reconfigure locales
perl: warning: Setting locale failed.

perl: warning: Setting locale failed.

lalu akan muncul :

perl: warning: Setting locale failed.1

perl: warning: Setting locale failed.1

pilih all dengan menekan spasi.

kemudian biarkan dia berjalan sesuai keinginannya. dan berhasil 😀

demikian cara mengatasi

perl: warning: Setting locale failed.

semoga berhasil

Bagikan saja, itu tidak berat

Blog tergalau sedunia

Aslm. selamat pagi/siang/sore 😀

Beres dah pasang themes di wordpress yang super galau ini, galau karena udahlah jarang update, sering ganti theme, dan gak konsisten sama isinya.

ya , namanya blogger galau. gak tau arahnya mau dibawa kemana ini blog. tapi, tapi ini lo, mulai saat ini saya akan konsisnten tenhadap blog ini.

blog ini akan mendokumentasikan setiap kegiatan saya, baik itu dalam hal pekerjaan atau keseharian. kata-kata tadi mirip seperti kata-kata saya dari tahun ke tahun, di blog ini juga. 😀

btw, themes yang saya gunakan saat ini adalah themes Pulito Clean Blog Lite. ,

lagi-lagi temanya clean, seperti themes-themes saya sebelumnya. ya itulah, saya sendiri tidak tau, kenapa saya mesti ganti themes, padahal tidak ada masalah dengan themes yang sebelumnya. tapi gak apa-apalah, blog-blog saya, ya suka -suka saya mau saya apain.

ya mudah-mudahan saya bisa konsisten setelah artikel ini terbit. hehehe..

saya bakal sering ngomongin konfigurasi server, firewall paloalto , server linux centos, ubuntu dll , openstack   proxmox , 

dan lainnya, apa aja deh…

sekian , terima kasih.

wasalam.

 

Bagikan saja, itu tidak berat

Cara Load Balancing web server dengan haproxy dan glusterfs

mumpung lagi gak begitu males, iseng-iseng nyempatin nulis buat dokumentasi oprak aprek Cara Load Balancing web server dengan haproxy dan glusterfs.

ini bukan tutorial, sekali lagi bukan tutorial, hanya catatan kecil dokumentasi hasil oprekan saya supaya nanti kalau inplementasi tidak susah nyarinya.

load balancing berguna untuk membagi beban kerja server dengan menambakan server-server lainnya. selain itu juga berfungsi sebagai fail over, hmmm atau dalam bahasanya manusianya, jika yang satu pergi, masih ada yang satunya lagi. cadangan gitulah pokoknya.

ada dua garis besar yang perlu digaris bawahi pake penggaris. yang pertama adalah load balancenya sendiri, yang kedua adalah mirror filenya. tools yang dibutuhkan adalah :

  1. HAPROXY : web load balance
  2. GLUSTERFS : mirror file
  3. KOPI , KOPI, KOPI . ini harus di sebutkan tiga kali supaya lebih menjiwai. hahaha..

saya menggunakan tiga buat server centos 7 yang saya install dalam sebuah aplikasi virtualisasi yang masing-masing server sudah terinstall web server dengan konfigurasi :

serverloadbalacing :192.168.134.130

webserver1 : 192.168.134.128

webserver2 : 192.168.134.129

langkah pertama adalah mematikan semua firewall dan selinux, caranya bisa nyari di gugel ya, sudah banyak bertebaran.

langkah 2 : instalasi gluster pada webserver2

memberi penamaan pada server

[root@webserver2 home]#vi /etc/hosts
192.168.134.128 webserver1
192.168.134.129 webserver2

install paket

[root@webserver2 /]#yum -y install glusterfs glusterfs-fuse glusterfs-server

membuat direktori yang akan dijadikan mirror

[root@webserver2 home]# mkdir /home/mirror/website

menambahkan volume pada hdd

[root@webserver2 /]# gluster volume create mirror webserver2:/home/mirror/website force

lakukan start

[root@webserver2 /]# gluster volume start mirror

 

langkah 3 : instalasi gluster pada webserver1

memberi penamaan

[root@webserver1 home]#vi /etc/hosts
192.168.134.128 webserver1
192.168.134.129 webserver2

install paket

[root@webserver1 home]#yum -y install glusterfs glusterfs-fuse

membuat direktori mirror

[root@webserver1 home]# mkdir /home/aplikasi/website

melakukan mount service folder yang berada di webserver2 pada hdd webserver1

[root@webserver1 home]# mount.glusterfs webserver2:/mirror /home/aplikasi/website/

cek apakah sudah ter-mount

[root@webserver1 home]# df -h

uji coba mirroring dengan masuk ke direktori

[root@webserver1 home]# cd /home/aplikasi/website/

membuat sebuah file

[root@webserver1 website]# touch berhasil

lalu kemudian cek di webserver2 pada direktori /home/mirror/website/

apakah sudah ada file “berhasil” , jika sudah, selamat, anda berhasil ke babak selanjutnya. 😀

 

langkah 4 : instalasi HAPROXY pada serverloadbalacing

ketik di terminal

yum install haproxy   <========= mudah kan :p

edit file yang berada di :

/etc/haproxy/haproxy.cfg

lalu konfigurasinya :

listen Web-Server-Load-Balancing *:80
option httpchk
option httpclose
option forwardfor
balance roundrobin
server Web-Server-1 192.168.134.128:80 check
server Web-Server-2 192.168.134.129:80 check

listen stats 192.168.134.130:4000
mode http
log global

maxconn 10

clitimeout 100s
srvtimeout 100s
contimeout 100s
timeout queue 100s

stats enable
stats hide-version
stats refresh 30s
stats show-node
stats auth admin:password
stats uri /haproxy?stats

jika sudah cek pada url :

http://192.168.134.130:4000/haproxy?stats

user : admin

pass : password

jika tampilan seperti dibawah, selamat,

Cara Load Balancing web server dengan haproxy dan glusterfs

telah berhasil. :*

Cara Load Balancing web server dengan haproxy dan glusterfs

Cara Load Balancing web server dengan haproxy dan glusterfs

Bagikan saja, itu tidak berat