SSL Self Sign Linux ESMC.

Informasi Lain

ESMC sebagai management administrator untuk end point atau detection engine tentu menggunakan service
web base dalam hal ini tomcat  untuk dapat diakses menggunakan media browser atau sejenis.

Secara default pada saat melakukan deployment khusus nya ESMC on premise pada linux, tomcat masih berjalan menggunakan
procol HTTP dengan port 8080, hal ini mungkin masih menjadi beberapa PR bagaimakan membuat tomcat ini berjalan setidak
menggunakan protocol HTTPS pada jaringan local mereka, dengan case tersebut hal ini dapat dilakukan juga pada tomcat di sisi
linux, tomcat dapat dipasangkan SSL bersifat self sign hal ini menjadi salah satu cara untuk mengaplikasikan SSL/TLS/HTTPS
terlebih dahulu sebelum memiliki SSL dengan CA resmi yang umumnya membutuhkan persetujuan khusus dan juga berbayar
(terdapat juga versi free seperti lets encript), berikut proses pemasangan SSL bersifat Self Sign

1. Dapat akses server ESMC menggunakan via SSH menggunakan aplikasi Putty pada windows atau terminal pada linux lainnya.

2. Selanjutkan kita buat keystore file yang nantinya akan digunakan tomcat untuk keystore filenya
keytool -genkey -alias esmc.self.net -keyalg RSA -keystore /etc/pki/keystore
Keterangan atau informasi pada keystore file.


3. Setelah key store file telah selesai dibuat atau build, anda dapat lakukan backup konfigurasi atau setting “server.xml”

hal tersebut dilakukan agar ketika salah melakukan konfigurasi, lebih mudah untuk melakukan role back dengan menggunakan
konfigurasi atau settings sebelumnya.

4. Edit server.xml pada tomcat yang anda miliki, sebagai contoh lokasi directory saat kami membuat guide ini ada pada path
tersebut, untuk edit server.xml dapat menggunakan  editor tools seperti nano atau vim.

berikut adalah contoh bagian yang harus ditambahkan, secara konfigurasi seperti ini :

<Connector port="8443" protocol="HTTP/1.1"
                connectionTimeout="20000"
                redirectPort="8443"
                SSLEnabled="true"
                scheme="https"
                secure="true"
                sslProtocol="TLS"
                keystoreFile="/etc/pki/keystore"
                keystorePass="passwordkeystore" />

keystore file disesuaikan dengan lokasi keystore yang dibuat atau generate sebelumnya pada tahap 2, sebagai contoh kami meletakkan
keystore file pada directory tersebut, dan untuk keystore pass, password yang di set pada saat keystore file dibuat.

5.  Setelah konfigurasi ditambahkan pada server.xml dapat coba lakukan restart service pada tomcat, berikut contohnya.

systemctl restart tomcat9
perintah tersebut dapat disuaikan dengan versi tomcat atau nama service pada linux yang anda gunakan.

6. Selanjutnya setelah proses berjalan dengan lancar, maka anda dapat akses alamat ESMC anda pada browser menggunakan port 8443.

Status dari https atau SSL tersebut mungkin akan kuning atau merah, hal tersebut dikarenakan SSL hanya bersifat self sign dan
untuk sementara, karena ideal SSL dikeluarkan atau di peroses oleh CA Certificate Authority membutuhnkan beberapa waktu
untuk generate dan umumnya dikenakan biaya, SSL tersebut juga dikaitkan dengan laman atau domain public yang dimiliki, dengan
menggunakan SSL Signed oleh CA maka barulah https akan berstatus trusted atau paling umum akan di tandai pada browser
dengan warna hijau atau gembok penuh.

————————————————————————————————————————————

Case lainnya, Jika ingin akses redirect atau tidak menggunakan port 443 untuk 8443 dan 80 untuk 8080 anda dapat
memanfaat fasilitas ip-tables dan ip tables persistent untuk save konfigurasi yang sudah dilakukan.

Port 80 to 8080
iptables -A PREROUTING -t nat -i ens3 -p tcp --dport 80 -j REDIRECT --to-port 8080
Port 443 to 8443
iptables -A PREROUTING -t nat -i ens3 -p tcp --dport 443 -j REDIRECT --to-port 8443

Untuk Save dapat menggunakan iptables persistent, jika belum memilikinya dapat install pakage iptables persistent tersebut
sudo apt install -y iptables-persistent

Setelah itu lakukan save konfigurasi pada file /etc/iptables/rules.v4
iptables-save > /etc/iptables/rules.v4

Selanjutnya cek rules iptables yang sudah dimasukkan atau save
nano /etc/iptables/rules.v4
umumnya jika rules masuk maka ada tambahan rules dan keterangan tanggal kapan rules tersebut di masukkan, berikut contohnya.
# Generated by iptables-save v1.8.4 on Thu Nov 26 06:27:11 2020
*nat
:PREROUTING ACCEPT [947:135658]
:INPUT ACCEPT [303:42422]
:OUTPUT ACCEPT [222:18568]
:POSTROUTING ACCEPT [222:18568]
-A PREROUTING -i ens3 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
-A PREROUTING -i ens3 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8443
COMMIT


Berikutnya setelah melakukan konfigurasi untuk save rules ip tables agar dapat di save dan tidak hilang ketika restart, dapat mengeceknya
dengan cara restart dan pastikan apakah rules ip tables berikut masih ada, dan alamat dapat diakses sesuai dengan rules tersebut.