[ASK]Memaksa client harus lewat proxy lokal

Diskusi tentang Ubuntu Server baik webserver, database server, samba server dan service lainnya serta jaringan menggunakan Sistem Operasi Ubuntu.
User avatar
rizaaal
Posts: 1212
Joined: 01 May 2011, 16:02
Location: Bekasi, Indonesia
Contact:

[ASK]Memaksa client harus lewat proxy lokal

Postby rizaaal » 07 Nov 2012, 18:39

masbro masbro. ada yang tau enggak perintah iptables yang sakti supaya user yang mencoba pake manual proxy luar/ anonnymous proxy gabakal bisa konek. Jadi si client harus pake proxy lokal, selain lewat situ bakalan di drop. gimana ya masbro?

Mohon pencerahan.
User avatar
q_p
Posts: 3109
Joined: 14 Oct 2012, 13:01
Contact:

Re: [ASK]Memaksa client harus lewat proxy lokal

Postby q_p » 07 Nov 2012, 18:58

Halo mas Rizaaal.
1. AFAIK hanya ada reguler rules untuk redirect ke proxy-port
2. Dengan menggunakan free-proxy/anonnymous (google terjemahan), client lolos. apalagi kalau client menggunakan UltraSurf.
3. Yang bisa kita lakukan hanya me-minimasi dengan menggunakan squidGuard misalnya.
CMIIW.
Semoga membantu.
User avatar
sayed
Posts: 137
Joined: 21 Jul 2011, 16:19
Location: Lhokseumawe, Aceh
Contact:

Re: [ASK]Memaksa client harus lewat proxy lokal

Postby sayed » 07 Nov 2012, 19:56

coba ini mas
#iptables -A OUTPUT --dport 80 -j DROP
#iptables -A OUTPUT --dport 3128 -j ACCEPT
#iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A POSTROUTING -j MASQUERADE

klo ada yang salah diharap maklum ya mas
User avatar
sipelaut
Posts: 1965
Joined: 03 Jan 2010, 17:25
Location: madura-sampang
Contact:

Re: [ASK]Memaksa client harus lewat proxy lokal

Postby sipelaut » 08 Nov 2012, 13:24

ini iptables saya, hasil copas sichh
tapi ane nerapin script tersebut gak bisa tuchh semisal user makek proxy dari luar, gak bisa konek inet. cuman klo makek DNS lain masih bisa tembus..

Code: Select all

root@proxy:~# cat /etc/init.d/proxy.sh SQUID_SERVER_1="192.168.10.1" SQUID_SERVER_2="192.168.11.1" #INTERNET="eth2" INTERNET="ppp0" LAN_IN_1="eth0" LAN_IN_2="eth1" MODEM="eth2" SQUID_PORT="3128" iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X modprobe ip_conntrack modprobe ip_conntrack_ftp echo 1 > /proc/sys/net/ipv4/ip_forward iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j ACCEPT iptables --table nat --append POSTROUTING --out-interface $INTERNET -j MASQUERADE iptables --append FORWARD --in-interface $LAN_IN_1 -j ACCEPT iptables --append FORWARD --in-interface $LAN_IN_2 -j ACCEPT iptables --append FORWARD --in-interface $MODEM -j ACCEPT iptables -A INPUT -i $LAN_IN_1 -j ACCEPT iptables -A OUTPUT -o $LAN_IN_1 -j ACCEPT iptables -A INPUT -i $MODEM -j ACCEPT iptables -A OUTPUT -o $MODEM -j ACCEPT iptables -A INPUT -i $LAN_IN_2 -j ACCEPT iptables -A OUTPUT -o $LAN_IN_2 -j ACCEPT iptables -t nat -A PREROUTING -i $LAN_IN_1 -p tcp --dport 80 -j DNAT --to $SQUID_SERVER_1:$SQUID_PORT iptables -t nat -A PREROUTING -i $LAN_IN_2 -p tcp --dport 80 -j DNAT --to $SQUID_SERVER_2:$SQUID_PORT iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT iptables -A INPUT -j LOG iptables -A INPUT -j DROP
User avatar
q_p
Posts: 3109
Joined: 14 Oct 2012, 13:01
Contact:

Re: [ASK]Memaksa client harus lewat proxy lokal

Postby q_p » 08 Nov 2012, 18:19

nambahin ya :
1. Buat suatu daftar/list yang berisi ip address server proxy-luar.
2. Simpan, misalnya di /opt/drop.proxy
3. Buat script sederhana seperti di bawah ini, set permission dan execute :

Code: Select all

#!/bin/bash file="/opt/drop.proxy" cat $file | while read ip_address; do /sbin/iptables -I INPUT -s $ip_address -j DROP /sbin/iptables -I OUTPUT -d $ip_address -j DROP /sbin/iptables -I FORWARD -s $ip_address -j DROP /sbin/iptables -I FORWARD -d $ip_address -j DROP done exit 0
4. CMIIW
Semoga membantu.
User avatar
rizaaal
Posts: 1212
Joined: 01 May 2011, 16:02
Location: Bekasi, Indonesia
Contact:

Re: [ASK]Memaksa client harus lewat proxy lokal

Postby rizaaal » 12 Nov 2012, 22:51

Halo mas Rizaaal.
1. AFAIK hanya ada reguler rules untuk redirect ke proxy-port
2. Dengan menggunakan free-proxy/anonnymous (google terjemahan), client lolos. apalagi kalau client menggunakan UltraSurf.
3. Yang bisa kita lakukan hanya me-minimasi dengan menggunakan squidGuard misalnya.
CMIIW.
Semoga membantu.
AFAIK itu apa ya mas?

Wah kok bisa sih pake ultrasurf tetep lolos mas? kan logikanya semua paket sebelum keluar ke internet akan diinspeksi di firewall lokal dulu mas? Mohon pencerahan. Lalu kalo emang begitu, kirakira solusi paling mendekati sempurna apa mas? Apakah dengan squidguard tersebut? biar saya cari caranya nanti mas. Terima kasih :)
coba ini mas
#iptables -A OUTPUT --dport 80 -j DROP
#iptables -A OUTPUT --dport 3128 -j ACCEPT
#iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A POSTROUTING -j MASQUERADE

klo ada yang salah diharap maklum ya mas
wah mastah. :D akan saya coba dulu. laporan menyusul.
ini iptables saya, hasil copas sichh
tapi ane nerapin script tersebut gak bisa tuchh semisal user makek proxy dari luar, gak bisa konek inet. cuman klo makek DNS lain masih bisa tembus..

Code: Select all

root@proxy:~# cat /etc/init.d/proxy.sh SQUID_SERVER_1="192.168.10.1" SQUID_SERVER_2="192.168.11.1" #INTERNET="eth2" INTERNET="ppp0" LAN_IN_1="eth0" LAN_IN_2="eth1" MODEM="eth2" SQUID_PORT="3128" iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X modprobe ip_conntrack modprobe ip_conntrack_ftp echo 1 > /proc/sys/net/ipv4/ip_forward iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j ACCEPT iptables --table nat --append POSTROUTING --out-interface $INTERNET -j MASQUERADE iptables --append FORWARD --in-interface $LAN_IN_1 -j ACCEPT iptables --append FORWARD --in-interface $LAN_IN_2 -j ACCEPT iptables --append FORWARD --in-interface $MODEM -j ACCEPT iptables -A INPUT -i $LAN_IN_1 -j ACCEPT iptables -A OUTPUT -o $LAN_IN_1 -j ACCEPT iptables -A INPUT -i $MODEM -j ACCEPT iptables -A OUTPUT -o $MODEM -j ACCEPT iptables -A INPUT -i $LAN_IN_2 -j ACCEPT iptables -A OUTPUT -o $LAN_IN_2 -j ACCEPT iptables -t nat -A PREROUTING -i $LAN_IN_1 -p tcp --dport 80 -j DNAT --to $SQUID_SERVER_1:$SQUID_PORT iptables -t nat -A PREROUTING -i $LAN_IN_2 -p tcp --dport 80 -j DNAT --to $SQUID_SERVER_2:$SQUID_PORT iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT iptables -A INPUT -j LOG iptables -A INPUT -j DROP
walaupun client udah pake manual proxy tetep enggak tembus mas? Maksudnya kalo pake DNS lain tetep tembus itu gimana mas? Jadi kalo client ganti DNS jadi DNS google misalnya, semua rule iptablesnya akan jadi enggak berguna gitu? Mohon pencerahan
User avatar
q_p
Posts: 3109
Joined: 14 Oct 2012, 13:01
Contact:

Re: [ASK]Memaksa client harus lewat proxy lokal

Postby q_p » 12 Nov 2012, 23:42

@rizaal:
As Far As I Know = AFAIK
Yang sudah saya lakukan u/ UltraSurf 12.04, gabungan (berlapis) di bawah ini =
1. Memasukkan UltraSurf ke dalam "List program yang diblokir" dengan memanfaatkan fitur bawaan BillingWarnet.
2. Dari link ini saya tambahkan rules-iptables =

Code: Select all

iptables -I FORWARD -p tcp --dport 443 --tcp-flags SYN,ACK,FIN,RST,PSH ACK,PSH -m string \ --to 77 --hex-string '|16030100410100003d0301|' --algo bm -j DROP iptables -I FORWARD -p tcp --dport 443 --tcp-flags SYN,ACK,FIN,RST,PSH ACK,PSH -m string \ --to 512 --hex-string '|00040005000a00090064006200030006001300120063|' --algo bm -j DROP
3. Dengan squidGuard memanfaatkan gabungan "proxy/anonymous list" dari Shallalist, Bigblacklist dan univ-tlse1.
Hasilnya, UltraSurf tidak bisa jalan karena fitur dari BillingWarnet. Jika UltraSurf di-rename, langsung terbuka (status = successfully connected to server!). Tetapi redtube.com (redtube masuk dalam blacklist squidGurad) tidak bisa kebuka (browser muter terus/tdk bisa konek) dan tidak muncul pesan eror dari squidGuard.
4. Dengan ACL squid tersedia di sini tidak ngefek.
5. Dengan Faronic AntiExecutable bisa, UltraSurf tidak berkutik. Caranya install semua program yang direstui pada semua kompi client (windows), scan dengan Faronic AntiExecutable dan masukkan ke white list. Tetapi, jika Ultrasurf direname dengan nama program yang direstui dan dipindah ke folder program yang direstui, lolos.
Sejalan dengan pertanyaan anda di atas, menurut saya ancaman terbesar justru dari client yang menggunakan UltraSurf dan Google Terjemahan.
CMIIW, semoga meng-inspirasi sambil berharap guru2 kita segera lewat sini.
User avatar
rizaaal
Posts: 1212
Joined: 01 May 2011, 16:02
Location: Bekasi, Indonesia
Contact:

Re: [ASK]Memaksa client harus lewat proxy lokal

Postby rizaaal » 25 Dec 2012, 20:15

@rizaal:
As Far As I Know = AFAIK
Yang sudah saya lakukan u/ UltraSurf 12.04, gabungan (berlapis) di bawah ini =
1. Memasukkan UltraSurf ke dalam "List program yang diblokir" dengan memanfaatkan fitur bawaan BillingWarnet.
2. Dari link ini saya tambahkan rules-iptables =

Code: Select all

iptables -I FORWARD -p tcp --dport 443 --tcp-flags SYN,ACK,FIN,RST,PSH ACK,PSH -m string \ --to 77 --hex-string '|16030100410100003d0301|' --algo bm -j DROP iptables -I FORWARD -p tcp --dport 443 --tcp-flags SYN,ACK,FIN,RST,PSH ACK,PSH -m string \ --to 512 --hex-string '|00040005000a00090064006200030006001300120063|' --algo bm -j DROP
3. Dengan squidGuard memanfaatkan gabungan "proxy/anonymous list" dari Shallalist, Bigblacklist dan univ-tlse1.
Hasilnya, UltraSurf tidak bisa jalan karena fitur dari BillingWarnet. Jika UltraSurf di-rename, langsung terbuka (status = successfully connected to server!). Tetapi redtube.com (redtube masuk dalam blacklist squidGurad) tidak bisa kebuka (browser muter terus/tdk bisa konek) dan tidak muncul pesan eror dari squidGuard.
4. Dengan ACL squid tersedia di sini tidak ngefek.
5. Dengan Faronic AntiExecutable bisa, UltraSurf tidak berkutik. Caranya install semua program yang direstui pada semua kompi client (windows), scan dengan Faronic AntiExecutable dan masukkan ke white list. Tetapi, jika Ultrasurf direname dengan nama program yang direstui dan dipindah ke folder program yang direstui, lolos.
Sejalan dengan pertanyaan anda di atas, menurut saya ancaman terbesar justru dari client yang menggunakan UltraSurf dan Google Terjemahan.
CMIIW, semoga meng-inspirasi sambil berharap guru2 kita segera lewat sini.
dengan gabungan diatas pun ternyata masih belum sempurna ya kang -_-
User avatar
suryayusra
Posts: 394
Joined: 05 May 2010, 15:54
Location: Palembang, Indonesia
Contact:

Re: [ASK]Memaksa client harus lewat proxy lokal

Postby suryayusra » 03 Jan 2013, 15:33

di kantor saya juga dibuat rule bahwa komputer hanya bisa menggunakan proxy lokal (proxy kantor)

pertanya, kira2 isi squid.conf seperti ini:

http_port 8080 transparent
cache_dir ufs /var/spool/squid 128 16 256
cache_mem 8 MB
dns_nameservers 8.8.8.8
cache_log /var/log/squid/cache.log
cache_access_log /var/log/squid/access.log
cache_store_log /var/log/squid/store.log
cache_mgr suryayusra@binadarma.ac.id
acl all src 0.0.0.0/0.0.0.0
acl netku src 192.168.1.0/24
http_access allow netku
http_access deny all
visible_hostname proxy.binadarma.ac.id

kemudian jalankan rule iptables seperti ini

sudo iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -j MASQUERADE
sudo iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-port 8080

Who is online

Users browsing this forum: No registered users and 37 guests