Анонимный прокси своими руками

Анонимный прокси своими руками

Все настройки выполнены в VPS от hostsailor.com

Другие статьи из цикла здесь.

Если вы вдохновились моими статьями и сделали всё, как написано, то у вас уже есть:

  1. Сервер, расположенный где-то в дебрях Европы.
  2. На сервере настроен вход SSH по сертификату и файрвол.
  3. На сервер установлен VPN-сервер, сгенерирован ворох сертификатов для сервера и клиентов.
  4. Ваши устройства (компьютеры, смартфоны, планшеты и т.п.) настроены на соединение с VPN-сервером.

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

Казалось бы, живи и радуйся. Но не всё так просто. Ваше клиентское устройство, напрямую или косвенно, продолжает многое сообщать о вас: тип устройства, операционная система, внутренний IP адрес, и пр. Так происходит, потому что VPN-ервер не модифицирует полученные от вас пакеты, он просто их расшифровывает и отправляет в сеть.

Хватит это терпеть! Мы запилим свой прокси-сервер с анонимностью и прозрачностью.

Proxy server (Прокси сервер) – промежуточный компьютер, который является посредником между вашим компьютером и Интернетом. Прокси обычно используют либо для ускорения работы в сети Интернет, либо для анонимного прохождения в сети Интернет. Так же использование анонимного прокси, может быть использовано, как дополнительное средство защиты: анонимный прокси (anonymous proxy) подменяет Ваш IP-адрес, и злоумышленник будет пытаться совершить атаку не на Ваш компьютер, а на прокси сервер, у которого, зачастую, максимально мощная система защиты.

Там ещё есть интересное в статье, почитайте.

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

Есть over9000 реализаций прокси. Изначально я хотел использовать squid, но с кальмаром возникли проблемы. В разных версиях дистрибутивов он вёл себя по-разному с протоколом https. Поскольку данная статья рассчитана на не квалифицированного читателя, то перегружать её всеми возможными костылями для squid я посчитал не целесообразным. Поэтому, после недолгих исканий, был выбран 3proxy(https://www.3proxy.ru).

И да, как вы наверняка помните, наш файрволл настроен таким образом, что прокси будет принимать подключения только от клиентов VPN-сети.

Пока мы еще не сделали анонимный прокси, попробуйте позаходить на сайты, показывающие степень вашей анонимности. Например:

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

Хватит читать, открываем консоль. Будем отращивать бороду собирать наш прокси из исходников.

Перейдём в домашнюю папку

Посмотрим, какая версия 3proxy сейчась актуальна на странице загрузок https://www.3proxy.ru/download/

На момент написания статьи это была версия 0.8.9

И переходим в папку с исходниками

В опциях исходников делает наш сервер полностью анонимным командой:

Компилируем (О да! Теперь вы можете хвастаться, что в линуксе компилировали из сырцов.)

Подготовим рабочее место для нашего прокси

Теперь перенесем скомпилированные исполняемые файлы в рабочую папку

В папке /etc/rc.d/init.d

создаем файл 3proxy следующего содержания

Сохраняем и устанавливаем права 0755

Теперь откроем файл /etc/3proxy/3proxy.cfg

Удалите всё его содержимое и вставьте следующее:

Здесь, в строчке

Читайте также:  Как сделать очаг для свадьбы своими руками

вместо 123.123.123.123 вписываем IP адрес вашего сервера.

Сохраним и закроем.

Прокси-сервер готов к запуску. Запустим его:

Отлично, прокси запустился.

Если пишет ошибки, смотрим, что написано в консоли, что написано в /etc/3proxy/3proxy.log.[дата и время лога]

Если вы всё сделали в точности, как написано выше, ошибок быть не должно.

Теперь нам нужно поправить правила для iptables. Чтобы не настраивать прокси-сервер на всех клиентских устройствах (на смартфонах это зачастую попросту невозможно без рут-прав), мы сделаем наш прокси-сервер прозрачным. Т.е. для клиентов он будет не виден. Однако весь трафик, приходящий по VPN будет заворачиваться на прокси-сервер, а уже потом отправляться в открытую сеть.

Открываем Файл /root/ipt-set и аккуратно вносим следующие исправления:

и исправляем на

$IPT -A INPUT -i $IF_OVPN -p tcp —dport $SQUID_PORT -j ACCEPT

$IPT -A INPUT -i $IF_OVPN -p udp —dport $SQUID_PORT -j ACCEPT

и исправляем на

$IPT -A INPUT -i $IF_OVPN -p tcp —dport $PROXI_PORT -j ACCEPT

$IPT -A INPUT -i $IF_OVPN -p udp —dport $PROXI_PORT -j ACCEPT

И сразу, после этих строчек добавляем ещё две:

$IPT -t nat -A PREROUTING -i $IF_OVPN -p tcp -m tcp —dport 80 -j DNAT —to-destination 10.8.0.1:$PROXI_PORT

$IPT -t nat -A PREROUTING -i $IF_OVPN -p tcp -m tcp —dport 443 -j DNAT —to-destination 10.8.0.1:$PROXI_PORT

Сохраняем и закрываем файл.

Приведу, на всякий случай, файл /root/ipt-set полностью:

Теперь весь трафик из VPN для портов 80 и 443 (т.е. http и https) будет перенаправлен на наш прокси.

Применим правила командой:

Если вы прямо сейчас подключены к VPN-серверу, то уже можете заходить на разные сайты и проверять, что всё работает. Зайдите на один-два любых сайта, убедитесь, что они открываются. Теперь посмотрите в файл лога /etc/3proxy/3proxy.log.[дата и время лога]

В нем вы должны увидеть свою активность. Если всё работает, то остановим наш прокси:

Откроем его кофиг /etc/3proxy/3proxy.cfg и строчки:

log /etc/3proxy/3proxy.log D

logformat «- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T»

#log /etc/3proxy/3proxy.log D

#logformat «- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T»

Теперь прокси-сервер не будет писать логи и сохранять историю посещений сайтов. Сразу удалим уже имеющийся лог /etc/3proxy/3proxy.log.[дата и время лога]

И запустим прокси:

И добавим его в автозагрузку:

Итак, что мы имеем после выполнения всех инструкций:

  1. Арендован и настроен VPS. Вход по сертификату.
  2. Установлен и настроен личный VPN-сервер и, в нагрузку, свой удостоверяющий уентр.
  3. Настроены клиенты VPN-сети.
  4. Установлен и настроен анонимный, прозрачный прокси-сервер.

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

Источник

Анонимность в интернете своими руками. Часть 7. Установка и настройка анонимного и прозрачного прокси 3proxi

Все настройки выполнены в VPS от hostsailor.com

Другие статьи из цикла здесь.

Если вы вдохновились моими статьями и сделали всё, как написано, то у вас уже есть:

  1. Сервер, расположенный где-то в дебрях Европы.
  2. На сервере настроен вход SSH по сертификату и файрвол.
  3. На сервер установлен VPN-сервер, сгенерирован ворох сертификатов для сервера и клиентов.
  4. Ваши устройства (компьютеры, смартфоны, планшеты и т.п.) настроены на соединение с VPN-сервером.

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

Читайте также:  Игровые комплексы для детей своими руками

Казалось бы, живи и радуйся. Но не всё так просто. Ваше клиентское устройство, напрямую или косвенно, продолжает многое сообщать о вас: тип устройства, операционная система, внутренний IP адрес, и пр. Так происходит, потому что VPN-ервер не модифицирует полученные от вас пакеты, он просто их расшифровывает и отправляет в сеть.

Хватит это терпеть! Мы запилим свой прокси-сервер с анонимностью и прозрачностью.

Proxy server (Прокси сервер) – промежуточный компьютер, который является посредником между вашим компьютером и Интернетом. Прокси обычно используют либо для ускорения работы в сети Интернет, либо для анонимного прохождения в сети Интернет.

Там ещё есть интересное в статье, почитайте.

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

Есть over9000 реализаций прокси. Изначально я хотел использовать squid, но с кальмаром возникли проблемы. В разных версиях дистрибутивов он вёл себя по-разному с протоколом https. Поскольку данная статья рассчитана на не квалифицированного читателя, то перегружать её всеми возможными костылями для squid я посчитал не целесообразным. Поэтому, после недолгих исканий, был выбран 3proxy(https://www.3proxy.ru).

И да, как вы наверняка помните, наш файрволл настроен таким образом, что прокси будет принимать подключения только от клиентов VPN-сети.

Пока мы еще не сделали анонимный прокси, попробуйте позаходить на сайты, показывающие степень вашей анонимности. Например:

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

Хватит читать, открываем консоль. Будем отращивать бороду собирать наш прокси из исходников.

Перейдём в домашнюю папку

Посмотрим, какая версия 3proxy сейчась актуальна на странице загрузок https://www.3proxy.ru/download/

На момент написания статьи это была версия 0.8.9

И переходим в папку с исходниками

В опциях исходников делает наш сервер полностью анонимным командой:

Компилируем (О да! Теперь вы можете хвастаться, что в линуксе компилировали из сырцов.)

Подготовим рабочее место для нашего прокси

Теперь перенесем скомпилированные исполняемые файлы в рабочую папку

В папке /etc/rc.d/init.d

создаем файл 3proxy следующего содержания

Сохраняем и устанавливаем права 0755

Теперь откроем файл /etc/3proxy/3proxy.cfg

Удалите всё его содержимое и вставьте следующее:

Здесь, в строчке

вместо 123.123.123.123 вписываем IP адрес вашего сервера.

Сохраним и закроем.

Прокси-сервер готов к запуску. Запустим его:

Отлично, прокси запустился.

Если вы всё сделали в точности, как написано выше, ошибок быть не должно.

Открываем Файл /root/ipt-set и аккуратно вносим следующие исправления:

$IPT -A INPUT -i $IF_OVPN -p tcp —dport $SQUID_PORT -j ACCEPT

$IPT -A INPUT -i $IF_OVPN -p udp —dport $SQUID_PORT -j ACCEPT

$IPT -A INPUT -i $IF_OVPN -p tcp —dport $PROXI_PORT -j ACCEPT

$IPT -A INPUT -i $IF_OVPN -p udp —dport $PROXI_PORT -j ACCEPT

$IPT -t nat -A PREROUTING -i $IF_OVPN -p tcp -m tcp —dport 80 -j DNAT —to-destination 10.8.0.1:$PROXI_PORT

$IPT -t nat -A PREROUTING -i $IF_OVPN -p tcp -m tcp —dport 443 -j DNAT —to-destination 10.8.0.1:$PROXI_PORT

Приведу, на всякий случай, файл /root/ipt-set полностью:

Теперь весь трафик из VPN для портов 80 и 443 (т.е. http и https) будет перенаправлен на наш прокси.

Читайте также:  Барельеф для фасада своими руками

log /etc/3proxy/3proxy.log D

logformat «- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T»

И запустим прокси:

И добавим его в автозагрузку:

Итак, что мы имеем после выполнения всех инструкций:

  1. Установлен и настроен личный VPN-сервер и, в нагрузку, свой удостоверяющий уентр.
  2. Настроены клиенты VPN-сети.
  3. Установлен и настроен анонимный, прозрачный прокси-сервер.

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

Источник

как настроить squid в качестве высокоанонимного прокси сервера

Подскажите пожалуйста как настроить squid в качестве высокоанонимного прокси сервера?

К.О. подсказывает — настроить squid в качестве прозрачного прокси, сходить на ресурсы, проверяющие «анонимность» и узнать какие заголовки/данные необходимо запретить к передаче в конфиге сквида. Это — программа-минимум

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

Сказать что надо исследовать HTTP заголовки?

Прокси можно разделить на три подвида: прозрачные (неанонимные, NOA), анонимные (ANM), высокоанонимные (HIA) или элитные. ANM прокси скрывают реальный IP адрес клиента но позволяют удаленному серверу определить что клиент использует прокси. HIA скрывает IP адрес и не позволяет серверу определить использование клиентом прокси. Соответственно NOA прокси не обеспечивают ни того ни другого.

у тебя аж две темы в admin. отметь решенной уже

Спать давай ложись, в школу завтра.

Для того что бы настроить высокоанонимный squid 3 версии необходимо прописать следующее: forwarded_for off request_header_access Allow allow all request_header_access Authorization allow all request_header_access WWW-Authenticate allow all request_header_access Proxy-Authorization allow all request_header_access Proxy-Authenticate allow all request_header_access Cache-Control allow all request_header_access Content-Encoding allow all request_header_access Content-Length allow all request_header_access Content-Type allow all request_header_access Date allow all request_header_access Expires allow all request_header_access Host allow all request_header_access If-Modified-Since allow all request_header_access Last-Modified allow all request_header_access Location allow all request_header_access Pragma allow all request_header_access Accept allow all request_header_access Accept-Charset allow all request_header_access Accept-Encoding allow all request_header_access Accept-Language allow all request_header_access Content-Language allow all request_header_access Mime-Version allow all request_header_access Retry-After allow all request_header_access Title allow all request_header_access Connection allow all request_header_access All deny all

Для того что бы настроить высокоанонимный squid 3 версии необходимо прописать следующее:
forwarded_for off
request_header_access Allow allow all
request_header_access Authorization allow all
request_header_access WWW-Authenticate allow all
request_header_access Proxy-Authorization allow all
request_header_access Proxy-Authenticate allow all
request_header_access Cache-Control allow all
request_header_access Content-Encoding allow all
request_header_access Content-Length allow all
request_header_access Content-Type allow all
request_header_access Date allow all
request_header_access Expires allow all
request_header_access Host allow all
request_header_access If-Modified-Since allow all
request_header_access Last-Modified allow all
request_header_access Location allow all
request_header_access Pragma allow all
request_header_access Accept allow all
request_header_access Accept-Charset allow all
request_header_access Accept-Encoding allow all
request_header_access Accept-Language allow all
request_header_access Content-Language allow all
request_header_access Mime-Version allow all
request_header_access Retry-After allow all
request_header_access Title allow all
request_header_access Connection allow all
request_header_access All deny all

Что значит высокоанонимный? Анонимность или есть, или нет. Это раз. А во-вторых, анонимным будет тор или i2p, но никак не сквид на твоём домашнем сервере, который мамка на ночь выключает, чтобы не шумел.

При таком раскладе зайти на маил.ру и похожие хосты вам не удастся выдаст ошибку 704. Решение — закоментите строку request_header_access All deny all

Источник

Оцените статью