запретить ходить мимо прокси.

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
qwertykma
мл. сержант
Сообщения: 93
Зарегистрирован: 2009-06-19 13:14:04
Откуда: почти С-Пб

запретить ходить мимо прокси.

Непрочитанное сообщение qwertykma » 2009-11-17 16:46:12

Добрый день!
Есть желание запретить ходить всем мимо прокси. Но есть несколько "избранных" которые должны ходить мимо прокси, при этом нет желания делать "прозрачное" проксирование. Как я хочу сделать:
1. разделить сеть на две подсети: 192.168.1.0/26, т.о. я получу адреса от .1 до 62
и настроить ipfw т.о:

Код: Выделить всё

ipfw add 1 allow ip from 192.168.1.0/26 to any
ipfw add 2 deny ip from 192.168.1.0/24 to any 80,8080 via rl0 
(rl0 - внутренная сетевушка)

Я думаю так, что пакет из сети с ай-пи с 1 по 62 попадет под первое правило и пройдет, а если ай-пи с 64 до 254 он попадет под второе правило, и не сможет будет завернут, а через прокси ,т.е. 3128 - всегда пожалуйста.
Сервер рабочий, ставить эксперименты м.б. черевато боком, поэтому если есть явные "косяки" в моим измышления - укажите, буду благодарен.
Последний раз редактировалось Alex Keda 2009-11-17 17:26:08, всего редактировалось 1 раз.
Причина: Товарисчи, цените чужое время, юзайте кнопочку [code]...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Amadeus
ст. сержант
Сообщения: 331
Зарегистрирован: 2008-10-05 12:42:44
Откуда: Kiev

Re: запретить ходить мимо прокси.

Непрочитанное сообщение Amadeus » 2009-11-17 17:04:04

А зачем изобретать велосипед?
Не проше ли закрыть во вне всем 80 порт, пустить всех через прокси, а избранным

Код: Выделить всё

ipfw add 00010 allow ip from any to IP
ipfw add 00010 allow ip from IP to any
?
Нет ничего невозможного

qwertykma
мл. сержант
Сообщения: 93
Зарегистрирован: 2009-06-19 13:14:04
Откуда: почти С-Пб

Re: запретить ходить мимо прокси.

Непрочитанное сообщение qwertykma » 2009-11-17 17:07:47

Amadeus писал(а):А зачем изобретать велосипед?
Не проше ли закрыть во вне всем 80 порт, пустить всех через прокси, а избранным

Код: Выделить всё

ipfw add 00010 allow ip from any to IP
ipfw add 00010 allow ip from IP to any
?
поэтому и спросил, много умов лучше одного 8)
т.е. вместо IP я должен подставить 192.168.1.0/26?

ivan__
сержант
Сообщения: 234
Зарегистрирован: 2009-08-11 15:48:32
Откуда: Питер

Re: запретить ходить мимо прокси.

Непрочитанное сообщение ivan__ » 2009-11-17 17:08:53

qwertykma писал(а): ipfw add 1 allow ip from 192.168.1.0/26 to any
ipfw add 2 deny ip from 192.168.1.0/24 to any 80,8080 via rl0 (rl0 - внутренная сетевушка)
Так делать нельзя. Проще пропустить "избранных" по ip, а остальным все запретить. И не на внутреннем а на внешнем интерфейсе.

Аватара пользователя
Amadeus
ст. сержант
Сообщения: 331
Зарегистрирован: 2008-10-05 12:42:44
Откуда: Kiev

Re: запретить ходить мимо прокси.

Непрочитанное сообщение Amadeus » 2009-11-17 17:11:42

Нет

Код: Выделить всё

ipfw add 00010 allow ip from 192.168.1.1 (адрес клиента) to any
         ipfw add 00020 allow ip from any to 192.168.1.1 (адрес клиента)
Нет ничего невозможного

qwertykma
мл. сержант
Сообщения: 93
Зарегистрирован: 2009-06-19 13:14:04
Откуда: почти С-Пб

Re: запретить ходить мимо прокси.

Непрочитанное сообщение qwertykma » 2009-11-17 17:15:31

т.е. по одному ай-пи. А если их 20 ПК то мне проще сделать "прозрачный" прокси.

Аватара пользователя
Amadeus
ст. сержант
Сообщения: 331
Зарегистрирован: 2008-10-05 12:42:44
Откуда: Kiev

Re: запретить ходить мимо прокси.

Непрочитанное сообщение Amadeus » 2009-11-17 17:16:46

20 избраных ип?:)

сквида как поднята? если к примеру самс стоит делаешь отдельный шаблон со снятыми всеми ограничениями,
В этом случае, сквид выступает только для кеширования. Ничего не запрешается
Последний раз редактировалось Amadeus 2009-11-17 17:21:19, всего редактировалось 1 раз.
Нет ничего невозможного

qwertykma
мл. сержант
Сообщения: 93
Зарегистрирован: 2009-06-19 13:14:04
Откуда: почти С-Пб

Re: запретить ходить мимо прокси.

Непрочитанное сообщение qwertykma » 2009-11-17 17:20:47

точнее 21 8) Стольким людям нельзя ничего запрещать.

Аватара пользователя
Amadeus
ст. сержант
Сообщения: 331
Зарегистрирован: 2008-10-05 12:42:44
Откуда: Kiev

Re: запретить ходить мимо прокси.

Непрочитанное сообщение Amadeus » 2009-11-17 17:35:33

если ип 21, то лучше сделать отдельным ничего не запрешающим шаблоном, так как такое кол-во прямых доступов будет являтся основанием для еще 1 действия, привязки по макам.
Нет ничего невозможного

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: запретить ходить мимо прокси.

Непрочитанное сообщение reLax » 2009-11-17 19:45:52

Делается достаточно просто, на примере NTLM-авторизации + прозрачного прокси:

squid.conf

Код: Выделить всё

http_port 172.17.2.100:8080 transparent
...
auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of=S-1-5-21-1390067357-1425521274-682003330-1249
auth_param ntlm children 30
auth_param ntlm keep_alive off
auth_param basic program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of=S-1-5-21-1390067357-1425521274-682003330-1249
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
...
acl NTLMauth proxy_auth REQUIRED
...
acl NAT src "/usr/local/etc/squid/NAT"
...
http_access allow NAT
http_access allow NTLMauth
...
http_access deny  all
То есть делим на 2 части - кто идет без явного указания прокси и кто идет с явным указанием.
Файл /usr/local/etc/squid/NAT содержит IP-адреса, кому разрешено использовать прозрачный прокси.
Или как сказал Amadeus - можно использовать фильтр по MAC-адресам. В таком случае поменяется только эта строка, куда соответственно пишутся MAC-адреса:

Код: Выделить всё

acl NAT arp "/usr/local/etc/squid/NAT"
Далее pf (ipfw я не использую). Помимо остальных правил разрешения/запрета трафика это основное:

Код: Выделить всё

 
rdr on $IntIf inet proto tcp from $IntIf:network to !$IntIf port 80 -> $IntIf port 8080
И следует учитывать, что, например HTTPS таким образом указать не удастся, придется разрешать в FW его отдельно.

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: запретить ходить мимо прокси.

Непрочитанное сообщение reLax » 2009-11-17 21:36:23

Если нету авторизации на Squid. Ну еще тогда проще.
pf

Код: Выделить всё

table <HTTPOVERNAT> persist file "/etc/pf/httpovernat"
...
rdr on $IntIf inet proto tcp from <HTTPOVERNAT>  to !$IntIf  port 80  -> $IntIf port 8080
...
block return  in log quick on $IntIf inet proto tcp from !<HTTPOVERNAT> to any port 80
...
block return log on $IntIf
...
и т.д. и т.п.

ivan__
сержант
Сообщения: 234
Зарегистрирован: 2009-08-11 15:48:32
Откуда: Питер

Re: запретить ходить мимо прокси.

Непрочитанное сообщение ivan__ » 2009-11-18 0:24:30

qwertykma писал(а):т.е. по одному ай-пи. А если их 20 ПК то мне проще сделать "прозрачный" прокси.
Тогда создай таблицу с этими ip-шниками и рули с таблицей. Или раздай им ip последовательно и задай как переменную.

qwertykma
мл. сержант
Сообщения: 93
Зарегистрирован: 2009-06-19 13:14:04
Откуда: почти С-Пб

Re: запретить ходить мимо прокси.

Непрочитанное сообщение qwertykma » 2009-11-18 9:23:00

2 reLax Они вообще не должны попадать на прокси, иначе скандал. 8)

Аватара пользователя
dmins
рядовой
Сообщения: 42
Зарегистрирован: 2009-11-10 14:13:56

Re: запретить ходить мимо прокси.

Непрочитанное сообщение dmins » 2009-11-18 10:06:51

господи , что тут голову ломать не понимаю, просто банально в ipfw закрываешь 80порт. А нужных юзеров пропускаешь и нечего лишние таблицы со списками ипшников составлять, оно тебе надо? если можно все сделать в одном конфиге фаера.

Код: Выделить всё

add 4400 allow tcp from IP_юзера_которому можно по 80 to any in via fxp0
add 4500 allow tcp from IP_юзера_которому можно по 80 to any in via fxp0
add 5000 deny tcp from any to any 80 in via fxp0 

где  "fxp0" внутренний интерфейс.
и т.д 21 ipшник не проблема вбить, дело 2ух минут, зато без всяких паровозов. ну иМхо конечно!
наше государство, нас же и е*ет...

Аватара пользователя
Shuba
ст. сержант
Сообщения: 365
Зарегистрирован: 2008-03-25 10:58:21
Откуда: Минск
Контактная информация:

Re: запретить ходить мимо прокси.

Непрочитанное сообщение Shuba » 2009-11-18 13:19:35

dmins писал(а):господи , что тут голову ломать не понимаю, просто банально в ipfw закрываешь 80порт. А нужных юзеров пропускаешь и нечего лишние таблицы со списками ипшников составлять, оно тебе надо? если можно все сделать в одном конфиге фаера.

Код: Выделить всё

add 4400 allow tcp from IP_юзера_которому можно по 80 to any in via fxp0
add 4500 allow tcp from IP_юзера_которому можно по 80 to any in via fxp0
add 5000 deny tcp from any to any 80 in via fxp0 

где  "fxp0" внутренний интерфейс.
и т.д 21 ipшник не проблема вбить, дело 2ух минут, зато без всяких паровозов. ну иМхо конечно!
имхо как раз таблицей оптимальный вариант, конфиг фаера гораздо легче читаем будет
Вот у меня реализовано так:

Код: Выделить всё

# В /etc/inet_users находятся адреса компов, которым разрешён доступ в интернет через NAT
table <inet_comps> persist file "/etc/inet_comps"
...
nat on $ext_if inet proto { tcp, udp } from <inet_comps> to any -> $ext_if

Код: Выделить всё

[shuba@shluz ~]$ cat /etc/inet_comps
192.168.2.6     # Комп Алексея
192.168.0.200   # CallCentre
192.168.1.3     # Alex Home
192.168.2.50    # Рабочая лошадка
Сила ночи, сила дня - одинакова фигня!