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

[quote=pragola_pati]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 :)

[quote=sayed]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.

[quote=sipelaut]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