|
|
Все о софте Обсуждение программного обеспечения, проблемы и их решения - здесь. |
|
Опции темы |
#1 | |
Завсегдатай
Информация
![]() |
Установка proxy сервера squid с авторизацией по паролю под UNIX
В топике Авангарда Прокси серверы "быстрых" абонентов - открываем!! -
Итак руководство к действию под unix ![]() 1. Чтобы все подходило под практически любой *nix Качаем сами сырцы squid отсюда - 2. Распаковываем в какую-то директорию. Делаем ./configure --help, счотрим, что вам по душе. Я собирал с такими параметрами.. Код:
./configure --prefix=/usr/local/squid-auth --enable-default-err-language=Russian-koi8-r --enable-err-languages=Russian-koi8-r --disable-internal-dns -enable-basic-auth-helpers=NCSA 3. cd /usr/local/squid-auth - тут наш proxy в каталоге ./etc - конфиги ./libexec - убедимся в наличие модуля авторизации ncsa_auth ./sbin - сам бинарник squid ./var - тут будут логи и кэш в неупомянутые каталоги пока лазить не к чему ![]() squid будет работать от пользователя nobody (в принципе этот пользователь есть наверно в каждом дистрибутиве по умолчанию) но все-таки проверьте что он есть, так на всякий случай. Проверить можно командой Код:
mik@m1k:/usr/local/squid-auth$ cat /etc/passwd | grep nobody nobody:x:99:99:nobody:/: 4. Итак, чтобы squid от пользователя nobody мог писать логи и кэш делаем от рута команду Код:
chown -R nobody /usr/local/squid-auth/var В конфиге буду подписывать важные моменты.. Код:
#порт где будет висеть proxy http_port 3128 acl QUERY urlpath_regex cgi-bin \? acl LOCALS url_regex my\.localcomputer\.com no_cache deny QUERY no_cache deny LOCALS cache_mem 250 MB cache_dir ufs /usr/local/squid-auth/var/cache 300 16 256 cache_access_log /usr/local/squid-auth/var/logs/access.log cache_log /usr/local/squid-auth/var/logs/cache.log cache_store_log /usr/local/squid-auth/var/logs/store.log pid_filename /usr/local/squid-auth/var/logs/squid.pid #параметры авторизации auth_param basic program /usr/local/squid-auth/libexec/ncsa_auth #путь к файлу где прописаны пользователи и их пароли /usr/local/squid-auth/etc/squid_users #число процессов для пользователей.. Если одновременных пользователей больше 5 то squid для 6 пользователя уже будет недоступен.. auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours #путь до файлов с ошибками error_directory /usr/local/squid-auth/share/errors/Russian-koi8-r #примеры различных разрешенных портов или сетей, нужные порты откройте или уберите.. acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 563 22 6667 1352 5190 acl Safe_ports port 80 8080 3128 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 22 6666 6667 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_nports port 280 # http-mgmtun acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT #указание сети с которой к нам можно присоединяться без авторизации acl net src 192.168.0.0/255.255.255.0 # указание для пользователей авторизации acl MYUSERS proxy_auth REQUIRED #пропуск для указанных выше портов. Порядок http_acces ВАЖЕН. Сверху вниз пропускаем или запрещаем.. http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports #пропускаем без авторизации доверенную сеть пока закоментируем, пропуск только по паролю #http_access allow net #пропуск авторизовавшихся пользователей http_access allow MYUSERS #все что не попало под наши указания запрет http_access deny all #ну или пропуск =) Если что-то не работает, то лучше это правило двигайте вверх ##http_access allow all #не помню уже что значит эти 3 строчки =) может и не нужны.. http_reply_access allow all icp_access deny all miss_access allow all #от какого пользователя запущен squid cache_effective_user nobody cache_effective_group nobody coredump_dir /usr/local/squid-auth/var/cache Запускаем из под рута ./sbin/squid -z через некоторое время в ./var/cache должны появиться директории 00 01 & etc 7. Создаем пустой файлик в ./etc/squid_users а вот тут самое интересное.. Чтобы сгенерировать шифрованный пароль для пользователя надо воспользоваться утилитой htpasswd, которая идет вместе с web сервером apache.. Как по другому сделать я не знаю. Ставить из-за этого apache или искать бинарник в инете решать вам.. Я просто напишу строку как генерить пользователя test с паролем test Код:
htpasswd -n test New password: Re-type new password: test:v7nO2.ZNM9du. 8. Запускаем squid как демон, командой ./sbin/squid -D сперва смотрим директорию логов, находим в файле лога cache.log примерно такое Код:
2008/03/29 00:16:40| Accepting proxy HTTP connections at 0.0.0.0, port 3128, FD 20. 2008/03/29 00:16:40| Accepting ICP messages at 0.0.0.0, port 3130, FD 21. 2008/03/29 00:16:40| WCCP Disabled. 2008/03/29 00:16:40| Ready to serve requests. 2008/03/29 00:16:41| Done reading /usr/local/squid-auth/var/cache swaplog (540 entries) 2008/03/29 00:16:41| Finished rebuilding storage from disk. 2008/03/29 00:16:41| 539 Entries scanned 2008/03/29 00:16:41| 0 Invalid entries. 2008/03/29 00:16:41| 0 With invalid flags. 2008/03/29 00:16:41| 539 Objects loaded. 2008/03/29 00:16:41| 0 Objects expired. 2008/03/29 00:16:41| 0 Objects cancelled. 2008/03/29 00:16:41| 1 Duplicate URLs purged. 2008/03/29 00:16:41| 0 Swapfile clashes avoided. 2008/03/29 00:16:41| Took 1.2 seconds ( 435.7 objects/sec). 2008/03/29 00:16:41| Beginning Validation Procedure 2008/03/29 00:16:41| Completed Validation Procedure 2008/03/29 00:16:41| Validated 538 Entries 2008/03/29 00:16:41| store_swap_size = 7744k 2008/03/29 00:16:42| storeLateRelease: released 0 objects Любое изменение в конфиге squid.conf надо перезапускать squid. Корректней всего командой ./sbin/squid -k reconfigure выключить proxy ./sbin/squid -k shutdown 10. Прописываем squid стартовать при запуск вашей ОС.. Удачи! Ну и поправьте меня если что забыл.. Последний раз редактировалось kokorom; 16.04.2008 в 23:19.. |
![]() |
![]() |
#2 | |
Долгожитель
Информация
![]() |
А теперь руководство к действию под windows... Кто напишет?
|
![]() |
![]() |
#3 | |
Мастер
Информация
![]() |
Скрыто содержимое: OFF |
![]() |
![]() |
#4 | |
Долгожитель
Информация
![]() |
Установка OpenVPN под фряхой
Скачиваем последний дистрибутив версии OpenVPN с сайта yum install openvpn Для Debian-based дистрибутивов: apt-get install openvpn Теперь нужно создать папку /etc/openvpn (если она еще не создана) и скопировать туда папку с сертификатами и конфигами. Примеры того и другого лежат с корне архива .tar.gz, если была установка из source, иначе они будут разбросаны по всей системы на усмотрение того, кто делал rpm. Вот некоторые варианты, где можно найти эти папки: /etc/share/openvpn /usr/share/doc/openvpn /usr/share/doc/packages/openvpn Итак, надо скопировать папки easy-rsa и sample-config-files. На самом деле, примеры конфигов можно не копировать, а скопировать оттуда только файл server.conf. Идем в /etc/openvpn/easy-rsa и выполняем следующим команды: . ./vars ./clean-all ./build-ca Будут спрашивать данные для сертификата, лучше отвечать ближе к правде, хотя и не обязательно. Важно обязательно что-то писать в поле, не оставлять пустыми. ./build-key-server server Аналогично, отвечать нужно на все вопросы. Common name должно быть server. На 2 вопроса отвечать y ./build-dh Теперь делаем сертификат для клиента. Если у нас несколько клиентов, то повторяем этот шаг несколько раз, меняя номер клиента. ./build-key client1 Если Вы хотите защитить сертификат паролей то используйте ./build-key-pass client1 Важно с поле Common Name писать соответствующее имя, например client1 Настраиваем конфиг для сервера. Он должен находится в /etc/openvpn и называтся server.conf. Все что нам нужно изменить в примера конфига: ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/server.crt key /etc/openvpn/easy-rsa/keys/server.key dh /etc/openvpn/easy-rsa/keys/dh1024.pem push "redirect-gateway def1" push "dhcp-option DNS 10.8.0.1" push "dhcp-option WINS 10.8.0.1" user nobody group nobody Сохраняем файл. Выполняем iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forwardНа VPS на базе Virtuozzo вместо первой команды надо выполнить: iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT --to-source IP_АДРЕС_ВАШЕГО_ВДС'аЗапускаем OpenVPN: service openvpn start Для Debian: /etc/init.d/openvpn startТеперь ставим OpenVPN клиент для Windows. Его можно скачать здесь: remote my-server-1 1194 IP своего сервера вместо my-server-1. Больше ничего не трогаем, сохраняем и закрываем файл. Последнее что надо сделать, это скачать с сервера 3 файла сертификатов в эту же папку, где только что редактировали файл. Итак, скачать нужно следующие файлы: /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/easy-rsa/keys/client1.crt /etc/openvpn/easy-rsa/keys/client1.key client1 соответственно нужно заменить на нужный номер клиента. После этого переименовываем файлы, убирая цифры номера клиент, т.е. из client1.crt делаем client.crt и т.д. Все готово для подключения и проверки. Нажимаем правой кнопкой на файл client.ovpn и выбираем Start OpenVPN on this config file. Убеждаемся, что соединение установлено правильно. Делаем пинг до сервера 10.8.0.1. Сейчас весь трафик ходит через VPN в зашифрованном виде. добавлено через XXX минут ----------------------------------------------------------------------------------------------- Установка socks5 за пару минут Устанавливаем socks5 из портов: cd /usr/ports/net/socks5 make make install Файл конфигурации у меня не создался, поэтому создаём файл /usr/local/etc/socks5.conf и вбиваем в него: SET SOCKS5_BINDINTFC 1.2.3.4:8080 set SOCKS5_NOREVERSEMAP set SOCKS5_NOSERVICENAME set SOCKS5_NOIDENT set SOCKS5_MAXCHILD 128 set SOCKS5_TIMEOUT 10 auth - - u permit u - - - - - - Вместо 1.2.3.4:8080 указываем наш IP (особенно полезно, если компьютер имеет несколько IP-адресов) и порт, который будет слушать socks5. Создаём файл /usr/local/etc/socks5.passwd, в котором вписываем логины и пароли пользователей в формате: имя пароль Например: admin adminpass Запускам прокси: /usr/local/bin/socks5 -f -s Если прокси установился корректно, то будет вывод на экран с соответствующим сообщением. А дальше уже пользуемся им в тех целях, для которых создавали прокси. добавлено через 3 минуты ------------------------------------------------------------------------------- Установка 3proxy Некоторые люди хотят установить у себя на сервере proxy-сервер. Squid который также описан выше потребляет много ресурсов, да и сложнее в настройке. Поэтому рассмотрим установку простого и легкого сервера с поддержкой протоколов http и socks. Ни в коем случае не устанавливайте сервер без авторизации, т.к. этим незамедлительно воспользуются злоумышленники и создадут большой трафик и рассылку спама через сервер. Итак, далее краткое описание установки и настройки. Установка производится на системе FreeBSD из портов: # cd /usr/ports/net/3proxy/ # make install clean Создадайте файл конфигурации на основе файла-образца: # cp /usr/local/etc/3proxy.cfg.sample /usr/local/etc/3proxy.cfg Создайте директорию под лог-файлы # mkdir /var/log/3proxyОтредактируйте его # vi /usr/local/etc/3proxy.cfg Пример файла конфигурации 3proxy.cfg, который должен у вас получиться после его редактирования: # Пропишите правильные серверы имен посмотрев их на своем VDS в /etc/resolv.conf # nserver 82.146.40.4 nserver 82.146.40.6 # Оставьте размер кэша для запросов DNS по умолчанию # nscache 65536 # Равно как и таймауты # timeouts 1 5 30 60 180 1800 15 60 # Создайте пользователей proxyuser1 и proxyuser2, пароль простым текстом # users proxyuser1:CL ![]() users proxyuser2:CL ![]() # укажите режим запуска как deamon # daemon # путь к логам и формат лога, к имени лога будет добавляться дата создания # log /var/log/3proxy/3proxy.log D logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T" # сжимать логи при помощи gzip # archiver gz /usr/bin/gzip %F # и хранить их 30 дней # rotate 30 # Конфигурация http(s) proxy # # включаем авторизацию по логинам и паролям # auth strong # ограничим доступ по портам через http(s)-proxy # allow * * * 80-88,8080-8088 HTTP allow * * * 443,8443 HTTPS # запускаем http-proxy без поддержки ntlm-авторизации # proxy -n # Конфигурация socks5-proxy # # включаем авторизацию по логинам и паролям # auth strong # очищаем список access-листов которые остались от http-proxy # flush # ставим ограничение на 32 одновременных подключения # maxconn 32 # запускаем socks # socks Ограничьте права доступа к файлу только пользователю root (поскольку в файле хранятся пароли доступа, для безопасности) # chmod 600 /usr/local/etc/3proxy.cfg Добавьте 3proxy в автозапуск: echo 'threeproxy_enable="YES"' >> /etc/rc.conf И запустите его: # /usr/local/etc/rc.d/3proxy start Настройка закончена. На порту 3128 теперь у вас работает http-proxy, на порту 1080 socks-proxy Последний раз редактировалось basf; 17.04.2008 в 21:34.. Причина: Добавлено сообщение |
![]() |
![]() |
#5 | |
Мастер
Информация
![]() |
basf,
Ты это на ходу пишеш или от кудато береш? |
![]() |
![]() |
#6 | |
Незнакомец
Информация
![]() |
#путь к файлу где прописаны пользователи и их пароли
/usr/local/squid-auth/etc/squid_users Squid на отрез отказывается это понимать ![]() help me please!!!!! |
![]() |
![]() |
#7 | ||
Завсегдатай
Информация
![]() |
Цитата:
добавлено через 1 минуту pptp? Цели какие? Если 2 подразделения соединить, то не лучший вариант. Я бы ipsec/ike использовал. Последний раз редактировалось andy-none; 25.10.2010 в 17:17.. Причина: Добавлено сообщение |
|
![]() |
![]() |
![]() |
Опции темы | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
SQUID ошибка NIS/YP при компиляции | boaboa | Все о софте | 4 | 26.03.2011 17:25 |
Web-proxy | cheek | Сетевые технологии | 20 | 22.07.2010 09:13 |
Проблемы с авторизацией! | darkleo | "Ростелеком-Северо-Запад" | 7 | 17.11.2008 19:29 |
Не сохраняются пароли на форумах (проблема с авторизацией) | Paulus | Все о софте | 6 | 21.04.2007 23:15 |
Proxy у В+. | benxx | Обсуждение "Web Plus" | 22 | 25.09.2005 12:49 |