Anda di halaman 1dari 66

DOKUMENTASI AAA

DAFTAR ISI
Halaman
COVER........................................................................................…………. X
DAFTAR ISI................................................................................................. X
BAB 1 : PENDAHULUAN
A.Pengertian AAA.................................................................................... X
a.Tujuan................................................................................................. X
B.Tujuan Dokumentasi……….................................................................. X
C.Struktur AAA……………………………………………………………….. X
BAB 2 : PEMBUATAN AAA
A.Persiapan Bahan…….. ........................................................................ X
B.Instalasi RedHat…………………………………………………... ........... X
C.Penuntasan Tugas dan Penanganan Masalah....................................... X
BAB 3 : COMMAND
A…………................................................................................................. X
BAB 4 : PERMASALAHAN & SOLUSI
A…………................................................................................................. X

1
BAB I PENDAHULUAN

A.Pengertian AAA

AAA adalah nama dari suatu project yang bertujuan untuk membuat dan
menambahkan suatu infrastruktur yang dapat melakukan activity record kegiatan yang
dilakukan oleh orang-orang yang berada di ruang lingkup jaringan AAA. Project ini pun
akhirnya akan diimplementasikan kedalam jaringan BDO yang nantinya akan berfungsi
sebagai tempat pembelajaran Pentest dengan berbagai mesin-mesin yang sudah di
setting sebagai target. Activity yang di record akan menjadi acuan dalam pembelajaran
maupun penilaian dalam pentest

a. Tujuan

Pembangunan AAA di BDO bertujuan sebagai tempat untuk berlatih pentest dengan
target-target yang sudah disediakan. Dengan adanya AAA sebagai pusatnya maka
akan memudahkan untuk memonitoring kegiatan-kegiatan yang dilakukan saat
melakukan pentest tanpa perlu khawatir akan langkah-langkah yang terjadi
sebelumnya karena aktivitasnya akan di record yang berfungsi untuk pembelajaran
maupun penilaian yang dapat dapat dinilai oleh pentester lain

B. Tujuan Dokumentasi

Tujuan dari pembuatan dokumen teknis AAA ini adalah sebagai berikut :
Dokumen ini digunakan untuk menjelaskan tentang AAA secara lebih mendalam dari
cara pembuatan, struktur AAA dan juga cara penggunaan yang dapat dimengerti
dengan mudah oleh orang-orang bahkan yang bukan di bidangnya.

2
C. Struktur AAA

Struktur AAA akan dibuat sama dengan yang dibuatkan pada project sebelumnya yaitu
seperti gambar

3
BAB II PEMBUATAN AAA

A. Persiapan Bahan

Bahan-Bahan yang perlu dipersiapkan

Hardware
● Intel Nuc
● Kabel LAN 10 buah
● Switch
● Keyboard dan Mouse
● Layar

Software
● Vmware ESXi
Download: ​https://www.vmware.com/sg/products/esxi-and-esx.html
● Red Hat versi terbaru
Download:​https://developers.redhat.com/products/rhel/download
● Vmware Workstation
Download:
https://my.vmware.com/en/web/vmware/info/slug/desktop_end_user_computing/
vmware_workstation_pro/15_0
● Ubuntu Server
Download:​https://ubuntu.com/download/server
● EasyRsa
Download: ​https://github.com/OpenVPN/easy-rsa
● Nessus
Download: ​https://www.tenable.com/downloads

Memiliki akun Red Hat Developer yang akan digunakan untuk mendaftar subscription di
server redhat nantinya
Link mendaftar: ​https://developers.redhat.com/

Setelah Bahan-bahan Telah disiapkan maka langsung saja instalasi ESXi sebagai OS
utama dari intel Nuc tersebut

4
B. Instalasi RedHat

Pertama kita akan membangun server-server yang dibutuhkan. Kita akan


menggunakan redhat versi terbaru sebagai servernya. Server yang akan dibangun
antara lain:
-Server Dashboard
-Pivot
-Server Log
-Server Nessus
-VPN gateway
-IDM

--Keadaan dan kondisi Intel Nuc telah selesai terinstal ESXI 6.7 sebagai OS utamanya.
A.Langkah-langkah meng-install Redhat di dalam ESXI

Untuk mengatur ESXI,Login lewat Browser (Masuk ip public jaringan yang telah di ​set
up​ di intel nuc).
Alternatif lainnya yang bisa dilakukan untuk menginstall redhatnya adalah melakukan
ssh lewat terminal atau menggunakan VMware Workstationpro dan masuk ke
servernya

5
Setelah memasukan id dan password yang telah disetting maka akan muncul tampilan
seperti berikut. Ini adalah tampilan awal setelah login yang memiliki banyak informasi
ataupun fitur-fitur yang sangat berguna untuk me-managenya.

Untuk menginstall Redhat di dalamnya maka kita harus mengecek informasi mengenai
storage terlebih dahulu untuk memastikan kapasitas yang tersedia untuk memasukan
redhat ke dalamnya. Untuk mengeceknya kita dapat memencet tombol storage seperti
digambar.

6
Dapat terlihat bahwa kapasitas storage yang masih tersedia cukup banyak sehingga
dapat dimasukan redhat di dalamnya. Langkah yang bisa dilakukan selanjutnya adalah
dengan memencet menu DataStore Browser dan akan muncul tampilan seperti berikut

Setelah muncul tampilan seperti langkah yang bisa dilakukan berikutnya adalah dengan
mengupload ISO Redhatnya dengan memencet tombol upload seperti digambar.

7
Tujuannya adalah untuk memasukan file ISO Redhat kedalam Intel Nucnya agar
langsung bisa diinstal didalam intel Nuc tersebut.

Sekarang hanya tinggal menunggu sampai ISO redhatnya terupload kedalam intel Nuc.
Bar yang ditunjuk mengidentifikasi proses pengiriman yang sedang terjadi dan hanya
tinggal menunggu sampai 100%.

8
Setelah selesai maka akan ada file rhel server yang tertambah, ini mengidentifikasikan
bahwa file ISO Redhat telah selesai dan berhasil terupload kedalam Intel nucnya.
Langkah selanjutnya adalah dengan menggunakan Vmware Workstation Pro yang akan
digunakan untuk melakukan interaksi dengan Intel Nucnya secara langsung untuk
menginstall Redhat dengan menggunakan File ISO yang telah terupload kedalam Intel
Nucnya.

Buka Workstation Pro dan pilih menu File -> Connect to server.

9
Sekarang masukan ip yang telah di setting sebelumnya dan masuk sebagai root dan
password yang telah di setting sebelumnya. Jika berhasil masuk maka akan muncul
tampilan sebagai berikut

Setelah mendapat tampilan yang sama seperti diatas, langkah yang dilakukan
berikutnya adalah menginstall Redhat-nya dengan mengikuti langkah-langkah berikut :

10
1.Create new virtual machine.
2. Typical(Recommended)
3.Linux dan set Versionnya Red Hat Enterprise Linux 7(64-bit)
4. Masukan nama Red Hat
5. Atur size sesuai keperluan
6. Pencet tombol Finish

Setelah telah selesai melakukan inisialisasinya, hal yang dapat dilakukan berikutnya
adalah menekan menu Edit virtual Machine Setting di bawah Power On this Virtual
machine.

11
Lalu ganti menggunakan Use Iso Image File. Dan cari bagian DataStore dan lalu
masukan Rhel server redhatnya.

12
Jika telah memasukannya, maka Red Hat tersebut dapat langsung dijalankan

13
Setelah tampilan seperti ini, Langkah selanjutnya tinggal di konfigurasi awalnya diubah
sesuai dengan kebutuhan awalnya.

14
Disini banyak hal yang bisa di setting untuk settingan awal seperti
1.Pemilihan Bahasa
2.Pengaturan timezone
3.Pengaturan partisi
4.Pengaturan user dan pembuatan akun
5. dll
Setelah selesai melakukan konfigurasi awal, dapat langsung memulai instalasi
redhatnya dengan memencet begin installation

Setelah itu akan muncul tampilan seperti diatas, ini menunjukan bahwa root password
dan user masih belum dibuat sehingga harus di set terlebih dahulu. Setelah selesai
Melakukan setting root dan usernya maka tampilannya akan menjadi sebagai berikut

Setelah Redhat Terinstall, maka langkah selanjutnya

Subscription-manager register –username=….. –auto attach


Ini digunakan untuk mendaftarkan redhat dengan subscription yang sudah dimiliki
dengan cara mendaftarkan di redhat developer website.
Gunakan usernamenya dengan username yang telah didaftarkan sebelumnnya dan
masukan password untuk loginnya juga.

15
Setelah melakukannya maka lakukan Yum update untuk mengupdate redhatnnya

Berikutnya jangan lupa juga untul menginstall Epel kedalamnya dengan menggunakan
command
yum install ​https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Source Command:​ ​https://fedoraproject.org/wiki/EPEL

16
Berikutnya kita harus mengenable kan repos didalamnnya dengan menggunakan
command
subscription-manager repos --enable "rhel-*-optional-rpms" --enable "rhel-*-extras-rpms" --enable
"rhel-ha-for-rhel-*-server-rpms"

Setelah selesai maka langsung saja melakukan lagi penginstallan untuk server-server
lainnya dan identifikasikan seperti dashboard,pivot,Serverlog dan lain2.

C.Pemasangan Vswitch

Langsung kembali ke halaman ESXi web interface dan masuk kedalam menu
monitoring dan langsung menambahkan standard virtual switch.

17
Virtual Switch yang akan dibuat adalah 3 yaitu
1. Monitoring: Untuk Log server, Identity Manager(IDM) dan server dashboard
2. Internal: Membuat koneksi vpn ke pivot dan target ke pivot
3. Target: Untuk target
Setelah membuat ketiga Vswitch maka langsung selanjutnya adalah membuat port
Group untuk portnya di halaman port group

Buatlah 3 port group untuk masing-masing Vswitch, nama yang dipakai bebas tetapi
gunakanlah nama yang dapat mengidentifikasikan masing-masing group dengan jelas
seperti
1. Monitoring Connection
2. Internal Connection
3. Target Connection

Setelah itu kita akan memasang koneksinya, langkah berikut dipercobakan kedalam
server dashbord

Fungsi ini untuk melakukan settingan IP dan dimasukan kedalam group Port yaitu
Monitoring dan memasukan Ipnya yaitu 192.168.250.13 dan dihubungkan ke VPN

18
gateway sebagai Gatewaynya. Untuk VPN gateway maka Gwnya akan diarahkan ke
192.168.250.10. Setelah itu bisa menggunakan command
Nmcli con show ​untuk melihat koneksi yang telah dihubungkan. Jika sudah berwarna Hijau
maka koneksi sudah terhubung.

Berikutnya kita dapat menghapus koneksi keduanya karena tidak terhubung dengan
device manapun menggunakan

19
D. FIREWALL

Pengertian Firewall yang dimaksudkan diatas adalah sistem atau perangkat yang
memberi otorisasi pada lalu lintas ​jaringan komputer​ yang dianggapnya aman untuk
melaluinya dan melakukan pencegahan terhadap jaringan yang dianggap tidak aman.

Langkah berikutnya
Lakukan pengecekan kepada firewall

20
Dapat terlihat bahwa zone yang aktif hanyalah public dan memiliki 3 interface
ens32,ens36 dan ens 37. Berikutnya kita akan memindahkan sambungungan
interfacenya yaitu internal dengan ens 36 dan DMZ dengan ens 37

Setelah melakukan setting kepada kedua zone maka selanjutnya kita dapat
menambahkan fitur masqurade di zone internal
masquerade merupakan sebuah metode yang mengizinkan dan memperbolehkan ip
private untuk terkoneksi ke internet dengan mengunakan bantuan sebuah ip public.

21
Kita juga perlu mengganti nama hostnamenya, nama hostname yang dipakai dapat
disesuaikan dengan kebutuhan. Jangan lupa untuk melakukan reboot setelah selesai

22
Setelah selesai berikutnya kita harus menambahkan rule di ip forwardnya agar pivot
dan monitoring dapat berinteraksi satu sama lain agar dapat melakukan request dan
menerima respond sehingga kita tambahkan rule sebagai berikut

Firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i ens 36 -o ens37 -j ACCEPT
Yang berfungsi untuk memberitahu input ens36 dan output adalah ens37 untuk dapat
melakukan IP forwarding, lalu berikutnya akan kita balik input ens36 dan ens37 agar
dapat mengirim dan menerima kembali hasilnya
Firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i ens 37 -o ens36 -j ACCEPT
Dan
Firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i tun0 -o ens37 -j ACCEPT

Y​ang berikutnya harus ditambahkan adalah rules untuk port 443 yang nantinya akan
dipakai untuk melakukan koneksi dengan OVPN. command yang bs digunakan:

Sudo firewall-cmd --permanent --zone=public --add-port=443/tcp


Sudo firewall-cmd --reload

Setelah di cek maka sudah ada ports di zone public yang mengarah ke 443/tcp

23
Jangan lupa untuk melakukan reload pada firewallnya agar terpasang, dengan fungsi
--permanent​ maka walaupun mati ataupun direeboot akan tetap terpasang rulenya secara
permanent.

Sebelum masuk kebagian pembuatan Certificate Authority maka yang harus dilakukan
sebelumnya adalah menambahkan Ubuntu Server. Ubuntu Server ini dipasang diluar
intel Nuc.
Ubuntu server hanya perlu diinstal secara normal, tutorialnya bisa dilihat di video dari
link berikut
https://www.youtube.com/watch?v=63KuNVSdT_g

E.Certificate Authority

Pada dunia digital untuk memastikan identitas, dikenal teknologi namanya ​digital
signature​ (tanda tangan digital). Tanda tangan digital ini bentuknya bukanlah tanda
tangan kita kemudian di scan dan disimpan dalam bentuk digital. Digital signature ini
merupakan sebuah kode unik yang digenerate dengan teknologi cryptography (​Public
Key Infrastructure​). Digital signature ini dikeluarkan dan diverifikasi oleh Certificate
Authority (CA).

Jadi misalnya kita mau mengirim melakukan koneksi yang aman ke Mr. x. Caranya kita
harus meminta dulu public-key dari x. Kemudian data paket kita enkripsi (kodekan)
dengan ​public-key​ milik x. data yang sudah aman karena sudah dienkripsi (diacak).
Jadi bila di tengah jalan ada yang menyadap data ini, dia tidak akan bisa memahami isi
data ini. data ini hanya bisa dibuka dengan ​private-key​ milik mr.x. Private-key ​berbeda
dengan public key. Private key ​disimpan​ oleh pemilik identitas. Sementara public-key
diberikan​ kepada publik. Public Key ini biasanya disimpan di CA.

Certificate Authority yang akan dibangun bertujuan untuk melakukan proses autentikasi
dimana agar tercipta two way handshake dan trust antara ip di dalam intel nuc dan ip
pentester.

a.Inisialisasi

24
Setelah menginstall Ubuntu Server di lokal PC maka selanjutnya kita akan membuat CA
di dalam ubuntu server tersebut, pertama kita harus melakukan instalasi openvpn
terlebih dahulu dengan menggunakan Command sebagai berikut:

sudo apt update


sudo apt upgrade
sudo apt install openvpn

Setelah menginstall openvpn maka berikutnya siapkan EasyRsa yang sudah


didownload sebelumnya, atau dapat langsung menggunakan command berikut
wget -P ~/ https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.5/EasyRSA-nix-3.0.5.tgz
cd ~

Setelah itu langsung lakukan ekstrak EasyRsa tersebut dengan command


tar xvf EasyRSA-nix-3.0.5.tgz

Langsung saja Navigasi ke dalam direktori EasyRSA dan kemudian copy file
vars.example​ ​dengan nama vars dengan menggunakan command cp
cd ~/EasyRSA-3.0.5/
cp vars.example vars

25
Kemudian edit file vars untuk menyesuaikan Informasi Identitas CA yang diinginkan,
identitas dapat diubah disesuaikan dengan kebutuhan.
Contohnya adalah sebagai berikut yang dipakai di lab saat ini

Setelah itu inisiasi Public Key Infrastructure (PKI) di server CA menggunakan script
easyrsa. Proses ini akan membuat struktur direktori yang akan menyimpan file-file yang
dihasilkan oleh CA server
./easyrsa init-pki

Dilanjutkan dengan menggunakan command berikut


./easyrsa build-ca nopass

26
Setelah selesai kita dapat menggunakan command berikut untuk mengecek isi dari file
CAnya
cd ~/EasyRSA-3.0.5/pki/
openssl x509 -text -noout -in ca.crt

Untuk mengecek CA bisa dilakukan dengan command


“​~/EasyRSA-3.0.5/pki$ openssl x509 ​-text​ ​-noout​ ​-in​ ca.crt​”

27
28
Langkah selanjutnya adalah kita membuat key pair untuk VPN gateway berikut di ​CA
server​ untuk membuat public dan private​ key ​VPN Gateway​:

a. Navigasi ke direktori EasyRSA

cd ~/EasyRSA-3.0.5/

Jalankan/eksekusi Easy RSA dengan perintah berikut ini

./easyrsa gen-req vpn-gw-server nopass

(nopass disini artinya adalah private key tidak diproteksi agar kita tidak perlu mengetik
password setiap kali service openVPN restart)

29
Lalu setelah itu kita lakukan navigasi ke direktori private dan pastikan terdapat file
{vpn-common-name}.key. Dalam contoh ini terdapat file dengan nama​ ​vpn-gw-server.key
cd ~/EasyRSA-3.0.5/pki/private
Ls

Lalu navigasi ke direktori req dan kemudian decode Informasi yang ada di Certificate Signing
Request file menggunakan program openssl.
cd ~/EasyRSA-3.0.5/pki/reqs
openssl req -in vpn-gw-server.req -noout -text

Proses selanjutnya adalah melakukan signing ke​ ​Certificate Signing Request​ milik ​VPN
Gateway. Lakukan langkah berikut di CA server.
Navigasi ke direktori easyrsa dan pastikan file Certificate Signing Request milik VPN
Gateway ada di direktori yang telah kita buat / generate pada langkah sebelumnya.

cd ~/EasyRSA-3.0.5/
ls pki/reqs/

Jalankan proses signing menggunakan script ​easyrsa​ dengan argumen ​sign-req


diikuti dengan argumen ​server​ dan diakhiri dengan common name VPN Gateway yaitu
vpn-gw-server.
./easyrsa sign-req server vpn-gw-server

30
Kemudian ketik yes untuk mengkonfirmasi proses ​signing​. Output atau certificate yang telah
ditandatangani oleh CA disimpan dalam direktori ​~/EasyRSA-3.0.5/pki/issued.

Setelah semua selesai ,kita bisa beralih ke vpn untuk membuat key exchange menggunakan
algoritma Diffie Hellman.
Masih di ​CA Server​, lakukan langkah berikut.
Navigasi ke direktory easyrsa dan buat Diffie-Hellman key
cd ~/EasyRSA-3.0.5/
./easyrsa gen-dh

31
Kemudian buat HMAC signature untuk memperkuat TLS integrity VPN Gateway kita
openvpn --genkey --secret ta.key

F.OPENVPN
Tahap berikutnya kita akan menginstall openvpn didalam server VPN-GW yang telah
disetting sebelumnya dan juga di CA server.
OpenVPN adalah software open source untuk Virtual Private Networking (VPN) yang cross
platform, dimana aplikasi tersebut bekerja membuat koneksi point-to-point tunnel yang telah
terenkripsi.

Untuk menginstall openVPN dapat menggunakan command


Yum install openvpn

Setelah itu kembali ke CA server dan buat folder crypt-files dan zip bersama dengan file-file
yang dibutuhkan
mkdir crypt-files
cd crypt-files
cp EasyRSA-3.0.5/pki/private/vpn-gw-server.key .
cp EasyRSA-3.0.5/pki/issued/vpn-gw-server.crt
cp EasyRSA-3.0.5/pki/ca.crt
cp EasyRSA-3.0.5/pki/dh.pem
cp EasyRSA-3.0.5/ta.key

cd ..
tar -czf crypt-files.tar.gz crypt-files/

32
Berikutnya file yang telah di compress tersebut akan dilempar ke server VPN Gateway.
scp crypt-files.tar.gz root@192.168.174.6:/root/crypt-files.tar.gz

Masukan password yang telah di setting pada VPN Gateway.

Setelah itu, uncompress file ​crypt-files.tar.gz ​didalam VPN Gateway, dan pindahkan semua
file didalemnnya kedalam folder ​/etc/openvpn

cp crypt-files/vpn-gw-server.crt /etc/openvpn/
cp crypt-files/vpn-gw-server.key /etc/openvpn/
cp crypt-files/dh.pem /etc/openvpn/
cp crypt-files/ca.crt /etc/openvpn/
cp crypt-files/ta.key /etc/openvpn/

Lalu copy file server.conf yang merupakan sample konfigurasi server openvpn​ ​di
/usr/share/doc/openvpn-2.4.7/sample/sample-config-files/ dan masukan kedalam
/etc/openvpn/
cp /usr/share/doc/openvpn-2.4.7/sample/sample-config-files/server.conf /etc/openvpn/

Setelah itu langsung ubah konfigurasi di server.conf,


nano /etc/openvpn/server.conf
pastikan elemen berikut telah terpasang dan aktif:
port 443
proto tcp
cert buaya-darat-vpn.crt
key buaya-darat-vpn.key
dh dh.pem
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8
push "dhcp-option DNS 8.8.4.4
tls-auth ta.key 0
key-direction 0
auth SHA256
user nobody
group nogroup
explicit-exit-notify 0

33
Topology subnet

34
Openvpn saat instalasi memiliki default setting ip virtualnya, ip virtual ini akan menjadi ip
penguhubung yang dapat digunakan untuk melakukan koneksi. Ip virtual ini akan kita ubah
segmentnya menjadi 10.253.253.0. Ip pertama dari segment itu akan otomatis menjadi miliki
dari VPN-GW yaitu 10.253.253.1 dan ip sisanya akan menjadi Ip clientnya.

Setelah semua terpasang dan aktif maka berikutnya ganti namanya menjadi
vpn-gw-server.conf

35
mv /etc/openvpn/server.conf /etc/openvpn/vpn-gw-server.conf
File konfigurasi VPN-GW-server telah siap dipakai

Berikutnya lakukan edit isi file sysctl.conf


Nano /etc/sysctl.conf
Dan tambahkan line berikut didalamnya
net.ipv4.ip_forward=

Untuk mengecek konfigurasinya sudah terpasang dan sudah menyala dapat


memastikannya dengan
Sysctl -p

Karena setting NAT sudah dilakukan saat melakukan konfigurasi firewall-cmd dengan
menggunakan fitur masquerade maka kita tidak perlu mengatur UFW didalamnnya.

Setelah semua sudah ready maka berikutnya gunakan


sudo systemctl start openvpn@vpn-gw-server
Ip addr show tun0
Untuk memastikan sudah terbentuknya tun0

sudo systemctl enable openvpn@vpn-gw-server

Berikutnya kembali ke CA server buatlah directory


mkdir -p /home/pluto/vpn-client-config/keys

Lalu buatlah keypair


./easyrsa gen-req j-joshua nopass

36
Lalu copy private key untuk j-joshua ke directory /home/pluto/vpn-client-config/keys/

Lalu coba untuk melakukan request untuk sign j-joshua menggunakan CA

Copy signed certificate ke direktori​ ​~/vpn-client-config/keys


cp /home/pluto/EasyRSA-v3.0.6/pki/issued/j-joshua.crt /home/pluto/vpn-client-config/keys/

Copy ​ca.crt​ dan ​ta.key​ ke direktori ​~/vpn-client-config/keys


cp /home/pluto/EasyRSA-v3.0.6/pki/ca.crt /home/pluto/vpn-client-config/keys/
cp /home/pluto/EasyRSA-v3.0.6/ta.key /home/pluto/vpn-client-config/keys/

Buat direktori​ ​files​ ​dibawah​ ​vpn-client-config​ ​untuk menyimpan konfigurasi utuh setiap VPN client
yang akan terkoneksi dengan VPN Gateway.
mkdir -p /home/pluto/vpn-client-config/files

Copy contoh konfigurasi untuk OpenVPN client ke direktori​ ​~/vpn-client-config


cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf
/home/pluto/vpn-client-config/base.conf

Buka file​ ​base.conf


nano base.conf

37
dan edit atau tambahkan Informasi berikut
remote 192.168.174.6 443
proto tcp
user nobody
group nogroup
#ca ca.crt
#cert client.crt
#key client.key
auth SHA256
key-direction 1
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

38
nano /home/pluto/vpn-client-config/buat_konfig.sh
isi dengan dengan script ini
#!/bin/bash

# First argument: Client identifier

KEY_DIR=~/vpn-client-config/keys
OUTPUT_DIR=~/vpn-client-config/files
BASE_CONFIG=~/vpn-client-config/base.conf

cat ${BASE_CONFIG} \
<(echo -e '<ca>') \
${KEY_DIR}/ca.crt \
<(echo -e '</ca>\n<cert>') \
${KEY_DIR}/${1}.crt \
<(echo -e '</cert>\n<key>') \
${KEY_DIR}/${1}.key \
<(echo -e '</key>\n<tls-auth>') \
${KEY_DIR}/ta.key \
<(echo -e '</tls-auth>') \
> ${OUTPUT_DIR}/${1}.ovpn

Set​ ​executable​ ​permission ke file​ b​ uat_konfig.sh​ ​agar dapat dieksekusi melalui terminal
chmod +x buat_konfig.sh

Lalu coba jalankan


./buat_konfig.sh j-joshua

Lalu j-joshua.ovpn terbuat di directory files


Setelah itu tinggal menjalankan ovpn yang telah terbuat di laptop masing-masing

39
Sebelum masuk ke settingan berikutnya, kita harus mematikan service pada SELinux di
semua server terlebih dahulu. Caranya dapat mengecek apakah service sudah dimatikan
atau belum dengan menggunakan
Getenforce

Jika masih enabled maka dapat langsung masuk kedalam config di selinux dan edit menjadi
disabled

G.Rsyslog

Rsyslog service adalah sebuah fasilitas yang digunakan untuk menjalankan logging server
dan konfigurasi sistem individual untuk mengirim file log dari pivot menuju log server.

Rsyslog service harus ter install di kedua sistem tersebut ,semestinya di dalam redhat sudah
tersedia layanan service tersebut namun jika tidak ada maka masukan command di bawah
ini untuk meng install nya :

Setelah itu lakukan pengecekan apakah sudah ada syslog service di dalam sistem

40
(​Perlu diketahui bahwa kita membutuhkan 2 service syslog di dalam log server dan
pivot server​)

Lalu kita harus menginstall paket policycoreutils-python dengan command dibawah ini:

Default dari port ​rsyslog t​ raffic adalah port 514 namun kalian dapat menggantinya dengan
command dibawah ini :

*saat ini saya menggunakan port 10514 sebagai contoh

Untuk mengecek nya apakah sudah terganti, bisa dilakukan command dibawah ini:

Setelah itu kita harus me restart service nya

-Konfigurasi Firewall
Ketika service Rsyslog telah terinstall di dua sistem yaitu log server dan pivot server, kita
harus melakukan konfigurasi firewall dan dalam kasus ini, kita harus mengkonfigurasi dari
server VPN gateway(karena dari table routing,semua harus melewati VPN gateway) agar
port 10514 tersebut dapat dikenali. Lakukan Command berikut di VPN gateway server:

Setelah itu, lakukan pengecekan apakah port tersebut sudah dibukakan pintu oleh firewall
kita dengan command dibawah ini:

41
Jika sudah sesuai, maka kita dapat melanjutkan ke konfigurasi berikutnya (kembali ke log
server).

-​Konfigurasi rsyslog

Buka /etc/rsyslog.conf di dalam text editor (Vi,Nano,gedit,etc) di dalam server “​Log


server”
Tambahkan script dibawah ini di bawah “module” Section namun di atas sebelum “Provides
UDP syslog reception” section :

Setelah itu ganti script “Provides TCP syslog reception” section dengan script di bawah ini

42
Jika semua sudah dilakukan kita bisa melakukan Command dibawah ini untuk membuat
rsyslog service berjalan secara otomatis (lakukan di server pivot dan log server).

Konfigurasi Rsyslog Client

Setelah selesai melakukan konfigurasi di rsyslog server, hal yang harus dilakukan
adalah melakukan konfigurasi di rsyslog client agar dapat mengirim pesan ke server,
langkahnya cukup mudah dan simple seperti di bawah ini:

Kalian hanya tinggal membuka /etc/rsyslog.conf di dalam text editor (vi,nano,gedit,etc) dan
meng uncomment sebuah script yaitu “ *.*@@remote-host:port ” dan menggantinya dengan
ip yang dituju(ip log server) menjadi ​“ *.* @@192.168.250.12:514 ” ​seperti contoh dibawah:

Perlu diketahui bahwa jika ingin menggunakan koneksi udp gunakan ‘@’ dan ‘@@’
jika ingin menggunakan koneksi tcp.

Jika sudah melakukan nya, lakukan kembali ke semua server yang ingin mengirimkan log ke
server log seperti server pivot, server nessus, dll.

43
H.DNS Server
Berikutnya kita akan melakukan setting DNS di dalam VPN-GW karena server ini
akan menjadi sentral dan dapat dihubungi siapa saja. Pertama kita harus menginstall
DNSnya dengan command
yum -y install bind bind-utils

Setelah itu buat file db yang digunakan sebagai database untuk melakukan forward
lookup.
Forward lookup adalah metode dimana DNS server akan mengubah request yang
berupa domain name menjadi IP address lalu mencarinya dan memberikan
balasannya.
Disini nama file DBnya bebas apapun tetapi disini kami menggunakan nama
seclab-idm.telkomsel.co.id.db
nano /var/named/dynamic/seclab-idm.telkomsel.co.id.db
copy paste database berikut :

$ORIGIN seclab-idm.telkomsel.co.id.
$TTL 1; 1 seconds (for testing only)
@ IN SOA seclab-idm.telkomsel.co.id. hostmaster.seclab-idm.telkomsel.co.id. (
1001 ; Serial
60 ; Refresh (1 Minute)
15 ; Retry (15 Seconds)
1800 ; Expire (30 Minutes)
10 ; Minimum TTL (10 Seconds)
)

;Name Server Information


@ IN NS sec-vpn-gw.seclab-idm.telkomsel.co.id.

;IP address of Name Server


sec-vpn-gw IN A 192.168.1.10

;A - Record HostName To IP Address


secdashboardpapp1 IN A 192.168.250.13
seclogpapp1 IN A 192.168.250.12
secldappapp1 IN A 192.168.250.11
secpivotpapp1 IN A 192.168.1.11
secvapapp1 IN A 192.168.1.21

44
Berikutnya buat file rvs.192.168.250..db sebagai database untuk melakukan reverse
lookup untuk segment 192.168.250.0
nano /var/named/dynamic/rvs.192.168.250..db

copy paste database berikut :

$ORIGIN 250.168.192.in-addr.arpa.
$TTL 1 ; 1 seconds (for testing only)
@ IN SOA seclab-idm.telkomsel.co.id. hostmaster.seclab-idm.telkomsel.co.id. (
1003 ; serial
60 ; refresh (1 minute)
15 ; retry (15 seconds)
1800 ; expire (30 minutes)
10 ; minimum (10 seconds)
);

;Name Server Information


@ IN NS sec-vpn-gw.seclab-idm.telkomsel.co.id.

;IP Address of Name Server


sec-vpn-gw IN A 192.168.1.10

;PTR (Pointer Record) - are reverse DNS record i.e. from IP address to hostname
11 IN PTR secldappapp1.seclab-idm.telkomsel.co.id.
12 IN PTR seclogpapp1.seclab-idm.telkomsel.co.id.
13 IN PTR secdashboardpapp1.seclab-idm.telkomsel.co.id.

Berikutnyabuat file rvs.192.168.1..db sebagai database untuk melakukan reverse


lookup untuk segment 192.168.1.0
nano /var/named/dynamic/rvs.192.168.1..db

copy paste database berikut :

$ORIGIN 1.168.192.in-addr.arpa.
$TTL 1 ; 1 seconds (for testing only)
@ IN SOA seclab-idm.telkomsel.co.id. hostmaster.seclab-idm.telkomsel.co.id. (
1002 ; serial
60 ; refresh (1 minute)
15 ; retry (15 seconds)
1800 ; expire (30 minutes)
10 ; minimum (10 seconds)
);

;Name Server Information

45
@ IN NS sec-vpn-gw.seclab-idm.telkomsel.co.id.

;IP Address of Name Server


sec-vpn-gw IN A 192.168.1.10

;PTR (Pointer Record) - are reverse DNS record i.e. from IP address to hostname
11 IN PTR secpivotpapp1.seclab-idm.telkomsel.co.id.
21 IN PTR secvapapp1.seclab-idm.telkomsel.co.id.

A ​record alamat memetakan sebuah nama host ke alamat IP 32-bit (untuk IPv4).
NS record​ atau catatan server nama memetakan sebuah nama domain ke dalam
satu daftar dari server DNS untuk domain tersebut. Pewakilan bergantung kepada
record NS.
SOA record​ atau catatan otoritas awal (Start of Authority) mengacu server DNS yang
mengediakan otorisasi informasi tentang sebuah domain Internet.
PTR Record ​kebalikan dari A record. Jadi dia berfungsi mengarahkan IP menjadi
sebuah domain atau hostname. Dengan PTR Record, kita bisa mengetahui siapa
pemilik IP tertentu.

nano /etc/named.conf
tambahkan konfigurasi di listen on port 53 dengan ip yang akan menjadi dns server,
ip yang digunakan sebagai dns server adalah ip VPN GW. dan juga tambahkan
konfigurasi di allow-query dengan segment jaringan yang boleh melakukan query

Berikutnya tambahkan forwarders agar jika ada ip yang tidak diketahui maka dns
server akan melempar ke ip forwarder. Disini ip yang digunakan sebagai forwarder
adalah ip Google.com yaitu 8.8.8.8 dan juga 8.8.4.4

46
buat konfigurasi untuk zone sebanyak dengan file db yang tadi dibuat di
/var/named/dynamic/

47
I. IDM

Setelah melakukan penginstalan dan konfigurasi DNS, langkah yang harus kita lakukan
adalah menginstall IDM dan mengkonfigurasinya, kegunaan IDM disini adalah untuk
sentralisasi

A. Instalasi IDM

Langkah untuk menginstall IDM adalah sebagai berikut:


Pertama kita harus menginstall ipa-server terlebih dahulu dengan command

yum install ipa-server -y


Ipa-server-install
ipa-client-install --mkhomedir --no-krb5-offline-passwords

Lalu kita buka file dengan command :

cat /tmp/ipa.system.records.CLIoik.db

copy file yang ada didalamnya untuk ditambah kedalam file


/var/named/dynamic/seclab-idm.telkomsel.co.id.db
Seperti gambar di bawah ini

48
untuk idm ada beberapa port yang harus di buka yaitu :
tcp : 80
: 443
: 389
: 636
: 88
: 464

udp : 88
: 464
: 123

Maka dari itu kita harus membukanya lewat firewall cmd dengan command:

firewall-cmd --permanent --zone=public


--add-port={80/tcp,443/tcp,389/tcp,636/tcp,88/tcp,464/tcp,88/udp,464/udp,123/udp}

Lalu kita reload firewallnya


firewall-cmd --reload

Setelah itu kita lihat apakah port tersebut sudah terbuka dengan command berikut :

firewall-cmd --zone=public --list--all

49
Next stepnya adalah sebagai berikut
Anda harus pastikan bahwa port dibawah ini terbuka :

TCP Ports :
* 80, 443: HTTP/HTTPS
* 389, 636: LDAP/LDAPS
* 88, 464: kerberos
UDP Ports:
* 88, 464: kerberos
* 123: ntp

Kalian akan mendapatkan kerberos tiket dengan menulis command : “kinit admin”
Tiket ini akan memperbolehkan anda semua untuk mempergunakan IPA tools yang ada
dan web user interface

_kerberos-master._tcp.seclab-idm.telkomsel.co.id. 86400 IN SRV 0 100 88


secldappapp1.seclab-idm.telkomsel.co.id.
_kerberos-master._udp.seclab-idm.telkomsel.co.id. 86400 IN SRV 0 100 88
secldappapp1.seclab-idm.telkomsel.co.id.
_kerberos._tcp.seclab-idm.telkomsel.co.id. 86400 IN SRV 0 100 88
secldappapp1.seclab-idm.telkomsel.co.id.
_kerberos._udp.seclab-idm.telkomsel.co.id. 86400 IN SRV 0 100 88
secldappapp1.seclab-idm.telkomsel.co.id.
_kerberos.seclab-idm.telkomsel.co.id.86400 IN TXT "SECLAB-IDM.TELKOMSEL.CO.ID"
_kpasswd._tcp.seclab-idm.telkomsel.co.id. 86400 IN SRV 0 100 464
secldappapp1.seclab-idm.telkomsel.co.id.
_kpasswd._udp.seclab-idm.telkomsel.co.id. 86400 IN SRV 0 100 464
secldappapp1.seclab-idm.telkomsel.co.id.
_ldap._tcp.seclab-idm.telkomsel.co.id. 86400 IN SRV 0 100 389
secldappapp1.seclab-idm.telkomsel.co.id.
_ntp._udp.seclab-idm.telkomsel.co.id. 86400 IN SRV 0 100 123
secldappapp1.seclab-idm.telkomsel.co.id.

50
J. LOG SERVER

Log server disini berfungsi sebagai sebuah server yang akan menampung berbagai
log-log yang akan dikirim oleh pivot seperti log SSH, log openvpn ataupun log aktivitas
yang dilakukan oleh pengguna AAA.

Proses pengiriman log:


Setiap mesin akan mengirim lognya masing2 ke log server menggunakan Rsyslog secara
LIVE.Log yang dikirim ke log server mencakup log SSH, log openvpn dan juga log
aktivitas yang terjadi diruang lingkup AAA. Kemudian log yang berada di log server akan
di convert menjadi file HTML oleh cron job yang telah disetting untuk melakukan tugas
convert log kedalam HTML tersebut setiap jam. Setelah itu terdapat juga cron daily yang
fungsinya akan melakukan log rotate setiap jam 12 malam yang akan melakukan rotate
kepada setiap log yang ada di log server. Proses log rotate tersebut akan mengisi kepada
log yang baru dan menambahkannya sesuai dengan tanggal hari tersebut kemudian log
rotate akan menghapus isi dari log yang lama lalu setelah melakukan log rotate maka
akan ada script yang telah disiapkan, script tersebut sudah di setting akan ke trigger
disaat proses log rotate telah selesai. Script ini bernama ​rsync_to_dashboard, ​script ini
berfungsi untuk mengirimkan file yang telah selesai di log rotate ke server dashboard
menggunakan bantuan rsync.​Rsync disini akan menggunakan user bernama
log_sync yang telah didaftarkan di server IDM sebelumnya.​ Kemudian file tersebut
akan masuk kepada folder user Log_sync dan akan ditampilkan oleh dashboard agar
dapat terlihat dengan tampilan yang lebih rapih.

51
Konfigurasi Log server
*LOGROTATE

buat configurasi baru dengan nama dashboard di /etc/logrotate.d/. Konfigurasi ini


bertujuan untuk membangun proses logrotate.Script logrotate adalah sebagai berikut
untuk di log server

/var/log/remote/msg/vpn-gw/openvpn.log
/var/log/remote/auth/pivot-1/sshd.log
/var/log/remote/auth/seclab-idm/sshd.log
/var/log/remote/auth/vpn-gw/sshd.log
{
Daily
rotate 14
Postrotate
systemctl kill -s HUP rsyslog.service
/root/rsync-log-to-dashboard.sh
Endscript
}

*RSYNC
Rsync adalah salah satu metode yang digunakan untuk sinkronisasi data antar
server. Berbeda dengan mengirimkan data secara utuh seperti biasanya lewat FTP
atau SCP misalnya. Keunggulan rsync adalah transfer hanya perbedaan filenya
saja atau sering disebut sebagai delta. Rsync dapat ini mengurangi ukuran data
yang ditransfer dan juga mempercepat proses transfernya sendiri.

Pertama-tama kita harus menginstall rynscnya terlebih dahulu dengan


yum install -y rsync

buat file script yang bertugas mengirim log dari SERVER LOG ke SERVER
DASHBOARD
nano /root/rsync-log-to-dashboard.sh

Lalu masukan script berikut kedalam rsync-log-to-dashboard.sh


#!/bin/bash
# This script is used to syncronize all openvpn logs as well as ssh authentication
logs to dashboard server.
# This script is located at the log server within the root home folder and will be
executed by
# the logrotate "postrotate" section defined in "/etc/logrotate.d/dashboard" file.

52
# logrotate routine is defined in the "/etc/cron.daily/logrotate"

/usr/bin/rsync -vte ssh /var/log/remote/msg/vpn-gw/openvpn.log-*


log_sync@192.168.250.13:/home/log_sync/msg/vpn-gw/

/usr/bin/rsync -vte ssh /var/log/remote/auth/vpn-gw/sshd.log-*


log_sync@192.168.250.13:/home/log_sync/auth/vpn-gw/

/usr/bin/rsync -vte ssh /var/log/remote/auth/pivot-1/sshd.log-*


log_sync@192.168.250.13:/home/log_sync/auth/pivot-1/

/usr/bin/rsync -vte ssh /var/log/remote/auth/seclab-idm/sshd.log-*


log_sync@192.168.250.13:/home/log_sync/auth/seclab-idm/

karena program rsync di jalankan dengan script dan tidak mungkin didalam script
kita menuliskan password maka kita menggunakan PKI

untuk melakukan authentikasi. untuk memastikan authentication berhasil


buat konfigurasi :
nano /root/.ssh/config
Lalu masukan script sebagai berikut diisi dengan alamat dan nama user yang valid
dipakai masing-masing
~
Host alamat-ip-dashboard
User nama-user
IdentityFile ~/.ssh/log_sync
~

****Script PIVOT untuk SSH*****


add script ini di /etc/server-log.sh untuk merekam aktifitas melalui koneksi SSH
#!/bin/sh
DEST_LOGDIR=$HOME/.pentest_logs
LOG_FILE=$USER-$(date +'%d_%m_%Y__%H%M%S').log

if [ -z "$SSH_ORIGINAL_COMMAND" ]; then
if [ ! -d "$DEST_LOGDIR" ]; then
mkdir -p "$DEST_LOGDIR"
fi

53
script -a -f -q $DEST_LOGDIR/$LOG_FILE
elif [ "$(echo ${SSH_ORIGINAL_COMMAND} | grep '^scp')" ]; then
exec ${SSH_ORIGINAL_COMMAND}
elif [ "$(echo ${SSH_ORIGINAL_COMMAND} | grep '^rsync')" ]; then
exec ${SSH_ORIGINAL_COMMAND}

Fi
~

bagian akhir sshd_config pivot tambahkan command di bawah ini


~
ForceCommand /etc/server-log.sh

untuk ngirim semua log ke dashboard


baik itu yang syslog dan juga activity log

nano /root/copy-activity-logs-to-log-server.sh

54
#!/bin/bash

SSHKEY_PATH="$HOME/.ssh/id_log_sync"

for d in $(find /home -type d -name '.pentest_logs')

Do
for filename in "$d"/*.log
Do
if [ -f $filename ]; then
username="$(echo $filename | cut -d '/' -f3)"
logfilename="$(echo $filename | cut -d '/' -f5)"
scp -i $SSHKEY_PATH $filename
log_sync@172.16.251.129:/home/log_sync/$username-$logfilename.log
2>>/root/scpstat.log
if [ $? -eq 0 ]; then
rm -f $filename
echo "scp success and source files are deleted" >> /root/scpstat.log
Else
echo "scp failed" >>/root/scpstat.log
Fi
Fi
Done
Done
~

55
J. DASHBOARD

56
57
BAB III COMMAND

58
* Command diatas untuk menampilkan koneksi yang ada, jika warna hijau berarti sudah
terset semua, orange menunjukan ada ip yang belum di set sedangkan putih menunjukan
belum di set interfacenya

*Command diatas digunakan untuk menghapus koneksi yang sudah ada.

59
*Command diatas adalah untuk menampilkan device atau interface yang sudah ada.

*Command diatas adalah untuk menambahkan koneksi baru karena daripada mengatur
ulang koneksi yang default tadi, lebih baik kita menghapusnya dan membuat ulang
koneksi nya.

60
*sekarang seluruh koneksi sudah set karena sudah berwarna hijau semua

*setelah itu kita melihat lagi isi dari interfacenya dan jika sudah sesuai maka sudah baik,
perlu diingat jika ini baru manange 1 mesin, jadi kita harus menambahkan 2 mesin lagi
dan melakukan hal yang sama seperti diatas

61
*command diatas adalah seperti ifconfig namun di redhat

BAB IV : PERMASALAHAN & SOLUSI


Bab ini membahas tentang permasalahan yang mungkin terjadi disaat membangun
AAA

1. Error saat melakukan restart Network.service


*Solusi yang digunakan untuk menyelesaikan masalah ini adalah dengan
mengupdate Vmware Esxi ke versi yang paling baru.
Langkah2 yang bisa dilakukan adalah:
1.Mendownload patch yang paling baru dari link berikut
https://my.vmware.com/group/vmware/patch#search

2.Masukan kedalam Datastore file yang telah didownload

3.Connect dengan SSh lalu jalankan command esxcli software vib install -d
/vmfs/volumes/5d2d55fa-6e568cc8-7cbe-b8aeed70faa6
Path disesuaikan dengan path masing-masing
Source: https://www.vladan.fr/how-to-install-latest-esxi-vmware-patch/

62
2.Error saat melakukan Subscription-manager register –username=…..
–auto attach

*Solusi yang digunakan untuk menyelesaikan masalah ini adalah dengan


memeriksa pada bagian
/etc/resolv.conf

Lalu langsung menuju etc/sysconfig/network-scripts/ifcfg-external dan tambahkan


DNS1=8.8.8.8

3. Error tidak mendapatkan koneksi internet


*Solusi yang digunakan adalah setelah mengatur pengaturan virtual switch dan
masing-masing group port maka jangan lupa untuk mengganti network adapter masing-masing
server kedalam katagorinya masing-masing(Default:VM Connection)

63
Berikut list-list network adapter yang dipakai oleh server
1. Server Dashboard : Monitoring
2. Pivot : Monitoring dan Host
3. Server Log : Monitoring
4. Server Nessus : Internal dan Host

64
5. VPN : VM, Internal, Monitoring

4.Permasalahan dashboard Karena tidak diberikan akses internet dari server klien,
maka kita melakukan modifikasi routing dimana kita menambahkan 1 server lagi
bernama harry agar bisa mendapat akses di internet, namun permasalahannya
bertambah karena routing dari server dibawah vpn gateway yaitu : pivot, nessus, log,
dan dashboard, akan langsung receive dari vpn gateway namun akan me-response ke
server harry, contohnya seperti ini : saya ingin connect ke dashboard menggunakan ip
virtual misalnya 192.168.10.10, dashboard akan receive dari ip virtual saya lewat vpn
gateway, seharusnya dashboard akan me-response ke vpn gateway kembali dan vpn
gateway akan mengenali ip virtual saya, namun karena dashboard di setting default
gatewaynya adalah ke server harry, server harry tidak akan mengenali ip virtual saya.
Untuk lebih jelasnya saya tambahkan gambar routingnya seperti di bawah ini.

Penyelesaiannya adalah, saya membuat rules khusus dimana jika ip yang masuk ke
dashboard adalah ip saya, maka default gateway nya akan masuk ke vpn gateway
bukan ke server harry sehingga response akan dikenali.not

65

Anda mungkin juga menyukai