Membuat script dasar Bastion Host

Posted on

Membuat script dasar Bastion Host
1 Membuat script dengan nama tertentu,misal nama filenya firewall,
#touch firewall
#cp firewall /tmp
2 Menyalinnya ke direktori /tmp
#cp firewall /tmp
3 Berpindah ke direktori /tmp
#cd /tmp
4 Menjalankan mc untuk proses edit
#mc
5 Mengedit file tadi menggunakan mc, cari file tersebut (firewall) kemudian menekan tombol F4 (Edit) kemudian menuliskan :
#Mengganti command /sbin/iptables dengan IPTABLES
IPTABLES=/sbin/iptables

#Melakukan loading modul iptables dan ip_conntrack_ftp
modprobe ip_tables
modprobe ip_conntrack_ftp

#Membersihkan tabel di IPTABLES dan menghapus seluruh rule yang ada
$IPTABLES –flush
$IPTABLES –delete-chain

#Membuat rule dasar (semua di-deny/ditolak) pada 3 rantai default
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP

#Memberikan akses masuk dan keluar untuk loopback interface
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT

#Mendefinisikan log untuk anti spoofing, misal : IP Address Publik #bastion host : 202.122.169.73, maka seharusnya tidak ada trafik #dari luar ke bastion host(202.122.169.73) menggunakan source IP #202.122.169.73
$IPTABLES -A INPUT -s 202.122.169.73 -j LOG –log-prefix “IPTipuan!”

#Anti spoofing juga untuk IP network private, kecuali IP private #yang “digunakan” untuk internal network, misal alamat network #internal untuk administrator bastion host 192.168.0.0/24, maka #untuk source(-s) alamat network diatas diberi tanda #

$IPTABLES -A INPUT -s 10.0.0.0/8 -j LOG –log-prefix “IP Tipuan!”
$IPTABLES -A INPUT -s 10.0.0.0/8 -j DROP
$IPTABLES -A INPUT -s 172.16.0.0/12 -j LOG –log-prefix “IP Tipuan!”
$IPTABLES -A INPUT -s 172.16.0.0/12 -j DROP
$IPTABLES -A INPUT -s 192.168.0.0/16 -j LOG –log-prefix”IP Tipuan!”
$IPTABLES -A INPUT -s 192.168.0.0/16 -j DROP
5 #Anti spoofing untuk network khusus
$IPTABLES -A INPUT -s 255.0.0.0/8 -j LOG –log-prefix “IP Tipuan!”
$IPTABLES -A INPUT -s 255.0.0.0/8 -j DROP
$IPTABLES -A INPUT -s 0.0.0.0/8 -j LOG –log-prefix “IP Tipuan!”
$IPTABLES -A INPUT -s 0.0.0.0/8 -j DROP
$IPTABLES -A INPUT -s 127.0.0.0/8 -j LOG –log-prefix “IP Tipuan!”
$IPTABLES -A INPUT -s 127.0.0.0/8 -j DROP

# Meminta seluruh session TCP memulai dengan SYN, jika tidak #dianggap mencurigakan,memata-matai dan akan didrop
$IPTABLES -A INPUT -p tcp ! –syn -m state –state NEW -j LOG –log-prefix “Usaha scan yg mencurigakan”
$IPTABLES -A INPUT -p tcp ! –syn -m state –state NEW -j DROP

#Rule untuk arah masuk ke bastion host (inbound)

#Menerima paket2 masuk yang merupakan bagian dari sesi yang #sebelumnya telah OK
$IPTABLES -A INPUT -j ACCEPT -m state –state ESTABLISHED,RELATED

#Akses untuk melakukan sesi remote jarak jauh menggunakan SSH (untuk #administrasi bastion host)
$IPTABLES -A INPUT -p tcp -j ACCEPT –dport 22 -m state –state NEW

#Dibuat lognya untuk akses yang mencoba masuk selain yang diatas
$IPTABLES -A INPUT -j LOG –log-prefix “Didrop secara default”

#Rule untuk arah keluar dari bastion host (outbound)
#Meloloskan koneksi yang sebelumnya telah diperbolehkan
$IPTABLES -I OUTPUT 1 -m state –state RELATED,ESTABLISHED -j ACCEPT

#Membolehkan untuk test koneksi keluar (ping)
$IPTABLES -A OUTPUT -p icmp -j ACCEPT –icmp-type echo-request

#Membolehkan queri ke DNS untuk me-resolve IP dalam log
$IPTABLES -A OUTPUT -p udp –dport 53 -m state –state NEW -j ACCEPT

# Membuat log untuk yang didrop sebagai troubleshooting
$IPTABLES -A OUTPUT -j LOG –log-prefix “Didrop secara default”
6 Untuk menyimpan file yang telah diedit tekan F2, Confirm? Menekan Save
7 Untuk mengeksekusi file tersebut, diubah dulu hak kepemilikannya sehingga biesa dieksekusi
#chmod 775 firewall
#./firewall

Bastion Host DNS Server
1 Mengedit file firewall tadi dengan mc
2 Memasukkan rule untuk membuka port 53, dimasukkan dengan policy inbound
$IPTABLES -A INPUT -p tcp -j ACCEPT –dport 53 -m state –state NEW
$IPTABLES -A INPUT -p udp -j ACCEPT –dport 53
3 Simpan konfigurasinya, dengan menekan tombol F12, save dengan nama file lain misal Firewall_dns
Bastion Host Webserver
1 Mengedit file firewall tadi dengan mc
2 Memasukkan rule untuk membuka port http (80),https (443) dan port ftp 21 dimasukkan dengan policy inbound
$IPTABLES -A INPUT -p tcp -j ACCEPT –dport 80 -m state –state NEW
$IPTABLES -A INPUT -p tcp -j ACCEPT –dport 443 -m state –state NEW
$IPTABLES -A INPUT -p tcp -j ACCEPT –dport 21 -m state –state NEW
3 Simpan konfigurasinya, dengan menekan tombol F12, save dengan nama file lain misal Firewall_WebServer

Bastion Host Mailserver
1 Mengedit file firewall tadi dengan mc
2 Memasukkan rule untuk membuka port smtp (25),pop3 (110) dan port http (80) dimasukkan dengan policy inbound
$IPTABLES -A INPUT -p tcp -j ACCEPT –dport 110 -m state –state NEW
$IPTABLES -A INPUT -p tcp -j ACCEPT –dport 25 -m state –state NEW
$IPTABLES -A INPUT -p tcp -j ACCEPT –dport 80 -m state –state NEW
3 Simpan konfigurasinya, dengan menekan tombol F12, save dengan nama file lain misal Firewall_MailServer

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s