[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: 136
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: 1963
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

pragola_pati wrote: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 :)

sayed wrote: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.

sipelaut wrote: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

PragolaPati wrote:@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

Return to “Ubuntu Server”

Who is online

Users browsing this forum: No registered users and 23 guests