PDA

Показать полную графическую версию : прозрачный прокси


Страниц : [1] 2

cail
23-09-2008, 08:14
Proshu momoch.
Ya ustonovil squid 2.6 i firewall IPFW.
V squid confiqurachie ya dobavil tak chto b on iz konkretnix faylax bral ip adresa i domeni.
Oni v etix faylax
/usr/local/etc/squid/inet_full - ip adresa kotorie razreshennie plnostyu
/usr/local/etc/squid/inet_users - ip adresa ne s polnimi pravami
/usr/local/etc/squid/inet_icq - ip adresa kotorie razreshayu ispolzvovat ICQ
/usr/local/etc/squid/inet_restrict - ip adresa kotorie konkretno razresheno zayti v sayti kotorie v fayle domains_for_restrict
/usr/local/etc/squid/deny_domains - zapreshennie domain imena
/usr/local/etc/squid/deny_url - konkretno zapreshenniy URL
/usr/local/etc/squid/domains_for_restrict - domeni kotorie konkretnie ip adresa moqut zayti i kreome etix domenov nu kuda ne smoqut zayti

Vse eto qotovo i rabotaet . Squid otlichno podnimaetsya. No ya neznayu kak eto ispolzvovoat . V kakom poryadke ya doljen dobavit v eti fayli IP adresa i domeni v domen fayli i ICQ-usera i URL adres.
Pomoqite mne pojalyusta kak eto delat.
Na zaranee bolshoe sposibo.

Tosha_l
23-09-2008, 09:12
На клиентских машинах необходимо прописать в настройках браузера прокси сервера - IP - адрес вашего сервера FreeBSD. (Посмотреть его можно в rc.conf при этом указав порт 3128. (Если его не изменяли в squid.conf)

Точно также порт и IP адрес прописывается в настройках ICQ

cail
23-09-2008, 10:55
Da neet je eto prozrachniy proksi server
Obichniy server u menya na servake est i ya eto zanyu.
Ya nashet prozrachnoqo proksi servera.
V nem ne nado postavit v brauzere port i slyuz.
Server avtomaticheski beret vse Http i ftp i daje icq protokoli.
I u menya proz-iy proksi ochen xorosho podnimaetsya.
Ya tolko xoshu znat eqo ispolzvovoanie .
Ya v loqax viju vse loqi kuda ya zashel i chto delal
Prosto ne moqu zakrit domeni kotorie v squide ukazal fayl kotoriy otkuda on deoljen brat.
i inet_users klienti i domeins_for_restrict i icq_users.
Pomoqite proshu
Sposibo

BuGfiX
23-09-2008, 11:40
Насколько я знаю, при использовании "прозрачного" проксирования, вы теряете возможность ограничивать доступ к ресурсам средствами прокси сервера (хотя, могу ошибаться, и это касается только аутентификации). Попробуйте воспользоваться фаерволом (iptables). И покажите конфигурационный файл сквида (egrep -v '^$|^#' squid.conf).

Аlchemist
23-09-2008, 12:15
Попробуйте воспользоваться фаерволом (iptables) »
Смотрим на название раздела :drug:
Насколько я знаю, при использовании "прозрачного" проксирования, вы теряете возможность ограничивать доступ к ресурсам средствами прокси сервера (хотя, могу ошибаться, и это касается только аутентификации) »
У меня прозрачный прокси с аутентификацией по IP, средствами прокси-сервера.
Prosto ne moqu zakrit domeni kotorie v squide ukazal fayl kotoriy otkuda on deoljen brat. »
Не совсем понимаю задачу. Что и как нужно ограничить?

cail
23-09-2008, 14:52
eto moy squid.conf
/usr/local/etc/squid/squid.conf

# порт который слушаем
http_port 3128

# порт прозрачного прокси
http_port 3129 transparent

# список слов, которые будучи обнаруженными в URL
# вызывают обработку без кэширования
hierarchy_stoplist cgi-bin ?

# список ACL которые вызывают несовпадение с кэшем,
# и, запрос с ответом кэшироваться не будут
acl QUERY urlpath_regex cgi-bin \?

# собственно - правило что не кэшируем
no_cache deny QUERY

# сколько отдаём ему памяти
cache_mem 256 MB

# Директория для кэша, числа - размер кэша в Mb,
# число директорий первого уровня, число директорий второго
# уровня в каждой директории первого.
cache_dir ufs /usr/local/squid/cache 50000 64 512

# лог доступа - первый параметр путь, второй - формат
# форматы описаны в дефолтовом файле.
access_log /var/log/squid/access.log

# лог активности менеджера хранилища. Показывает, какие
# объекты были сохранениы/удалены из кэша и как долго.
# мне он не нужен, а места занимает прилично.
cache_store_log none

# файл hosts, проверяемый при запуске. Из него берётся
# доменное имя и добавляется к неполным адресам (которые
# не содержат ни одной точки в имени)
hosts_file /etc/hosts

# директория где хранятся HTML c текстами ошибок
error_directory /usr/local/etc/squid/errors/Russian-1251
cache_log /var/log/squid/cache.log

#debug_options ALL,5
pid_filename /var/log/squid/squid.pid

# порты на которе можно ходить пользователям
acl safe_ports port 80 # http
acl safe_ports port 21 # ftp
acl safe_ports port 443 # ssl
acl icq_ports port 5190 # ICQ

# пользователи у которых просто интернет - с ограничениями
acl inet_users src "/usr/local/etc/squid/inet_users"

# пользователи с полными парвами на доступ в инет
acl inet_full src "/usr/local/etc/squid/inet_full"

# Описываем все сети все IP
acl all src 0.0.0.0/0.0.0.0

# описываем локалхост
acl localhost src 127.0.0.1/255.255.255.255

# запрещённые в URL выражения (для всего УРЛа)
acl deny_url url_regex "/usr/local/etc/squid/deny_url"

# запрещённые доменные имена
acl deny_domains dstdomain "/usr/local/etc/squid/deny_domains"

# пользователи с ограниченным доступом в интернет, только
# определённый набор ресурсов и всё.
acl inet_restrict src "/usr/local/etc/squid/inet_restrict"

# список сайтов для тех у кого их определённый набор
acl domains_for_restrict dstdomain "/usr/local/etc/squid/domains_for_restrict"

# пользователи ICQ
acl inet_icq src "/usr/local/etc/squid/inet_icq"

# Разрешаем доступ ко всему группе inet_full
http_access allow inet_full

# Зарубаем запрещённые куски url, рубим рекламу если надо
#http_access deny deny_url

# Разрешаем асечный порт тем у кого есть аська
http_access allow inet_icq icq_ports

# зарубаем запрещённые домены
http_access deny deny_domains

# зарубаем все порты проме safe_ports
http_access deny !safe_ports

# разрешаем инет обычным пользователям
http_access allow inet_users

# разрешаем инет ограниченным пользователям на разрешённые сайты
http_access allow inet_restrict domains_for_restrict

# блокируем всё лишнее
http_access deny all

a eto iptables
#!/bin/sh
# при работе по SSH, чтобы перечитать конфиг набирать nohup sh /etc/rules

# Прежде, чем мы начнем, сбросим список
ipfw -q -f flush

# Установим префикс команды для набора правил
cmd="ipfw -q add"
skip="skipto 400"
wanip="111.111.111.111" # внешний IP
lannet="192.168.0.0/24" # внутренняя сеть
eif="rl0" # внешний интерфейс

# Нет запретов внутри интерфейса смотрящего в локальную сеть
$cmd 010 allow all from any to any via re0

# Нет ограничений на Loopback интерфейсе
$cmd 020 allow all from any to any via lo0

# Рубим попытки lo0 куда-то лезть и откуда-то лезть на lo0
$cmd 030 deny ip from any to 127.0.0.0/8
$cmd 040 deny ip from 127.0.0.0/8 to any

# отправляем всех на прозрачный squid
$cmd 050 fwd 127.0.0.1,3129 tcp from $lannet to any 21,80,443,5190 out via $eif

# Входящий NAT
$cmd 060 divert natd ip from any to any in via $eif

# Позволяем пакету проходить, если предыдущий был добавлен в
# "динамическую" таблицу правил с разрешением состояния keep-state
$cmd 070 check-state

############## Outgoing ################

# Исходящий PING
$cmd 100 $skip icmp from any to any keep-state

# Исходящий NTP
$cmd 105 $skip udp from any to any 123 out via $eif keep-state

# Разрешаем DNS
$cmd 110 $skip udp from any to any 53 out via $eif keep-state
$cmd 111 $skip tcp from any to any 53 out via $eif setup keep-state

# Выпускаем пользователей в обход сквида
$cmd 140 $skip all from $lannet to any 4899 out via $eif setup keep-state
$cmd 150 $skip all from $lannet to any 3389 out via $eif setup keep-state
$cmd 160 $skip all from $lannet to any 25 out via $eif setup keep-state
$cmd 170 $skip all from $lannet to any 110 out via $eif setup keep-state

# Разрешаем полный выход с сервака
$cmd 190 $skip all from $wanip to any out via $eif setup keep-state

############# Incoming ################

# Запрещаем весь входящий трафик из зарезервированных адресных пространств
$cmd 200 deny all from 192.168.0.0/16 to any in via $eif #RFC 1918 private IP
$cmd 201 deny all from 172.16.0.0/12 to any in via $eif #RFC 1918 private IP
$cmd 202 deny all from 10.0.0.0/8 to any in via $eif #RFC 1918 private IP
$cmd 203 deny all from 127.0.0.0/8 to any in via $eif #loopback
$cmd 204 deny all from 0.0.0.0/8 to any in via $eif #loopback
$cmd 205 deny all from 169.254.0.0/16 to any in via $eif #DHCP auto-config
$cmd 206 deny all from 192.0.2.0/24 to any in via $eif #reserved for docs
$cmd 207 deny all from 204.152.64.0/23 to any in via $eif #Sun cluster
$cmd 208 deny all from 224.0.0.0/3 to any in via $eif #Class D & E multicast

# Запрещаем ident
$cmd 215 deny tcp from any to any 113 in via $eif

# Запрещаем весь сервис Netbios. 137=имя, 138=дейтаграмма, 139=сессия
$cmd 220 deny tcp from any to any 137 in via $eif
$cmd 221 deny tcp from any to any 138 in via $eif
$cmd 222 deny tcp from any to any 139 in via $eif
$cmd 223 deny tcp from any to any 81 in via $eif

# Входящий пинг, несколько типов
$cmd 300 allow icmp from any to $wanip in via $eif icmptypes 0,8,11 limit src-addr 2

# Разрешаем входящую www функцию, если есть вэб сервер
$cmd 310 allow tcp from any to $wanip 80 in via $eif setup limit src-addr 2

# Разрешаем входящие безопасные SSH, номер порта лучше сменить
$cmd 320 allow tcp from any to $wanip 22 in via $eif setup limit src-addr 2

# Разрешаем входящую почту SMTP, если есть почтовый сервер
$cmd 330 allow tcp from any to $wanip 25 in via $eif setup limit src-addr 2

# Разрешаем входящую почту POP3, если есть почтовый сервер
$cmd 340 allow tcp from any to $wanip 110 in via $eif setup limit src-addr 2

# Разрешаем RAdmin, номер порта лучше сменить
$cmd 350 allow tcp from any to $wanip 4899 in via $eif setup limit src-addr 2

# Разрешаем уже установленные соединения
$cmd 360 allow all from any to any established

########### Final ###############

# рубим все, что не ушло в скип
$cmd 399 deny log all from any to any

# Исходящий NAT
$cmd 400 divert natd ip from any to any out via $eif

# Выпускаем пакеты из скипа
$cmd 410 allow all from any to any

# Режем все лишнее с занесением в лог
$cmd 999 deny log all from any to any

vse eto u menya otlichno rabotaet
No esli ya xochu zakrit konkretniy url adres kak mne napisat URL adres na /usr/local/etc/squid/deny_url -fayle v smisle sintaksis napisanie
Ya probuyu che to ne idet.
v /usr/local/etc/squid/inet_full -fayle ya napisal svoy ip adres i vse logi otlichno ucidel.
No po princhipu ustanovki esli ya kakoy to ip adres poloju v /usr/local/etc/squid/inet_users -fayl
to domeni kotorie ya napisal v /usr/local/etc/squid/deny_domains -fayle ne doljni otkrivatsya
i daje /usr/local/etc/squid/inet_icq -ip adresa kotorie v etom fayle est doljni rabotat a druqie net.
Ya stavlyu ip adres no vse ravno ne rabotaer icq.
A v fayle /usr/local/etc/squid/domains_for_rstrict -napisani domennie adresa kotorie krome nix ni kakoy domen ne budet otrivatsya .i tolko eti domene moqut otkrivat ip adresa kotorie lejat v fayle /usr/local/etc/squid/inet_restrict.
No ya vse eto proboval .
Sintaksis neznayu restrict pochti chto zarabotal. No choto rambler.ru i google.ru ne poshlo.
Ya dumayu chto v faerwole i v squide net problema . Potomu chto v /var/log/messages pokazivaet chto squid startoval otlichno

Аlchemist
23-09-2008, 15:36
До боли знакомый конфиг :cool:
Позаимствовано с опеннета. У меня там косяк с icq, статью правил, но исправления чет не применились до сих пор...
Тут более адекватно написал: http://itchief.blog.ru/9413459.html

cail
23-09-2008, 15:38
Nu esli konfig znakomiy to mojet podskajete kak sintaksis dobavlenie v fayli domeni i url adresi i polzovateley ICQ

i v rinet konfige chto eto za ip adresa podkajite proshu 213.221.56.98 4899 192.168.0.100 4899
sposibo na zaranee.

Аlchemist
23-09-2008, 15:44
No esli ya xochu zakrit konkretniy url adres kak mne napisat URL adres na /usr/local/etc/squid/deny_url -fayle v smisle sintaksis napisanie »

[15:44] mail /home/alchemist # cat /usr/local/etc/squid/deny_url
# url на котоые нельзя никому кроме тех у кого полный доступ
#
# ya[a-z/0-9/-]+dex\.ru диапазон буквы (мелкие), цифры и дефис
# ya.+ex\.ru - всё что начинается на ya и кончается на ex.ru
# объединение (gaz|plan)(eta) порубаются gazeta planeta
# Ахтунг! Длинна строки имеет ограничения, когда оно превышено он
# тупо отсекает лишнюю часть и ругается на несбалансированные
# скобки (у меня такое было на регулярных выражениях)
# из скивдгарда - реклама
/ads/
/ad/
/banner/
/sponsor/
/event.ng/
/Advertisement
/adverts/

#из сквидгарда - аудио-видео
\.(ra?m|wma|mp2|mpv2|mp3|asx)($|\?)
\.(mpe?g?|wmv|mov|movie|qt|avi|dvd?|divx|flv|iflv)($|\?)
\.(iso|exe|vbs)($|\?)

-это для запрета всякой рекламы, куски фраз из урла...

Если нужно закрыть доступ к домену, то его нужно занести в deny_domains по типу: .domain.ru

cail
23-09-2008, 15:50
toist icq ne zarabotaet daaa?

ya etu statyu vzyal iz dgtall.ru

i oqromnoe sposibo tomu kto eto napisal.
Ya ne vzaimstvoval ya prosto prochital i nachil ustanovit.
ya dumal chtp vse poluchetsya pomotu chto vse bilo na leqkom yazike.
I jal chto ICQ razqovori ne popadayut v loqi

Аlchemist
23-09-2008, 15:53
i v rinet konfige chto eto za ip adresa podkajite proshu 213.221.56.98 4899 192.168.0.100 4899 »
это внешний ip и порт, которые пробрасываются на внутренний сервак

cail
23-09-2008, 15:58
v etix faylax kak budto ne rabotaet 1-iy i 2-oy stolbech
ya v deny_domains stavlyu mail.ru ne rabotaet on otkrivaetsya a cherez 2 probela zarabotala

toist eto 213.221.56.98 -vneshniy
a eto 192.168.0.100 -vnutrenniy da?

Аlchemist
23-09-2008, 16:01
toist icq ne zarabotaet daaa? »
Говорю ж, поторопился я с публикацией статьи... позже аську вырезал, но переделывать под нее конфиг сквида не стал т.к. разрулил все через ipfw:
$cmd 130 $skip all from $lannet to any 5190 out via $eif setup keep-state

ya etu statyu vzyal iz dgtall.ru »
не докторская диссертация, но все же неприятно когда копирайты не ставятся и выдается за свое =\

cail
23-09-2008, 16:01
i kak tolko stavlyu u sebya shlyuz prozrachnoqo proksi i tut avtomaticheski otklyuchateysa i mail aqent i aska

Аlchemist
23-09-2008, 16:03
ya v deny_domains stavlyu mail.ru ne rabotaet on otkrivaetsya a cherez 2 probela zarabotala »
.mail.ru
точку в начале ставить нужноtoist eto 213.221.56.98 -vneshniy
a eto 192.168.0.100 -vnutrenniy da? »
ну ни наоборот же =)

i kak tolko stavlyu u sebya shlyuz prozrachnoqo proksi i tut avtomaticheski otklyuchateysa i mail aqent i aska »
Повторюсь: http://itchief.blog.ru/9413459.html - это первоисточник, более актуальный, у меня несколько серверов по этой схеме работают.

cail
23-09-2008, 16:21
dopustim ya xochu chto b umenya etot url ne otkrilsya ya tak doljen napisat v
ee deny_url

http://www.kusto.ru/news/32/

i vse?

i ya v deny_domains postavil

# Zapretnie domena
.mail.ru
.mincom.gov.az

vse ravno otkilsya u menya eti sayti

No vse ravno oqromnoe sposibo vam

cail
23-09-2008, 16:38
Sposibo za to chto napisali etu statyu eto prosto super dlya novichkov

cail
23-09-2008, 16:53
no vse ravno zapreshennie domen adresa otkrivaetsya

Аlchemist
23-09-2008, 17:20
no vse ravno zapreshennie domen adresa otkrivaetsya »
Есть два варианта решения проблемы:
1) поднять правило с deny_domains в самый верх
2) создать правило и список deny_domains_all (что предпочтительнее и более гибко)

cail
23-09-2008, 17:50
1-variant ne poluchilsya

Sposibo oqromnoe Vam Alchemist perviy variant poluchilsya
Vi ochen umniy chelovek

Teper u menya ostalsya problema s ICQ i URL-m .
No mae rabochee vremya zakonchilsya i ya vinujden uyti.
Zavtra pridu.
Poka . i esho raz oqromnoe sposibo




© OSzone.net 2001-2012