Ограничиваем количество неудачных попыток входа. Указываем работу только по IPv4 протоколу на определенном адресе

Добрый день. На моем сайте открылся партнерский магазин от сайта gold-nm.ru и по случаю открытия партнер предлагает всем пользователям сайта скидку на товары в размере 10% (используйте промокод 84DE22AD1A164230), для того чтобы ознакомиться с перечнем товаров перейдите по ссылке — магазин. Но это еще не все изменения, скоро откроется еще один магазин. Подписывайтесь на обновления, чтобы узнать об этом вовремя;)

Теперь немного предыстории. Один мой товарищ переехал в Чехию на обучение и подкинул мне идею для очередной темы статьи. Суть проблемы была в том, что Steam отказывается принимать на счет рубли, если пользователь находится в Европе/Америке. Логичным решением было воспользоваться прокси сервером. Но прокси сервер так же помогает обойти блокировку сайтов на работе, к примеру vk.com:). Достаточно настроить сервер у себя дома, а на работе подключиться к нему. Для большего удобства можно для вашего компьютера. Немного изучив вопрос, я понял что для настройки простого сервера нужно потратить от силы пять минут:) И сейчас я расскажу вам, как это сделать.

Инструкция

  1. Нам понадобится бесплатный прокси-сервер под названием 3proxy . Для этого переходим на официальный сайт . И качаем самую свежую версию, я использую 0.8, вам тоже рекомендую именно ее.

  2. Создаем текстовый файл и меняем ему имя на 3proxy.cfg.
  3. Открываем файл в блокноте или любом другом текстовом редакторе и записываем в него следующие три строчки:

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

  4. Запускаем программу. Чтобы подключиться к прокси серверу используйте свой внешний IP-адрес() и порт 3128 (используется по-умолчанию).

Это простейший сервер, который удовлетворит потребности большинства пользователей. Для более точной настройки сервера изучите файл 3proxy.cfg.sample , находящийся в папке cfg в архиве с программой.

На этом всё. Надеюсь эта статья оказалась вам полезной, нажмите одну из кнопок ниже, чтобы рассказать о ней друзьям. Также подпишитесь на обновления сайта, введя свой e-mail в поле справа или подписавшись на группу в Вконтакте.

Сегодня мы рассмотрим еще один бесплатный прокси сервер - . Не смотря на то, что крайняя версия была выпущена в конце 2009 года, программа примечательна своим широким функционалом. Дистрибутивы доступны как для Windows различной разрядности так и для Linux. очень похож на монстра всех прокси серверов squid , однако более легок в конфигурировании и прост в эксплуатации на Windows.
Дистрибутив весит каких-то полмегабайта. умеет работать с HTTP/HTTPS, FTP over HTTP, SOCKS, можно делать разные правила разрешений и запретов, даже скорость ограничивать персонально для выбранного пользователя. Можно настраивать формат ведения логов, что позволяет в последствии анализировать их сторонними анализаторами. При желании журнал можно вести в базу данных через ODBC. Однако, прокси сервер не умеет кэшировать трафик, что в общем то уже не так актуально в условиях безлимитных тарифов на интернет.

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

На официальном сайте 3proxy можно найти не только дистрибутивы, но и ответы на часто задаваемые вопросы, плагины, примеры настройки.Скачиваем дистриб и распаковываем куда нужно, я это сделал в C:3proxy. На момент написания обзора крайняя версия была 0.6.1 . В каталоге мы увидим три папки и еще всякие файлики. В папке bin хранится сама программа прокси сервера и всякие плагины, в папке cfg хранится пример файла конфигурации и sql скрипт для создания базы данных, если есть желание хранить журнал в БД. В папке doc справка.

Мы идем в папку bin, там создаем файлик 3proxy.cfg. Открываем его на редактирование, вписываем туда всего три строчки:

auth none
log
proxy

Cохраняем и закрываем. Так выглядит конфиг прокси сервера в минимальном варианте.


Первая строка говорит, что авторизация не требуется, строка log - вывод журнала прямо в окно программы, строка proxy без параметров включает сам прокси сервер на стандартном порту 3128. Запускам 3proxy.exe, настраиваем браузер на прокси сервер localhost и порт 3128 и захоим на какой-нибудь сайт.


В окне 3proxy сразу увидим много строк, это собственно и есть журнал, который мы включили параметром log.

Если на компьютере с 3proxy одна сетевая карта смотрит в локальную сеть, а другая в интернет, то не лишним будет принудительно указать какая из сетевых карт какая. Это делается так:

internal 192.168.1.2
external 10.10.54.22

Суть следующая: internal - это сетевуха локальной сети и её IP-адрес, а external - внешняя. Если внешний интерфейс не постоянный, т.е. подключение к интернет осуществляется, например, по PPPoE, то надо писать так - external 0.0.0.0

Не лишним будет указать IP-адреса DNS серверов провайдера и кэширование, делает это так:


nscache 65536

Если необходимо, можно делать статические DNS-записи, в некоторых случаях это тоже помогает что-нибудь заблокировать:

Здесь мы указываем куда сохранять лог-файлы, каждый день будет создаваться новый файл, а длительность хранения составит 30 дней.

В итоге наш конфигурационный файл будет иметь следующий вид:
auth none
log C:3proxylogs3proxy.log D
rotate 30
proxyinternal 192.168.1.2
external 10.10.54.22

nserver ip-адрес-dns-сервера-1
nserver ip-адрес-dns-сервера-2
nscache 65536
nsrecord www.porno.com 127.0.0.1

Теперь рассмотрим способы авторизации. Сейчас у нас доступ в интернет разрешен всем, т.к. указан параметр auth none. Это можно поменять на следующие варианты: пользователей можно определять по IP-адресам их компьютеров, в этом случае в конфиг пишется auth iponly, можно по логину и паролю (которые задаем в файле 3proxy) - в этом случае пишем auth strong, а можно использовать более тесную интеграцию с Windows и разрешать доступ в интернет по признаку принадлежности пользователя к определенной группе в Windows. В последнем случае в конфиге надо написать так:
auth windows
authcache user,pass 900
authcache windows
plugin «WindowsAuthentication.dll» WindowsAuthentication «3ProxyAllowedGroup»
и у параметра прокси добавить -n:
proxy -n

В Windows нужно создать группу 3ProxyAllowedGroup и затем добавлять туда пользователей. Можно поменять название группы на что-нибудь свое, изменив соответствующий параметр выше.

В случае с auth strong логины и пароли задаются в следующем формате:
users user1:CL:password1

Пароли можно задавать и в зашифрованном виде, кому интересно как это делается - велкам в мануал к 3proxy.
Следующий на очереди инструмент ограничения скорости. Синтаксис команды достаточно простой:
bandlimin
bitrate - скорость в битах
userlist - список пользователей через запятую без пробела, если у вас авторизация auth strong, в противном случае ставится звездочка
sourcelist - если у вас авторизация auth iponly, то тут указывается список IP-адресов через запятую без пробела, в других случаях ставится звездочка
targetlist - IP-адреса назначения через запятую без пробела. если хотим просто ограничить скорость, то можно не заполнять
targetportlist - порты адресов назначения
commandlist - дополнительные команды
Пример правила:
bandlimin 240000 * 192.168.0.2,192.168.0.3

Здесь мы ограничиваем скорость до 24 Кбит/c для двух IP-адресов локальной сети. При этом т.к. IP-адреса перечислены через запятую, то 24 Кбит будет делиться между ними.

Чтобы на какой-то ресурс принудительно снять ограничение скорости существует следующая команда:
nobandlimin Теперь мы дошли до самого главного - создание правил доступа. Для этого используются команды allow, deny и flush. Синтаксис имеет следующий вид:
allow
deny
flush

Команда flush используется для сброса существующего списка доступа (это необходимо для того, чтобы можно было задать различные списки доступа для различных служб). allow служит для разрешения соединения, deny - для запрета соединения. В момент установки исходящего соединения просматривается список доступа и находится первая запись, соответствующая запрошенному клиентом соединению. Если запись соответствует allow - соединение разрешается, deny - запрещается. Если список пуст, то соединение разрешается. Если список не пуст, но подходящей записи нет, то соединение запрещается. При этом:
- список логинов пользователей через запятую
- список сетей клиентов через запятую. Сеть задается в формате xxx.yyy.zzz.mmm/l, где l - длина маски сети (количество ненулевых байт). Например, 192.168.1.0/24 соответствует сети с маской 255.255.255.0.
- список сетей назначения через запятую
- список портов назначения через запятую. можно задать диапазон портов через -, например, 80,1024-65535
- список команд, через запятую, для которых применяется правило:

CONNECT - установить исходящее TCP соединение (например, SOCKSv4/5, POP3 proxy, и т.д.)
BIND - разрешить входящее TCP соединение (SOCKSv5)
UDPASSOC - создать UDP-ассоциацию (SOCKSv5)
ICMPASSOC - создать ICMP-ассоциацию (не реализовано)
HTTP_GET - HTTP GET запрос (HTTP proxy)
HTTP_PUT - HTTP PUT запрос (HTTP proxy)
HTTP_POST - HTTP POST запрос (HTTP proxy)
HTTP_HEAD - HTTP HEAD запрос (HTTP proxy)
HTTP_CONNECT - HTTP CONNECT запрос (HTTP proxy)
HTTP_OTHER - другой HTTP запрос (HTTP proxy)
HTTP - соответствует любому HTTP запросу кроме HTTP_CONNECT (HTTP proxy)
HTTPS - тоже, что HTTP_CONNECT (HTTP proxy)
FTP_GET - FTP get запрос
FTP_PUT - FTP put запрос
FTP_LIST - FTP list запрос
FTP - соответствует любому FTP запросу
ADMIN - доступ к интерфейсу администрирования

задает список дней недели, 1 соответствует понедельнику, 0 или 7 - воскресенье. 1-5 означает с понедельника по пятницу (включительно). 1,3,5 задает нечетные дни недели.
список интервалов дня в формате ЧЧ:ММ:СС-ЧЧ:ММ:СС, например, 00:00:00-08:00:00,17:00:00-24:00:00 задает нерабочее время. Примеры использования листов доступа можно найти в файле 3proxy.cfg.sample в папке cfg.

В завершении обзора еще парочка моментов.

Во-первых, когда вы напишете рабочий конфиг и 3proxy будет запускаться с ним без ошибок, прокси сервер можно установить в качестве службы Windows командой 3proxy.exe -install
При этом в конфигурационном файле добавьте строку service

Во-вторых мы рассмотрели только самые основные возможности прокси сервера. На официальном сайте есть подробная документация на русском языке по настройке большинства аспектов работы 3proxy.

Удачи в освоении!

В этой статье рассмотрим, как быстро поднять свой собственный прокси-сервер.

Proxy позволяет перенаправлять трафик с вашего компьютера на сервер. Например, вы хотите открыть некий сайт через прокси. Тогда ваш компьютер обращается к прокси, прокси подключается к сайту, получает его содержимое и перенаправляет его на ваш компьютер. Таким образом, сайт видит внешний IP прокси-сервера, а не вашего компьютера, а если сайт заблокирован, например, Роскомнадзором или президентом Украины, то можно сделать прокси-сервер в другой стране, в которой нужные вам ресурсы не заблокированы, и тем самым получить к ним доступ в обход блокировок. Главное, чтобы из вашей страны не был заблокирован сам прокси-сервер.

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

Вся инструкция очень кратко для продвинутых

Это краткое содержание инструкции для продвинутых пользователей; для новичков все очень подробно расписано ниже.

  1. Установить FreeBSD 11 на сервер
  2. Скачать и запустить скрипт , который настроит локаль, сделает bash шеллом рута, настроит автообновления системы, установит 3proxy, добавит его в автозапуск и добавит в него пользователя для доступа к прокси-серверу с авторизацией, а также выведет ифнормацию о сервере (IPv4, IPv6, порты HTTP и SOCKS прокси):
pkg install git git clone -b v1..com/mikhailnov/freebsd-autodeploy.git cd freebsd-autodeploy ./freebsd-autodeploy.sh 3proxy-setup

Мы же ниже подробно разберем весь процесс на примере недорого и надежного зарубежного хостинга .

Регистрация на сайте хостинга Vultr

  • Идем на сайт
  • Нажимаем "Create account" ("Создать аккаунт"):

Добавление платежной банковской карты в Vultr

После регистрации в Vultr баланс составляет 10 долларов, однако, чтобы ими воспользоваться, нужно привязать банковскую карту или пополнить счет. После того, как вы вошли в личный кабинет Vultr, перейдите в раздел "Billing" ("Платежи") в левом меню и добавьте банковскую карту или пополните счет через Paypal. Заполните поля, как показано на картинке ниже. Обратите внимание, что указание адреса - это формальность, если вы его укажите неправильно, платеж все равно пройдет. Оплата за сервер почасовая .

Галка "I just want to link my credit card - 0.00$ deposit" означает, что будет выполнена просто привязка карты без списания выбранной суммы (по умолчанию), а как закончатся подарочные 10$, деньги начнут списываться с привязанной карты. Если ее не отметить, то выбранная сумма будет списана сразу. Поставьте галку "I agree to the terms of service" ("Согласен с условиями использования").

После заполнения формы нажмите большую синюю кнопку "Link credit card" ("Привязать банковскую карту").

Создание виртуального сервера с FreeBSD в Vultr

После добавления банковской карты откроется страница создания нового виртуального сервера (в дальнейшем будем его называть прсото сервером). В любое другое время туда можно попасть из раздела "Servers":


Теперь нужно выставить параметры создаваемого сервера.

  • Выбираем дата-центр (страну), где будет расположен сервер. Когда начинал писать эту статью, из европейских локаций была доступна Франция, однако на момент снятия скриншота она временно недоступна. Выбирайте Нидерланды (Амстердам), Германию (Франкфурт) или Париж (Францию). Пинг до европейских серверов будет немного ниже, чем до американских, однако вы вряд ли заметите разницу при использовании прокси-сервера. У большинства операторов трафик в Японию (Tokyo, Japan) и Сингапур (Singapore) в обе сторону идет по маршруту Россия-Европа-США-Япония/Сингапур или Россия-Европа-Суэцкий канал-Япония/Сингапур, но у Ростелекома есть прямые каналы на Японию через Дальний Восток России (в ряде случаев трафик все равно ходит через США), что уменьшает пинг и увеличивает скорость. Я выберу Японию, но большинству пользователей рекомендую Европу или США.

  • Выбираем тариф. подойдет минимальный тариф за 2 с половиной долларов в месяц, если он недоступен, как на момент написания статьи, выбираем тариф за 5$ в месяц.

  • В разделе "Servers" в списке своих серверов вы увидите, что на вновь созданный сервер устанавливается операционная система ("Installing..."), а значит через несколько минут сервер будет готов к работе:

  • Тогда желтая надпись "Installing" будет изменена на зеленую "Running". Подождите 5 минут и приступайте к настройке сервера.

После создания сервера вам на почту придет письмо с его IP адресом и, если не была настроена авторизация по SSH-ключам, паролем для пользователя root.

недоступны извне).

3proxy

3proxy это многоплатформный набор прокси-серверов (под Linux/Unix и Windows, включая 64-битные версии). Он включает в себя HTTP прокси с поддержкой HTTPS и FTP (proxy/proxy.exe), SOCKSv4/SOCKSv4.5/SOCKSv5 прокси (socks/socks.exe), POP3 прокси (pop3p/pop3p.exe), SMTP прокси (smtpp/smtpp.exe), AIM/ICQ прокси (icqpr/icqpr.exe), MSN messenger / Live messenger proxy (msnpr/msnpr.exe), FTP proxy, кэширующий DNS прокси, TCP и UDP портмапперы (tcppm, udppm) а так же комбинированный прокси-сервер с поддержкой дополнительных возможностей, таких как управление доступом, ограничение ширины потребляемого канала, ограничение трафика на день, неделю и месяц, перенаправление соединений, построение цепочек соединений (proxy chaining), ротацию лог-файлов, ведение журналов через ODBC. Версия под Win32 использует родные библиотеки (т.е. не требуется Cygwin или другие POSIX-эмуляторы), поддерживается установка в качестве сервиса. На сегодняшний день работоспособность проверена на Windows

98/NT/2000/2003/XP/x64, FreeBSD/i386, NetBSD/i386, OpenBSD/i386,

Linux/i386, Linux/PPC, Linux/Alpha, Mac OS X/PPC, Solaris 10/i386. Полный список возможностей см. Release Notes и Changes.

3proxy является FreeWare и может быть использован по лицензии GNU/GPL или под собственной лицензией. Начиная с версии 0.6 Используется лицензия типа BSD, позволяющая, так же, использовать LGPL,Apache License и многие другие совместимые типы лицензирования.

Отображение статистики соединений с помощью программы netstat

Командой netstat можно пользоваться для отображения статистики протокола и текущих TCP/IP-соединений. Команда netstat –a выводит сведения обо всех подключениях, а команда netstat –r отображает таблицу маршрутизации и сведения об активных подключениях. Команда netstat –o отображает коды процессов, что позволяет просмотреть владельца порта для каждого подключения. Команда netstat –e выводит статистику интерфейса Ethernet, а команда netstat –s отображает статистику протоколов. При использовании команды netstat –n адреса и номера портов не преобразуются в имена. Ниже показаны примеры отчетов, получаемых с помощью программы netstat:

Практическая часть Настройка 3proxy

Скачать с сайта http://3proxy.ru 3proxy-0.6.zip, распаковать 3proxy-0.6.zip в c:\proxy

Изучить документацию, расположенную в c:\proxy\doc\html\

Создать директорию c:\proxy\logs mkdir c:\proxy\logs

Создать конфигурационный файл 3proxy.cfg, сохранить в директорию c:\proxy\bin

Пример конфигурационного файла

# адрес DNS-сервера nserver 192.168.2.1

# кеш DNS-запросов nscache 65536

# чтобы в папке с логами сохранялись лишь последние 120 файлов rotate 120

# формат записей лог-файла

logformat "L%C - %U [%d/%m/%Y:%H:%m:%S %z] ""%T"" %E %I %O %N/%R:%r"

# адрес лог-файла

log c:\proxy\logs\3proxy.log D

# включаем прокси-сервер на порту 3128 proxy -p3128

# использовать 3proxy как службу service

На основании примера файла конфигурации и вывода команды ipconfig /all сформировать файл конфигурации.

Установка прокси сервера как сервис c:\proxy\bin\3proxy.exe --install c:\proxy\bin\3proxy.cfg

net start 3proxy

остановка

При помощи команды netstat определить, запущен ли сервис 3proxy netstat -an | find ":3128"

Пример вывода команды при запущенном 3proxy

TCP 0.0.0.0:3128

Настройка использования прокси-сервера для обозревателя Internet

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

2. Во вкладке Прокси-сервер установите флажокИспользовать прокси-сервер для локальных подключений .

3. В окне Адрес укажите IP-адрес прокси-сервера.

4. В окне Порт укажите номер порта, используемого прокси-сервером для клиентских подключений (по умолчанию установлено значение 8080).

Рисунок 21

5. Вы можете установить флажок Не использовать прокси-сервер для локальных адресов, если не планируете использовать прокси-сервер при подключении к компьютерам в локальной сети (это может повысить производительность).

6. Нажмите ОК , чтобы закрыть диалоговое окноПараметры локальной сети .

7. Нажмите ОК еще раз, чтобы закрыть окноСвойства обозревателя .

На волне блокировки Telegram настроим приватный socks/proxy сервер для работы мессенджера.
В остальном, прокси-сервер может решать любые другие задачи в работе администратора или разработчика.

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

Блокировка мессенджера планируется на территории РФ, в связи с этим будем использовать любой зарубежный сервер, подойдет самая простая VDS в минимальной конфигурации. (Если вам требуется такая VDS - свяжитесь со мной или Telegram)

Шаг 1. Настройка сервера

На данном этапе выполняем настройку сервера для безопасного соединения.

Отключаем SElinux
Указываем работу только по IPv4 протоколу на определенном адресе
Ограничиваем количество неудачных попыток входа

Шаг 2. Отключение логирования

Конечно же в целях сохранения дискового пространства:)

Отключаем хранение истории

С сервисом Auditd придется немного пошаманить, поскольку просто так его отключить нельзя.

sed -i -r "s/RefuseManualStop=yes/RefuseManualStop=no/" /usr/lib/systemd/system/auditd.service
# reboot
auditctl -D
systemctl stop auditd && systemctl disable auditd
Удаляем объекты директорий
unlink /var/log /messages && ln -s /dev/null /var/log /messages
unlink /var/log /secure && ln -s /dev/null /var/log /secure
unlink /var/log /wtmp && ln -s /dev/null /var/log /wtmp
unlink /var/log /lastlog && ln -s /dev/null /var/log /lastlog
unlink /var/log /audit/audit.log && ln -s /dev/null /var/log /audit/audit.log
unlink /var/log /btmp && ln -s /dev/null /var/log /btmp
unlink /var/log /maillog && ln -s /dev/null /var/log /maillog

Шаг 3. Установка 3proxy

Установим необходимые пакеты, которые понадобятся в процессе сборки.

yum groupinstall "Development tools" -y

Клонируем исходные файлы с git и компилируем:

git clone https://github.com/z3APA3A/3proxy.git
cd 3proxy/
sed -i "1s/^/#define ANONYMOUS 1\n/" ./src/proxy.h # Определяем анонимность сервера
make -f Makefile.Linux
mkdir -p /usr/local /etc/3proxy/bin
touch /usr/local /etc/3proxy/3proxy.pid
cp ./src/3proxy /usr/local /etc/3proxy/bin
cp ./scripts/rc.d/proxy.sh /etc/init.d/3proxy
cp ./cfg/3proxy.cfg.sample /usr/local /etc/3proxy/3proxy.cfg
ln -s /usr/local /etc/3proxy/3proxy.cfg /etc/3proxy.cfg
chmod +x /etc/init.d/3proxy

Шаг 4. Настройка 3proxy

Выполняем настройку нашего прокси-сервера к конфигурационном файле nano /etc/3proxy.cfg

Список пользователей задается с помощью команды users.

С помощью одной команды можно задать несколько пользователей, можно давать несколько команд users . USERDESC - описание пользователя.

Описание пользователя состоит из трех полей разделенных двоеточием - имени, типа пароля и пароля. Например:

users admin:CL:mysecret test :CL:yourpassword test1:CL:password1
users "test:CR:b771$b8745ed1295840eca15e55feb9e "
users test3:NT:BD7DFBF29A93F93C63CB84790DA00E63

Обратите внимание на двойные кавычки - они необходимы для второго пользователя, т.к. в его пароле встречается знак $ , который для файла 3proxy.cfg означает включение другого файла.

Поддерживаются следующие типы паролей:

  • тип не указан - использовать системную авторизацию для данного пользователя (пока не реализовано).
  • CL - пароль в открытом тексте
  • CR - пароль в формате crypt() (только MD5)
  • NT - пароль в формате NT в шестнадцатеричной кодировке

NT и crypt пароли могут быть использованы для импорта учетных записей из Windows/Samba и Unix соответственно (для Windows можно использовать утилиты семейства pwdump). Учетные записи удобно хранить в отдельном файле (в таком случае можно хранить их построчно в формате, типичном для файлов паролей).

Создать пароль можем командой:

Добавляем в автозапуск:

Шаг 6. Настройка Telegram на работу через socks

Также можно использовать socks-прокси на все подключение.

Проверяем:

Настройка завершена.

Troubleshooting

ERR_SOCKS_CONNECTION_FAILED в Google Chrome




Top