Анонимный прокси своими руками
Все настройки выполнены в VPS от hostsailor.com
Другие статьи из цикла здесь.
Если вы вдохновились моими статьями и сделали всё, как написано, то у вас уже есть:
- Сервер, расположенный где-то в дебрях Европы.
- На сервере настроен вход SSH по сертификату и файрвол.
- На сервер установлен VPN-сервер, сгенерирован ворох сертификатов для сервера и клиентов.
- Ваши устройства (компьютеры, смартфоны, планшеты и т.п.) настроены на соединение с 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.[дата и время лога]
И запустим прокси:
И добавим его в автозагрузку:
Итак, что мы имеем после выполнения всех инструкций:
- Арендован и настроен VPS. Вход по сертификату.
- Установлен и настроен личный VPN-сервер и, в нагрузку, свой удостоверяющий уентр.
- Настроены клиенты VPN-сети.
- Установлен и настроен анонимный, прозрачный прокси-сервер.
В следующих статьях мы добавим еще немного анонимности нашему серверу и вообще поговорим за личную информационную безопасность во всемирной паутине. Не переключайтесь.
Источник
Анонимность в интернете своими руками. Часть 7. Установка и настройка анонимного и прозрачного прокси 3proxi
Все настройки выполнены в VPS от hostsailor.com
Другие статьи из цикла здесь.
Если вы вдохновились моими статьями и сделали всё, как написано, то у вас уже есть:
- Сервер, расположенный где-то в дебрях Европы.
- На сервере настроен вход SSH по сертификату и файрвол.
- На сервер установлен VPN-сервер, сгенерирован ворох сертификатов для сервера и клиентов.
- Ваши устройства (компьютеры, смартфоны, планшеты и т.п.) настроены на соединение с 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»
И запустим прокси:
И добавим его в автозагрузку:
Итак, что мы имеем после выполнения всех инструкций:
- Установлен и настроен личный VPN-сервер и, в нагрузку, свой удостоверяющий уентр.
- Настроены клиенты VPN-сети.
- Установлен и настроен анонимный, прозрачный прокси-сервер.
Понравилась статья? Подпишитесь на канал, чтобы быть в курсе самых интересных материалов
Источник
как настроить 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
Источник