Perintah Dasar Firewall
Perintah Dasar Firewall
Anda dapat menulis,
$ sudo iptables -L
Akan keluar aturan “rules” yang sudah ada di iptables. Jika kita baru saja menginstalasi server, biasanya masih belum ada rules yang terpasang, kita akan melihat
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Berikut adalah beberapa option dasar yang sering digunakan dalam mengkonfigurasi iptables.
-A
Tambahkan rule / aturan ini ke rantai aturan yang ada. Rantai yang valid adalah INPUT, FORWARD and OUTPUT. Kita biasanya lebih banyak menggunakan rantai INPUT yang berdampak pada traffic yang masuk.
-L
memperlihatkan daftar aturan / rule yang ada iptables.
-m state
mengijinkan aturan di cocokan berdasarkan kondisi sambungan (connection state). Mengijinkan penggunaan option -–state.
--state
Mendefinisikan daftar dari kondisi / states bagi aturan untuk di cocokan.
NEW
Sambungan baru, dan belum pernah terlihat sebelumnya.
RELATED
Sambungan baru, tapi berhubungan dengan sambungan lain yang telah di ijinkan.
ESTABLISHED
Sambungan yang sudah terjadi.
INVALID
Traffic yang karena berbagai alasan tidak bisa di identifikasi.
-m limit
Dibutuhkan oleh rule jika ingin melakukan pencocokan dalam waktu / jumlah tertentu. Mengijinkan penggunakan option --limit. Berguna untuk membatasi aturan logging.
--limit
Kecepatan maksimum pencocokan, diberikan dalam bentuk angka yang di ikuti oleh "/second", "/minute", "/hour", atau "/day" tergantung seberapa sering kita ingin melakukan pencocokan aturan. Jika option ini tidak digunakan maka default-nya adalah "3/hour".
-p
Protokol yang digunakan untuk sambungan.
--dport
Port tujuan yang digunakan oleh aturan iptables. Bisa berupa satu port, bisa juga satu range ditulis sebagai start:end, yang akan mencocokan semua port start sampai end.
-j
Jump ke target yang spesifik. iptables mempunyai empat (4) target default, yaitu,
ACCEPT
Accept / menerima paket dan berhenti memproses aturan dalam rantai aturan ini.
REJECT
Reject / tolak paket dan beritahu ke pengirim bahwa kita menolak paket tersebut, dan stop pemrosesan aturan dalam rantai aturan ini.
DROP
Diam-diam tidak pedulikan paket, dan stop pemrosesan aturan di rantai aturan ini.
LOG
Log / catat paket, dan teruskan memprosesan aturan di rantai aturan ini. Mengijinkan penggunaan option --log-prefix dan --log-level.
--log-prefix
Jika pencatatan di lakukan, letakan text / tulisan sebelum catatan. Gunakan kutip di text / tulisan.
--log-level
Pencatatan menggunakan syslog level. 7 adalah pilihan yang baik, kecuali kita perlu suatu yang lain.
-i
Lakukan pencocokan jika paket yang masuk dari interface tertentu.
-I
Insert / masukan aturan. Butuh dua (2) option, yaitu, rantai aturan yang mana, dan nomor aturan. Jadi -I INPUT 5 akan memasukan ke rantai INPUT dan menjadikannya aturan nomor 5 di daftar.
-v
Menampilkan lebih banyak informasi di layar. Sangat membantu jika ada beberapa aturan yang tampak mirip jika di tampilkan tanpa -v.
Kita dapat mengijinkaan sesi sambungan yang terbentuk untuk menerima traffic, melalui perintah,
$ sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Mengijinkan Traffic Masuk ke Port Tertentu.
Di awal proses, sebaiknya iptables memblok semua traffic. Biasanya kita membutuhkan untuk bekerja melalui saluran SSH, oleh karenanya biasanya kita mengijinkan untuk traffic SSH dan memblok traffic lainnya.
Untuk mengijinkan traffic masuk ke default port SSH nomor 22, kita harus mengijinkan semua TCP traffic yang masuk ke port 22.
$ sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
Dari daftar option di atas, kita dapat mengetahui bahwa aturan iptables tersebut mengatur agar masukkan aturan ini ke rantai input (-A INPUT) artinya kita melihat traffic yang masuk. cek apakah protokol yang digunakan adalah TCP (-p tcp). Jika TCP, cek apakah packet menuju port SSH (--dport ssh). Jika menuju SSH, maka packet di terima (-j ACCEPT).
Mari kita cek aturan yang di bentuk oleh perintah di atas menggunakan perintah iptables -L,
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
Selanjutnya, kita akan mengijinkan semua traffic web untuk masuk, gunakan perintah berikut
$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Cek aturan yang kita buat mengunakan perintah iptables -L, sebagai berikut,
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:www
Kita harus secara spesifik mengijinkan TCP traffic ke port SSH dan Web, tapi kita belum mem-block apa-apa, dan semua traffic masuk bisa masuk.
Jika aturan telah memutusan untuk menerima packet (ACCEPT), maka aturan selanjutnya tidak akan berefek pada packet tersebut. Karena aturan yang kita buat mengijinkan SSH dan Web traffic, selama aturan untuk memblok semua traffic kita letakan terakhir sesudah aturan mengijinkan SSH dan Web, maka kita akan tetap dapat menerima traffic SSH dan Web yang kita inginkan. Jadi kita harus menambahkan (-A) aturan untuk mem-block traffic di akhir.
$ sudo iptables -A INPUT -j DROP
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:www
DROP all -- anywhere anywhere
Karena kita tidak menentukan interface atau protokol yang digunakan, semua traffic ke semua pirt maupun semua interface akan di blok, kecuali web dan SSH.
Masalah utama yang akan kita peroleh adalah, loopback port pada interface “lo” akan di blok. Oleh karena itu kita perlu mengijinkan agar menerima semua traffic untuk loopback (“lo”). Hal ini dapat dilakukan dengan cara meng-Insert (-I) aturan pada rantai INPUT bagi interface lo, agar masuk ke urutan paling atas.
$ sudo iptables -I INPUT 1 -i lo -j ACCEPT
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:www
DROP all -- anywhere anywhere
Kalau kita lihat di atas, aturan paling atas dan aturan paling bawah agak mirip, untuk melihat lebih detail dari aturan tersebut, kita dapat menggunakan perintah,
$ sudo iptables -L -v
Chain INPUT (policy ALLOW 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- lo any anywhere anywhere
0 0 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:ssh
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:www
0 0 DROP all -- any any anywhere anywhere
Kita melihat lebih banyak informasi disini. Aturan untuk mengijinkan loopback sangat penting artinya, karena banyak program akan menggunakan interface loopback untuk berkomunikasi satu sama lain. Jika loopback tidak di ijinkan maka kemungkinan kita akan merusak program tersebut.
Dalam semua contoh di atas, semua traffic tidak di log. Jika kita ingin untuk mencatat paket yang di dop, cara yang paling cepat adalah,
$ sudo iptables -I INPUT 5 -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
Silahkan lihat di bagian atas untuk melihat apa yang terjadi dalam proses logging.
Jika kita booting mesin yang kita gunakan, maka apa yang kita kerjakan sejauh ini akan hilang. Tentunya dapat saja kita mengetik ulang semua perintah yang kita masukkan satu per satu setiap kali reboot, agar lebih memudahkan, maka kita dapat menggunakan perintah iptables-save dan iptables-restore untuk menyimpan dan merestore iptables.
kita dapat men-save konfigurasi iptables agar di start setiap kali booting menggunakan perintah
$ sudo sh -c "iptables-save > /etc/iptables.rules"
Kita perlu memodifikasi /etc/network/interfaces agar aturan iptables yang kita gunakan dapat berjalan secara automatis. Memang kita perlu mengetahui ke interface mana aturan yang kita buat akan digunakan. Biasanya kita menggunakan eth0. Untuk interface wireless, kita dapat mencek penggunaaannya mengunakan perintah,
$ iwconfig
Kita perlu mengedit file /etc/network/interfaces misalnya menggunakan perintah
$ sudo nano /etc/network/interfaces
Jika kita sudah menemukan nama interface yang digunakan, maka di akhir interface kita dapat menambahkan perintah,
pre-up iptables-restore < /etc/iptables.rules
Selanjutnya di bawahnya kita tambahkan perintah sesudah interface down, menggunakan perintah,
post-down iptables-restore < /etc/iptables.rules
Contoh real konfigurasi interfaces adalah sebagai berikut,
auto eth0
iface eth0 inet dhcp
pre-up iptables-restore < /etc/iptables.rules
post-down iptables-restore < /etc/iptables.rules
Jika kita sering mengedit secara manual iptables. Perubahan iptables yang sering biasanya terjadi pada masa development, pada saat operasional sebetulnya tidak banyak perubahan aturan di iptables. Jika perubaha cukup banyak, maka sebaiknya kita menambahkan beberapa kalimat berikut ke file /etc/network/interfaces:
pre-up iptables-restore < /etc/iptables.rules
post-down iptables-save > /etc/iptables.rules
Kalimat "post-down iptables-save > /etc/iptables.rules" akan menyimpan aturan agar dapat digunakan lagi sesudah booting.
Jika kita berexperimen dengan iptables, ada baiknya menggunakan perintah iptables-save dan iptables-restore untuk mengedit dan test aturan yang kita buat. Untuk mengedit aturan iptables yang kita buat dapat menggunakan perintah berikut (misalnya menggunakan gedit),
$ sudo iptables-save > /etc/iptables.rules
$ nano /etc/iptables.rules
Kita akan memperoleh sebuah file yang mirip dengan yang kita lakukan,
# Generated by iptables-save v1.3.1 on Sun Apr 23 06:19:53 2006
*filter
:INPUT ACCEPT [368:102354]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [92952:20764374]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
-A INPUT -j DROP
COMMIT
# Completed on Sun Apr 23 06:19:53 2006
Tampak dari file tersebut bahwa perintah tersebut adalah perintah iptables, tanpa ada “iptables”-nya. Kita dapat mengedit file ini, dan men-save jika telah selesai. Untuk melakukan test dapat di jalankan menggunakan perintah,
$ sudo iptables-restore < /etc/iptables.rules
Sesudah test, kita dapat mensave apa yang sedang di kutak-katik menggunakan perintah iptables-save ke file /etc/network/interfaces melalui perintah
$ sudo iptables-save > /etc/iptables.rules
Untuk melihat lebih detail dari syslog kita perlu menambahkan rantai tambahan. Berikut adalah contoh dari /etc/iptables.rules memperlihatkan bagaimana setup iptables me-log dari syslog:
# Generated by iptables-save v1.3.1 on Sun Apr 23 05:32:09 2006
*filter
:INPUT ACCEPT [273:55355]
:FORWARD ACCEPT [0:0]
:LOGNDROP - [0:0]
:OUTPUT ACCEPT [92376:20668252]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j LOGNDROP
-A LOGNDROP -p tcp -m limit --limit 5/min -j LOG --log-prefix "Denied TCP: " --log-level 7
-A LOGNDROP -p udp -m limit --limit 5/min -j LOG --log-prefix "Denied UDP: " --log-level 7
-A LOGNDROP -p icmp -m limit --limit 5/min -j LOG --log-prefix "Denied ICMP: " --log-level 7
-A LOGNDROP -j DROP
COMMIT
# Completed on Sun Apr 23 05:32:09 2006
Perhatikan ada rantai baru CHAIN di sebut LOGNDROP di awal file. Tampak standard DROP yang biasanya ada di bawah rantai INPUT sekarang digantikan oleh LOGNDROP dan menambahkan deskripsi protokol agar mudah membaca log tersebut. Akhirnya kita akan membuang / mendrop traffic di akhir rantai LOGNDROP. Beberapa catatan berikut akan memberikan keterangan apa yang terjadi,
--limit mengatur berapa banyak pencatatan dari dari sebuah aturan ke syslog
--log-prefix "Denied..." menambahkan prefix untuk memudahkan membaca syslog
--log-level 7 mengatur tingkat banyaknya informasi di syslog
Jika kita membutuhkan untuk men-disable / mematikan firewall sementara, hal ini dapat dilakukan dengan mudah menggunakan perintah flush (-F), sebagai berikut,
$ sudo iptables -F
Script Blocking FB
iptables -A FORWARD -p tcp --dport 80 -d 66.220.144.0/20 -j DROP
iptables -A FORWARD -p tcp --dport 80 -d 69.63.176.0/20 -j DROP
iptables -A FORWARD -p tcp --dport 443 -d 66.220.144.0/20 -j DROP
iptables -A FORWARD -p tcp --dport 443 -d 69.63.176.0/20 -j DROP
iptables -A FORWARD -p tcp --dport 80 -d www.facebook.com -j DROP
iptables -A FORWARD -p tcp --dport 443 -d www.facebook.com -j DROP
iptables -A FORWARD -p tcp --dport 80 -d facebook.com -j DROP
iptables -A FORWARD -p tcp --dport 443 -d facebook.com -j DROP
iptables -A FORWARD -p tcp --dport 80 -d www.facebook.com.edgesuite.net -j DROP
iptables -A FORWARD -p tcp --dport 443 -d www.facebook.com.edgesuite.net -j DROP
iptables -I FORWARD -s IP_klien -p tcp --dport 80 -d 66.220.144.0/20 -j ACCEPT
iptables -I FORWARD -s IP_klien -p tcp --dport 80 -d 69.63.176.0/20 -j ACCEPT
iptables -I FORWARD -s IP_klien -p tcp --dport 443 -d 66.220.144.0/20 -j ACCEPT
iptables -I FORWARD -s IP_klien -p tcp --dport 443 -d 69.63.176.0/20 -j ACCEPT
iptables -I FORWARD -s IP_klien -p tcp --dport 443 -d www.facebook.com -j ACCEPT
iptables -I FORWARD -s IP_klien -p tcp --dport 443 -d www.facebook.com -j ACCEPT
iptables -I FORWARD -s IP_klien -p tcp --dport 443 -d www.facebook.com -j ACCEPT
iptables -I FORWARD -s IP_klien -p tcp --dport 443 -d www.facebook.com -j ACCEPT
iptables -I FORWARD -s IP_klien -p tcp --dport 443 -d www.facebook.com.edgesuite.net -j ACCEPT
iptables -I FORWARD -s IP_klien -p tcp --dport 443 -d www.facebook.com.edgesuite.net -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 -d 69.63.176.0/20 -j DROP
iptables -A FORWARD -p tcp --dport 443 -d 66.220.144.0/20 -j DROP
iptables -A FORWARD -p tcp --dport 443 -d 69.63.176.0/20 -j DROP
iptables -A FORWARD -p tcp --dport 80 -d www.facebook.com -j DROP
iptables -A FORWARD -p tcp --dport 443 -d www.facebook.com -j DROP
iptables -A FORWARD -p tcp --dport 80 -d facebook.com -j DROP
iptables -A FORWARD -p tcp --dport 443 -d facebook.com -j DROP
iptables -A FORWARD -p tcp --dport 80 -d www.facebook.com.edgesuite.net -j DROP
iptables -A FORWARD -p tcp --dport 443 -d www.facebook.com.edgesuite.net -j DROP
iptables -I FORWARD -s IP_klien -p tcp --dport 80 -d 66.220.144.0/20 -j ACCEPT
iptables -I FORWARD -s IP_klien -p tcp --dport 80 -d 69.63.176.0/20 -j ACCEPT
iptables -I FORWARD -s IP_klien -p tcp --dport 443 -d 66.220.144.0/20 -j ACCEPT
iptables -I FORWARD -s IP_klien -p tcp --dport 443 -d 69.63.176.0/20 -j ACCEPT
iptables -I FORWARD -s IP_klien -p tcp --dport 443 -d www.facebook.com -j ACCEPT
iptables -I FORWARD -s IP_klien -p tcp --dport 443 -d www.facebook.com -j ACCEPT
iptables -I FORWARD -s IP_klien -p tcp --dport 443 -d www.facebook.com -j ACCEPT
iptables -I FORWARD -s IP_klien -p tcp --dport 443 -d www.facebook.com -j ACCEPT
iptables -I FORWARD -s IP_klien -p tcp --dport 443 -d www.facebook.com.edgesuite.net -j ACCEPT
iptables -I FORWARD -s IP_klien -p tcp --dport 443 -d www.facebook.com.edgesuite.net -j ACCEPT
Script Blocking FB berdasarkan waktu
iptables -A FORWARD -p tcp --dport 443 -d 66.220.144.0/20 -m time --timestart 08:30 --timestop 11:30 --weekdays Mon,Tue,Wed,Thu,Fri -j DROP
iptables -A FORWARD -p tcp --dport 443 -d 66.220.144.0/20 -m time --timestart 13:00 --timestop 16:30 --weekdays Mon,Tue,Wed,Thu,Fri -j DROP
iptables -A FORWARD -p tcp --dport 443 -d 69.63.176.0/20 -m time --timestart 08:30 --timestop 11:30 --weekdays Mon,Tue,Wed,Thu,Fri -j DROP
iptables -A FORWARD -p tcp --dport 443 -d 69.63.176.0/20 -m time --timestart 13:00 --timestop 16:30 --weekdays Mon,Tue,Wed,Thu,Fri -j DROP
iptables -A FORWARD -p tcp --dport 443 -d www.facebook.com -m time --timestart 08:30 --timestop 11:30 --weekdays Mon,Tue,Wed,Thu,Fri -j DROP
iptables -A FORWARD -p tcp --dport 443 -d www.facebook.com -m time --timestart 13:00 --timestop 16:30 --weekdays Mon,Tue,Wed,Thu,Fri -j DROP
iptables -A FORWARD -p tcp --dport 443 -d facebook.com -m time --timestart 08:30 --timestop 11:30 --weekdays Mon,Tue,Wed,Thu,Fri -j DROP
iptables -A FORWARD -p tcp --dport 443 -d facebook.com -m time --timestart 13:00 --timestop 16:30 --weekdays Mon,Tue,Wed,Thu,Fri -j DROP
iptables -A FORWARD -p tcp --dport 443 -d www.facebook.com.edgesuite.net -m time --timestart 08:30 --timestop 11:30 --weekdays Mon,Tue,Wed,Thu,Fri -j DROP
iptables -A FORWARD -p tcp --dport 443 -d www.facebook.com.edgesuite.net -m time --timestart 13:00 --timestop 16:30 --weekdays Mon,Tue,Wed,Thu,Fri -j DROP
Script 2 Blocking FB
#!/bin/bash
#
# block network
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.144.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.176.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.144.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 204.15.20.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 203.106.85.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.189.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.181.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.187.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.184.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.186.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.147.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.146.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.158.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.149.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.158.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.145.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.151.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.228.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.224.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.255.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.239.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 204.74.67.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 204.74.66.0/20 -j DROP
# block domain
iptables -I FORWARD -p tcp -i eth2 --dport 53 -d 66.220.151.20 -j DROP #ns3
iptables -I FORWARD -p tcp -i eth2 --dport 53 -d 69.63.186.49 -j DROP #ns4
iptables -I FORWARD -p tcp -i eth2 --dport 53 -d 66.220.145.65 -j DROP #ns5
iptables -I FORWARD -p tcp -i eth2 --dport 53 -d 204.74.66.132 -j DROP #ns1
iptables -I FORWARD -p tcp -i eth2 --dport 53 -d 204.74.67.132 -j DROP #ns2
iptables -I FORWARD -p tcp -i eth2 --dport 53 -d 69.171.239.10 -j DROP #glb1.facebook.com
iptables -I FORWARD -p tcp -i eth2 --dport 53 -d 69.171.255.10 -j DROP #glb2.facebook.com
# tambahan block ip
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.147.33 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.181.12 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.176.13 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.184.142 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.187.17 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.187.18 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.187.19 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.181.11 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.181.15 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.189.16 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.189.11 -j DROP
# www.facebook.com
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.158.11 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.224.12 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.224.40 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.228.14 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.224.13 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.224.11 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.224.39 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.146.18 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.228.11 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.147.33 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.158.32 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.224.14 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.149.11 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.228.39 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.158.18 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.158.32 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.158.11 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.149.25 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.224.42 -j DROP
# block domain
iptables -I FORWARD -p tcp -i eth2 --dport 80 -d www.facebook.com -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d www.facebook.com -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 80 -d facebook.com -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d facebook.com -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 80 -d www.facebook.com.edgesuite.net -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d www.facebook.com.edgesuite.net -j DROP
# block untrasurf
iptables -I FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST,PSH ACK,PSH -m string --to 256 --hex-string '|16030100410100003d0301|' --algo bm -j LOG --log-prefix "ULTRASURF: "
# block tor
iptables -I FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST,PSH ACK,PSH -m string --to 256 --hex-string ' C00AC01400390038C00FC0050035C007C009C011C013003300 32C00CC00EC002C00400040005002FC008C01200160013C00D C003FEFF000A|' --algo bm -j LOG --log-prefix "TOR: "
#!/bin/bash
#
# block network
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.144.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.176.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.144.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 204.15.20.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 203.106.85.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.189.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.181.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.187.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.184.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.186.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.147.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.146.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.158.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.149.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.158.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.145.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.151.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.228.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.224.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.255.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.239.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 204.74.67.0/20 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 204.74.66.0/20 -j DROP
# block domain
iptables -I FORWARD -p tcp -i eth2 --dport 53 -d 66.220.151.20 -j DROP #ns3
iptables -I FORWARD -p tcp -i eth2 --dport 53 -d 69.63.186.49 -j DROP #ns4
iptables -I FORWARD -p tcp -i eth2 --dport 53 -d 66.220.145.65 -j DROP #ns5
iptables -I FORWARD -p tcp -i eth2 --dport 53 -d 204.74.66.132 -j DROP #ns1
iptables -I FORWARD -p tcp -i eth2 --dport 53 -d 204.74.67.132 -j DROP #ns2
iptables -I FORWARD -p tcp -i eth2 --dport 53 -d 69.171.239.10 -j DROP #glb1.facebook.com
iptables -I FORWARD -p tcp -i eth2 --dport 53 -d 69.171.255.10 -j DROP #glb2.facebook.com
# tambahan block ip
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.147.33 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.181.12 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.176.13 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.184.142 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.187.17 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.187.18 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.187.19 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.181.11 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.181.15 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.189.16 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.63.189.11 -j DROP
# www.facebook.com
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.158.11 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.224.12 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.224.40 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.228.14 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.224.13 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.224.11 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.224.39 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.146.18 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.228.11 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.147.33 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.158.32 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.224.14 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.149.11 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.228.39 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.158.18 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.158.32 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.158.11 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 66.220.149.25 -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d 69.171.224.42 -j DROP
# block domain
iptables -I FORWARD -p tcp -i eth2 --dport 80 -d www.facebook.com -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d www.facebook.com -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 80 -d facebook.com -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d facebook.com -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 80 -d www.facebook.com.edgesuite.net -j DROP
iptables -I FORWARD -p tcp -i eth2 --dport 443 -d www.facebook.com.edgesuite.net -j DROP
# block untrasurf
iptables -I FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST,PSH ACK,PSH -m string --to 256 --hex-string '|16030100410100003d0301|' --algo bm -j LOG --log-prefix "ULTRASURF: "
# block tor
iptables -I FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST,PSH ACK,PSH -m string --to 256 --hex-string ' C00AC01400390038C00FC0050035C007C009C011C013003300 32C00CC00EC002C00400040005002FC008C01200160013C00D C003FEFF000A|' --algo bm -j LOG --log-prefix "TOR: "
0 komentar:
Posting Komentar