News:

Никогда не спорьте с дураком - люди могут не заметить между вами разницы.

Main Menu

squid или iptables

Started by Григорий, 20 December 2018, 09:44

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Григорий

 вопрос такой, Школа купила телевизор DEXP, с  сетевой картой. надо что б был в нем инет. установлен в учреждении обычный(не прозрачный) проксик squid на Дебиане 8. вопрос как пропустить этот аппарат в интернет минуя прокси, у него не нашел возможности настройки прокси..
вариант был такой, что сделать прозрачный проксик, но потом оббегать все компы и снимать галочки. ну как вариант.
второй проковырять "отверстие" в iptables, внутрисетевой адрес телевизора статический

Уваров А.С.

Пустите его напрямую, через iptables, так будет проще или нужно фильтровать на него трафик?

Кстати в squid можно совмещать прозрачный и непрозрачный прокси, просто добавьте еще один порт с нужными настройками.

Григорий

Quote from: Уваров А.С. on 20 December 2018, 18:58Пустите его напрямую, через iptables, так будет проще или нужно фильтровать на него трафик?

а какие правила дописать в конце надо?

Кстати в squid можно совмещать прозрачный и непрозрачный прокси, просто добавьте еще один порт с нужными настройками.
это как так? можно? вообще конечно хотелось бы фильтрацию сделать, но времени нет на это. хотя  от вас бы статью свежую как подружить DG и SQuid и где брать белые списки для детей

Уваров А.С.

Со squid с несколькими видами подключения все просто:

Quotehttp_port 192.168.31.100:3128
http_port 192.168.31.100:3129 intercept

Единственно, нужно потом грамотно развести пришедших с разных портов по правилам. А вот это может быть уже совсем непросто.

Про DG в текущих реалиях можно забыть, уже совсем скоро HTTP-протокол останется практически не у дел, крупные корпорации прикладывают к этому значительные усилия. И, в общем, это правильно. Пользователи привыкли получать интернет везде и не сильно думать о безопасности, а HTTP в публичных открытых сетях - это как на стене написать.

Для детей я использую SkyDNS, домашний тариф стоит вообще копейки. Довольно эффективно, кроме того, что мне нравится, включает принудительно безопасный режим на YouTube. Потому как сын, хоть еще и в третьем классе, но на своем компе имеет полный доступ и активно изучает (читай - курочит и переустанавливает) систему. Препятствовать ему в этом я смысла не вижу (все лучше чем в игрушки или зависать в сети), но хочу быть спокоен насчет получаемого им контента. В этом плане SkyDNS неплох, плюс свои списки на роутере, как белые, так и черные.

Григорий

Quote from: Уваров А.С. on 21 December 2018, 22:35Для детей я использую SkyDNS, домашний тариф стоит вообще копейки. Довольно эффективно, кроме того, что мне нравится, включает принудительно безопасный режим на YouTube. Потому как сын, хоть еще и в третьем классе, но на своем компе имеет полный доступ и активно изучает (читай - курочит и переустанавливает) систему. Препятствовать ему в этом я смысла не вижу (все лучше чем в игрушки или зависать в сети), но хочу быть спокоен насчет получаемого им контента. В этом плане SkyDNS неплох, плюс свои списки на роутере, как белые, так и черные.

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

Уваров А.С.

Quote from: zgbgr on 22 December 2018, 15:33это хорошо для дома, а для учебного заведения, смог прикрутить только яндекс-днс. ибо бесплатен. а скайднс платен даже для школ.

На мой взгляд это не является препятствием, как специализированный DNS СкайДнс на голову превосходит безопансый Яндекс и прочих, понятно, что на "общественных" началах такой проект долго не протянет, да и цены вполне адекватные.

Здесь нужно принять для себя и донести наверх важную мысль, что ничего бесплатного не бывает, так или иначе за все надо платить. Или мы покупаем готовое решение за NNN - руб, или пытаемся соорудить аналог сами, тратя на это рабочее время и неся определенные риски.

Скажем так, самостоятельно поддерживать базу серых и черных списков практически нереально, общедоступные бесплатные сервисы не дают надежной фильтрации, так как рассчитаны на "среднего" пользователя и его понятиях о безопасном интернете.

Так что я не вижу выхода, кроме как приобретать коммерческие решения или переходить на схему белых списков, что тоже достаточно неудобно в поддержке.

Григорий

Quote from: Уваров А.С. on 22 December 2018, 16:00На мой взгляд это не является препятствием, как специализированный DNS СкайДнс на голову превосходит безопансый Яндекс и прочих, понятно, что на "общественных" началах такой проект долго не протянет, да и цены вполне адекватные.

Здесь нужно принять для себя и донести наверх важную мысль, что ничего бесплатного не бывает, так или иначе за все надо платить. Или мы покупаем готовое решение за NNN - руб, или пытаемся соорудить аналог сами, тратя на это рабочее время и неся определенные риски.

Скажем так, самостоятельно поддерживать базу серых и черных списков практически нереально, общедоступные бесплатные сервисы не дают надежной фильтрации, так как рассчитаны на "среднего" пользователя и его понятиях о безопасном интернете.

Так что я не вижу выхода, кроме как приобретать коммерческие решения или переходить на схему белых списков, что тоже достаточно неудобно в поддержке.
это понятно да и директор это понимает, но упирается в деньги, поскольку учреждение казенное, то деньги дает город и в основном на ЗП. да по идее сейчас и нужды то в проксе как таковой нет. по идее...


Уваров А.С.

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

Григорий

Quote from: Уваров А.С. on 24 December 2018, 15:00Ну это знакомо, в бюджете у нас все по принципу "денег нет - но вы там держитесь", зато как сверху спустят очередной циркуляр, так сразу начнется беготня и требования сделать все "как надо" еще вчера. 
ну да. для себя попробую скай-днс, что б дети за игрушками не сидели, флэшевыми.
для школы позвонили мне озвучили цену, все грустно оказалось. цена даже больше чем за лицензионного каспера.

Gdalex

Добрый день!
Народ, помогите, пожалуйста.
Есть сервер на Ubuntu Server 14.04. На нем Squid3. Адрес сервера 10.1.1.15. Все, кто находится в подсети 10.1.1.0 спокойно выходят в интернет, все, кто в других подсетях (10.1.0.0) - получают отказ от сервера:
1569234494.090     31 10.1.10.52 TCP_MISS/500 0 CONNECT google.com:443 - HIER_DIRECT/173.194.73.138 -
1569234528.899      1 10.1.10.52 TCP_MISS_ABORTED/000 0 GET http://google.com/ - HIER_DIRECT/173.194.73.138 -
1569235964.658     38 10.1.10.52 TCP_MISS/500 0 CONNECT iecvlist.microsoft.com:443 - HIER_DIRECT/152.199.19.161 -
1569236000.707     59 10.1.10.52 TCP_MISS/500 0 CONNECT ieonline.microsoft.com:443 - HIER_DIRECT/204.79.197.200 -
или
1569238220.912      0 10.1.21.14 TCP_MISS_ABORTED/000 0 GET http://security.ubuntu.com/ubuntu/dists/trusty-security/multiverse/source/Sources.diff/Index - HIER_DIRECT/91.189.88.162 -
1569238220.916      0 10.1.21.14 TCP_MISS_ABORTED/000 0 GET http://ru.archive.ubuntu.com/ubuntu/dists/trusty/Release - HIER_DIRECT/213.180.204.183 -

Настройки Squid:
acl localnet src 10.1.0.0/16
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21 # http
acl Safe_ports port 443 # ftp
acl Safe_ports port 70 # https
acl Safe_ports port 210 # gopher
acl Safe_ports port 1025-65535 # wais
acl Safe_ports port 280 # unregistered ports
acl Safe_ports port 488 # http-mgmt
acl Safe_ports port 591 # gss-http
acl Safe_ports port 777 # filemaker
acl CONNECT method CONNECT # multiling http
http_access allow all
http_access allow localnet
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny to_localhost
http_port 10.1.1.15:3128
cache_mem 512 MB
maximum_object_size_in_memory 512 KB
cache_dir ufs /var/spool/squid3 2048 16 256
maximum_object_size 4 MB
access_log daemon:/var/log/squid3/access.log squid
logfile_rotate 31
coredump_dir /var/spool/squid3
refresh_pattern ^ftp:              1440    20%     10080
refresh_pattern ^gopher:   1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0        0%      0
refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880
refresh_pattern .          0       20%     4320
dns_v4_first on

Облазил весь интернет, все, что советовали, испробовал. Только не помогло.

Уваров А.С.

Судя по этому у вас нет подсетей, а есть одна сеть 10.1.0.0/16

Теперь вопросы:

1. Сетевые настройки сервера
2. Сетевые настройки клиентов

Это раз.

Вот это должно пускать всех и везде:

http_access allow all
Все остальные правила после него бессмысленны. По хорошему следует его убрать и задать более узкие правила доступа.

А последним списком доступа должно стоять

http_access deny all
иначе будет применено правило противоположное последнему списку.

Рекомендуем внимательно прочитать это: https://interface31.ru/tech_it/2015/06/kak-ustroena-i-rabotaet-sistema-kontrolya-dostupa-v-squid.html

Также можно включить отладку:

debug_options ALL,1 33,2 28,9
И посмотреть в cache.log подробное прохождение запроса по спискам.

Gdalex

#11
Quote from: Уваров А.С. on 23 September 2019, 15:46Также можно включить отладку:
debug_options ALL,1 33,2 28,9И посмотреть в cache.log подробное прохождение запроса по спискам.

Вот, что я нашел после включения отладки:
2019/09/24 08:45:18.007| client_side.cc(2385) connReadWasError: connReadWasError: FD local=10.1.1.15:3128 remote=10.1.21.14:36295 FD 23 flags=1: got flag -1
2019/09/24 08:45:18.007| client_side.cc(778) swanSong: local=10.1.1.28:3128 remote=10.1.21.14:36295 flags=1
2019/09/24 08:45:18.007| FilledChecklist.cc(77) ~ACLFilledChecklist: ACLFilledChecklist destroyed 0x5621121dfae8
2019/09/24 08:45:18.007| Checklist.cc(334) ~ACLChecklist: ACLChecklist::~ACLChecklist: destroyed 0x5621121dfae8
[color=red]
2019/09/24 08:45:18.079| Eui48.cc(262) lookup: Looking up ARP address for 10.1.21.14 on em1
2019/09/24 08:45:18.079| Eui48.cc(537) lookup: 10.1.21.14 NOT found
[/color]
2019/09/24 08:45:18.079| FilledChecklist.cc(77) ~ACLFilledChecklist: ACLFilledChecklist destroyed 0x7ffcc52c22c0
2019/09/24 08:45:18.079| Checklist.cc(334) ~ACLChecklist: ACLChecklist::~ACLChecklist: destroyed 0x7ffcc52c22c0
Смутили строки, выделенные красным. При этом компьютер пингуется и доступен:
traceroute to 10.1.21.14 (10.1.21.14), 30 hops max, 60 byte packets
 1  10.1.1.210 (10.1.1.210)  0.509 ms  0.512 ms  0.503 ms
 2  10.1.13.253 (10.5.13.253)  1.157 ms  1.149 ms  1.396 ms
 3  10.5.21.14 (10.5.21.14)  1.070 ms  1.062 ms  1.051 ms

Вот тут-то и собака была зарыта. Огромное Вам спасибо. После переустановки сервера забыл добавить статический маршрут:
route add -net 10.1.0.0 netmask 255.255.0.0 gw 10.1.1.254
Теперь все работает.

Уваров А.С.

Вот и хорошо, теперь не забудьте выключить отладку, чтобы вам лог не раздувало.