Asumsi firewall dan dns
1. Asumsikan
jaringan diluar UML (jaringan TC & ITS intranet ) adalah jaringan
internet dengan matahari sebagai gateway. Buatlah agar jaringan anda bisa
terhubung ke internet dengan aturan sebagai berikut :
- subnet mars terhubung dengan internet
hanya jam kerja saja (pukul 08.00 s/d 16.00 pada hari senin s/d
sabtu)
tips : gunakan parameter di iptables atau gunakan cron. - Koneksi dari subnet uranus diblok.
- Workstation/subnet lain selalu terhubung
ke internet (24 jam)
- karena alasan mbeling
maka pada semua subnet/workstation hanya service tertentu saja yang boleh
keluar seperti ftp, http, dan smtp (kecuali subnet pluto boleh semua).
2. Aturan untuk
jaringan internal :
Akses ssh di bridge hanya bisa dilakukan
dari matahari. Jika ada yang minta service ssh ke bridge (selain matahari
tentunya) akan di forward ke matahari.
3. Settinglah
bridge sebagai primary name server / DNS untuk jaringan Anda dengan menggunakan
BIND. Nama domain menggunakan nomer kelompok anda (misal klp30.com).
Untuk keperluan ini
BRIDGE harus diberi
IP Address.
4. Settinglah
Titan sebagai DNS dengan nama domain sub.noklp.com ( misal : sub.klp30.com ). Dimana
sub domain ini merupakan pendelegasian sub domain dari DNS utama di bridge.
5. Buat
semua record-record yang diperlukan di DNS supaya jika melakukan service jaringan
cukup dengan menyebut nama FQDN nya saja. ( misal : bridge.klp30.com ).
6. Settinglah
pluto sebagai secondary name server dari domain utama Anda ( nokel.com ). (segala
perubahan record di primary name server bridge akan di transfer ke secondary
name server pluto secara otomatis).
Aturan untuk akses ke jaringan luar, yaitu :
Setelah
jaringan virtual telah di install pada uml, maka pada gateway (matahari) jalankan
script rule_gateway.sh, yang isinya :
iptables -A FORWARD -m state --state
ESTABLISHED,RELATED -j ACCEPT
#
# 2 perintah berikut digunakan untuk
membatasi subnet mars ( juga
# termasuk mars ) sehingga hanya terhubung
dengan internet
# (jaringan ajk) pada jam kerja saja ( jam
8.00 s/d 16.00 )
#
----------------------------------------------------------------
iptables -A FORWARD -s 192.168.39.128/27
-p
tcp -m time --timestart 08:00
--timestop 16:00
--days
Mon,Tue,Wed,Thu,Fri,Sat
-m tcp --dport http -j ACCEPT
iptables -A FORWARD -s 192.168.39.3 -p tcp
-m
time --timestart 08:00 --timestop
16:00
--days Mon,Tue,Wed,Thu,Fri,Sat -m tcp --dport http
-j ACCEPT
#
# 2 perintah berikut digunakan untuk
mem-blokir koneksi subnet
# uranus ( termasuk uranus )
#
----------------------------------------------------------------
iptables -A FORWARD -s 192.168.39.96/27 -j
DROP
iptables -A FORWARD -s 192.168.39.66 -j DROP
#
# 2 perintah berikut membebaskan koneksi
internet (jaringan ajk)
# subnet pluto ( dan juga termasuk pluto )
sehingga tanpa batasan
#
----------------------------------------------------------------
iptables -A FORWARD -s 192.168.39.32/27 -j
ACCEPT
iptables -A FORWARD -s 192.168.39.99 -j
ACCEPT
#
# perintah berikut membolehkan subnet-subnet
lain untuk koneksi
# internet (jaringan ajk) hanya sebatas
service ftp, http dan smtp
# ----------------------------------------------------------------
iptables -A FORWARD -p tcp -m multiport
--dports 21,80,25
-j ACCEPT
#
# selain service ftp, http dan smtp semua
service ke jaringan luar
# ditolak
#
----------------------------------------------------------------
iptables -A FORWARD -j DROP
Table nat pada matahari setelah
dijalankan perintah di atas, yaitu :
Subnet mars dapat terkoneksi
ke jaringan luar hanya pada jam kerja, berikut contoh perbedaan koneksi oleh
saturnus ( subnet mars ) yang hanya dapat dilakukan pada jam kerja saja.
Koneksi ke jaringan oleh subnet uranus, dalam
contoh berikut adalah metis tidak dapat dilakukan.
Koneksi ke jaringan luar
oleh subnet pluto tidak ada batasan, dalam contoh berikut adalah jupiter
sebagai subnet pluto.
Sedangkan untuk subnet lain,
diperbolehkan meng-akses jaringan luar tanpa batasan waktu namun hanya service
http (port 80), ftp (21), dan smtp (25) yang diperbolehkan, berikut merupakan
contoh akses ke jaringan luar oleh titan. Pada gambar juga terlihat koneksi
melalui port 22 (ssh) ke jaringan luar ditolak.
2. Sedangkan
aturan untuk akses jaringan dalam, yaitu :
Pada
bridge jalankan script rule_bridge.sh, yang berisi :
#
# jika akses ssh berasal dari matahari, maka
akses ke bridge
# diterima
#
----------------------------------------------------------------
iptables -t nat -A PREROUTING -s 192.168.39.1
-j ACCEPT
#
# sedangkan selain matahari jika meng-akses
bridge dalam bentuk
# service ssh maka akan di-forward ke
matahari
# ----------------------------------------------------------------
iptables -t nat -A PREROUTING -d 192.168.39.2
-p tcp --dport ssh
-j DNAT --to-destination 192.168.39.1
Table nat pada bridge setelah
dijalankan perintah di atas, yaitu:
Jika matahari meng-akses bridge melalui ssh,
maka akan diperbolehkan
Jika selain matahari mencoba
untuk meng-akses bridge melalui ssh, misalkan mars dan jupiter maka akan
diforward ke matahari.
Setting Domain Name System ( DNS )
Sebelumnya tiap-tiap router harus ditambahkan
iptables tambahan untuk keperluan DNS ini, yaitu :
iptables –t nat –A POSTROUTING –j MASQUERADE
Untuk
keperluan memasang DNS ke bridge, titan dan pluto, install bind9 ke bridge, titan dan pluto.
Untuk masing-masing keperluan DNS tersebut sesuai dengan soal, maka lakukan
settingan sebagaimana berikut :
- Bridge
Bridge
diinstall DNS sebagai primary DNS, settingan yang perlu dilakukan adalah :
Pada file
named.conf.options :
options {
directory "/var/cache/bind";
// If there is a firewall between you and
nameservers you want
// to talk to, you might need to uncomment
the query-source
// directive below. Previous versions of BIND always asked
// questions using port 53, but BIND 8.1 and
later use an
// unprivileged
// port by default.
query-source
address * port 53;
// If your ISP provided one or more IP
addresses for stable
// nameservers, you probably want to use them
as forwarders.
// Uncomment the following block, and insert
the addresses
// replacing the all-0's placeholder.
// forwarder digunakan untuk mencari nama
suatu host pada DNS
// lain jika pada DNS ini tidak ditemukan
nama host tersebut
forwarders
{
192.168.39.4;
10.126.13.3;
};
auth-nxdomain
no; # conform to RFC1035
};
Pada file
named.conf.local :
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if
they are not used in
// your organization
//include
"/etc/bind/zones.rfc1918";
// type master artinya DNS dijadikan primary
DNS
// allow-transfer artinya table dns akan ditransfer
ke secondary
// DNS
zone "klp39.com" {
type
master;
file
"/etc/bind/db.klp39.com";
allow-transfer
{ 192.168.39.99; };
};
zone "39.168.192.in-addr.arpa" {
type
master;
file
"/etc/bind/db.192.168.39";
allow-transfer
{ 192.168.39.99; };
};
Sedangkan
pada file named.conf jangan lakukan perubahan apapun.
Kemudian juga buat 2 file dengan nama
/etc/bind/db.klp39.com/db.klp39.com dan /etc/bind/db.192.168.39 sesuai dengan
nama file pada konfigurasi named.conf.local. File tersebut dapat di-copy dari file
db.local
Pada file
"/etc/bind/db.192.168.39”, isinya :
;
; BIND reverse data file for broadcast zone
;
$TTL 604800
@ IN SOA bridge.klp39.com.
admin.klp39.com. (
1 ;
Serial
604800 ;
Refresh
86400 ;
Retry
2419200 ; Expire
604800 ) ;
Negative Cache TTL
;
@ IN NS bridge.klp39.com.
@ IN NS pluto.sub.klp39.com.
1 IN PTR matahari.klp39.com.
2 IN PTR bridge.klp39.com.
3 IN PTR mars.klp39.com.
129 IN PTR mars.klp39.com.
130 IN PTR saturnus.klp39.com.
Pada file
/etc/bind/db.klp39.com/db.klp39.com, isinya :
;
; BIND data file for local loopback interface
;
;
; sub dan titan.sub digunakan untuk
mendelegasikan
; titan sebagai sub domain
;
$TTL 604800
@ IN SOA bridge.klp39.com.
admin.klp39.com. (
1 ;
Serial
604800 ;
Refresh
86400 ;
Retry
2419200 ; Expire
604800 ) ;
Negative Cache TTL
;
@ IN NS bridge.klp39.com.
@ IN NS pluto.sub.klp39.com.
matahari IN A 192.168.39.1
bridge IN A 192.168.39.2
mars IN A 192.168.39.3
saturnus IN A 192.168.39.130
sub IN NS titan.sub.klp39.com.
titan.sub IN A 192.168.39.4
Juga
edit file /etc/resolv.conf, buat file tersebut dengan editor nano, vi atau
mcedit jika tidak ada, isinya :
// artinya untuk mencari domain klp39.com
maka akan dicari pada
// daftar nameserver dibawah
search klp39.com
nameserver 127.0.0.1
nameserver 192.168.39.99
- Pluto
Sedangkan
pada pluto di-install secondary DNS yang merupakan mirror dari primary DNS,
settinglah sebagaimana setting bind pada bridge.
Pada file named.conf.options
:
options {
directory "/var/cache/bind";
// If there is a firewall between you and
nameservers you want
// to talk to, you might need to uncomment
the query-source
// directive below. Previous versions of BIND always asked
// questions using port 53, but BIND 8.1 and
later use an
// unprivileged port by default.
query-source
address * port 53;
// If
your ISP provided one or more IP addresses for stable
//
nameservers, you probably want to use them as forwarders.
//
Uncomment the following block, and insert the addresses
// replacing
the all-0's placeholder.
forwarders
{
192.168.39.4;
10.126.13.3;
};
auth-nxdomain
no; # conform to RFC1035
};
Pada file
named.conf.local :
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if
they are not used in
// your organization
//include
"/etc/bind/zones.rfc1918";
// type slave artinya DNS ini dijadikan
secondary DNS
// masters menunjuk pada primary DNS
zone "klp39.com" {
type
slave;
file
"/etc/bind/dbs.klp39.com";
masters
{ 192.168.39.2; };
};
zone "39.168.192.in-addr.arpa" {
type
slave;
file
"/etc/bind/dbs.192.168.39";
masters
{ 192.168.39.2; };
};
Kemudian
buat file dbs.klp39.com dan dbs.192.168.39 yang di-copy-kan dari file db.local.
Isi file
dbs.klp39.com adalah :
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA pluto.sub.klp39.com.
admin2.klp39.com. (
1 ;
Serial
604800 ;
Refresh
86400 ;
Retry
2419200 ; Expire
604800 ) ;
Negative Cache TTL
;
@ IN NS bridge.klp39.com.
@ IN NS pluto.sub.klp39.com.
matahari IN A 192.168.39.1
bridge IN A 192.168.39.2
mars IN A 192.168.39.3
saturnus IN A 192.168.39.130
sub IN NS titan.sub.klp39.com.
titan.sub IN A 192.168.39.4
Isi file dbs.192.168.39 adalah :
;
; BIND reverse data file for broadcast zone
;
$TTL 604800
@ IN SOA pluto.sub.klp39.com.
admin2.klp39.com. (
1 ;
Serial
604800 ;
Refresh
86400 ;
Retry
2419200 ; Expire
604800 ) ;
Negative Cache TTL
;
@ IN NS bridge.klp39.com.
@ IN NS pluto.sub.klp39.com.
1 IN PTR matahari.klp39.com.
2 IN PTR bridge.klp39.com.
3 IN PTR mars.klp39.com.
129 IN PTR mars.klp39.com.
130 IN PTR saturnus.klp39.com.
Untuk resolv.conf, isikan :
search sub.klp39.com
nameserver 192.168.39.4
- Titan
Untuk
setting DNS dengan sub domain pada titan, maka bind perlu dilakukan konfigurasi
sebagaimana berikut :
File
named.conf.options :
options {
directory
"/var/cache/bind";
// If
there is a firewall between you and nameservers you want
// to
talk to, you might need to uncomment the query-source
//
directive below. Previous versions of
BIND always asked
//
questions using port 53, but BIND 8.1 and later use an
// unprivileged
port by default.
query-source
address * port 53;
// If
your ISP provided one or more IP addresses for stable
//
nameservers, you probably want to use them as forwarders.
//
Uncomment the following block, and insert the addresses
// replacing
the all-0's placeholder.
forwarders
{
192.168.39.2;
192.168.39.99;
};
auth-nxdomain
no; # conform to RFC1035
};
File named.conf.local :
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if
they are not used in
// your organization
//include
"/etc/bind/zones.rfc1918";
zone "sub.klp39.com" {
type
master;
file
"/etc/bind/db.sub.klp39.com";
};
zone "192.168.39.in-addr.arpa" {
type
master;
file
"/etc/bind/db.192.168.39";
};
Lalu buat file
db.sub.klp39.com dan db.192.168.39 yang dapat di-copykan dari file db.local.
Isi file
db.192.168.39 :
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA titan.sub.klp39.com.
admin.sub.klp39.com. (
1 ;
Serial
604800 ;
Refresh
86400 ;
Retry
2419200 ; Expire
604800 ) ;
Negative Cache TTL
;
@ IN NS titan.sub.klp39.com.
4 IN PTR titan.sub.klp39.com.
65 IN PTR titan.sub.klp39.com.
66 IN PTR uranus.sub.klp39.com.
97 IN PTR uranus.sub.klp39.com.
98 IN PTR metis.sub.klp39.com.
99 IN PTR pluto.sub.klp39.com.
33 IN PTR pluto.sub.klp39.com.
34 IN PTR jupiter.sub.klp39.com.
Isi file db.sub.klp39.com :
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA titan.sub.klp39.com.
admin.sub.klp39.com. (
1 ;
Serial
604800 ;
Refresh
86400 ;
Retry
2419200 ; Expire
604800 ) ;
Negative Cache TTL
;
@ IN NS titan.sub.klp39.com.
titan IN A 192.168.39.4
uranus IN A 192.168.39.66
metis IN A 192.168.39.98
pluto IN A 192.168.39.99
jupiter IN A 192.168.39.34
Sedangkan isi file resolv.conf adalah :
search sub.klp39.com
nameserver 127.0.0.1
Setelah
semua setting bind9 telah dilakukan maka masing-masing host memerlukan
informasi mengenai DNS yang memperkenalkan host lain, yaitu melalui resolv.conf.
Isi file resolv.conf pada matahari, mars, saturnus yaitu :
search klp39.com
nameserver 192.168.39.2
nameserver 192.168.39.99
Sedangkan isi file resolv.conf pada jupiter, metis dan uranus adalah :
search sub.klp39.com
nameserver 192.168.39.4
Kemudian restart bind pada bridge, pluto dan
titan
No comments:
Post a Comment
silahkan membaca dan berkomentar