Создание туннеля HTTPS

Можно подключить модем непосредственно к компьютеру и заставить маршрутизатор так отправить весь трафик через debian систему. В этом случае можно сделать что-либо, что Вы хотите с пакетами.

P.S.: Вам нужно что-то вроде этого?

3
15.04.2012, 09:55
7 ответов

Я использую Сквид в качестве прокси-сервера и Stunnel как обертка SSL. Это имеет очень хорошую производительность из-за кэширования.

Конфигурация сквида

После установки Сквида следуйте Документации Сквида и настройте его. Вот демонстрационная конфигурация:

http_port 3193 transparent

cache_dir ufs /var/cache/squid 128 16 128
cache_mem 1 MB
maximum_object_size_in_memory 512 KB
maximum_object_size 1 MB

visible_hostname hostname.com

hierarchy_stoplist cgi-bin ?
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320

acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1

acl localnet src 10.0.0.0/8     # RFC 1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC 1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC 1918 possible internal network
acl localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines

acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT

auth_param basic program /usr/libexec/squid/pam_auth
auth_param basic children 5
auth_param basic realm Squidy
auth_param basic credentialsttl 4 hours

acl password proxy_auth REQUIRED

http_access allow manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow password
http_access allow localhost
http_access allow localnet
http_access deny all

via off
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 Proxy-Connection allow all
request_header_access User-Agent allow all
request_header_access Cookie allow all
request_header_access All deny all

Это слушает порт 3193 tcp. Затем кэширование опций происходит, Некоторые команды acl и auth_param для аутентификации PAM (Вы, вероятно, не хотите открытый прокси и потеряли Ваш VPS для отчетов о спаме). request_header_access строки не требуются. Они дают Вам лучшую анонимность.

Конфигурация сервера Stunnel

Установите stunnel на сервере. Вот демонстрационная конфигурация:

setuid = stunnel
setgid = stunnel

CAfile = /etc/stunnel/certs.pem
CRLfile = /etc/stunnel/crls.pem

[proxy]
accept = 8888
connect = 127.0.0.1:3193

Вероятно, файлы сертификации сделаны на stunnel установке. регистрируйте путь к файлу CAfile. Это просто слушает порт 8888 tcp и перенаправления дешифровали поток к Сквиду. Так позвольте быть уверенными, что это достижимо:

iptables -I INPUT 1 -p tcp --dport 8888 -j ACCEPT

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

Клиентская конфигурация Stunnel

Установите stunnel на своей локальной машине и измените эту конфигурацию на Ваши потребности:

setuid = stunnel
setgid = stunnel
pid = /var/run/stunnel/stunnel.pid

[poxy]
accept = 8123
connect = server_ip:8888
client = yes
libwrap = no

Замените server_ip соответствующим значением. затем запустите Сквид на сервере и Stunnel на клиенте и сервере. прокси набора как localhost:8123 в Вашем браузере. Если все работает, Вам нужно предложить имя пользователя и пароль.

2
27.01.2020, 21:17

Действительно ли https сервер является апачским? Я не полностью понимаю Вашей ситуации, но если у Вас есть mod_proxy, Вы могли бы способный сделать то, что Вы хотите.

1
27.01.2020, 21:17
  • 1
    Да. Сервер работает с апачем. Но я не знаю, как соединить... –  hknik 06.04.2012, 23:31
  • 2
    я думал mod_proxy, был бы полезен, если бы у Вас было что-то в среде типа демилитаризованной зоны, но это кажется, что это не возможно. Если там http сервер, работающий на хосте Вы ssh в к? Вы спросили своего поставщика услуг, если они могут сделать что-нибудь, или они просто предлагают туннели ssh? –  zje 07.04.2012, 08:44
  • 3
    работает с апачем –  hknik 10.04.2012, 19:34

Я ничего никогда не настраивал на виртуальном хосте, но вот некоторая информация об общем HTTPS:

HTTPS использует комбинацию HTTP и SSL (см. статью Википедии здесь: http://en.wikipedia.org/wiki/HTTP_Secure). HTTPS не является действительно своим собственным протоколом серовато-синий, а скорее нормальный HTTP, работающий на туннеле SSL.

HTTPS использует CA (Сертификат Authories) и PKI (Инфраструктура открытых ключей), чтобы гарантировать, что пользователи могут 'доверять' сайту. Необходимо создать сертификат открытых ключей для веб-сервера, и это должно быть подписано доверяемым CA (таким как VeriSign). Для получения доверяемого сертификата, это может стоить Вам ежегодной платы для поддержания.

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

Кроме того, имейте в виду, что, в то время как HTTP использует порт 80 по умолчанию, HTTPS использует 443 поэтому, если у Вас есть какое-либо перенаправление портов/, порт, блокирующий Вас, должен будет гарантировать, что это открыто, чтобы Вы соединились. Для использования HTTPS, необходимо будет также удостовериться, чтобы Вы ввели его в URL, когда Вы перейдете на сайт, иначе он, вероятно, примет значение по умолчанию к использованию HTTP.

Править: Вот хорошее введение в то, как HTTPS работает: http://securityworkshop.blogspot.com/2009/01/how-httpsssl-works-part-1-basics.html

1
27.01.2020, 21:17

Я делаю что-то вроде этого использование OpenVPN. Мой ноутбук и сотовый телефон могут соединиться с моим сервером дома с помощью SSL по соединению TCP на порте 443. Это действительно полезно, когда я в тяжелых местах, которые не позволяют Вам использовать любые порты, кроме того, 80 и 443. Вот простая конфигурация, которая выполняет это на сервере:

port 443
proto tcp
dev tun
server 10.44.3.0 255.255.255.0
ca ca.crt
cert cloud.crt
key cloud.key
dh dh2048.pem
script-security 2
push "redirect-gateway"

Затем Вы говорите серверу выполнять NAT на пакетах, прибывающих из клиентов VPN:

iptables -t nat -A POSTROUTING -s 10.44.3.0/24 -o eth0 -j MASQUERADE

После того, как я подключусь, сетевой маршрут на моем портативном устройстве похож на это:

briankb@ubuntu:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.94.0.9       0.0.0.0         UG    0      0        0 tun0
192.79.68.0      0.0.0.0         255.255.255.128 U     1      0        0 eth0
10.94.0.1       10.94.0.9       255.255.255.255 UGH   0      0        0 tun0
10.94.0.9       0.0.0.0         255.255.255.255 UH    0      0        0 tun0
121.119.173.12   192.79.68.1      255.255.255.255 UGH   0      0        0 eth0

Первая строка говорит, что шлюз по умолчанию клиента является сервером VPN, таким образом, весь трафик отправляется по нему. Следующая строка является подсетью, которую я в настоящее время использую (Wi-Fi колледжа). Третья и четвертая строка является подсетью/маршрутом VPN, и последняя строка говорит, используют текущий интерфейс глобальной сети для отправки пакетов в сервер VPN.

Для получения инструкций относительно установки OpenVPN посмотрите, Как вести.

1
27.01.2020, 21:17
  • 1
    я был ленив и просто установил свой ssh для использования порта 443. –  Rob 16.04.2012, 19:11

Мой магический кристалл говорит, что необходимо смотреть на http://www.stunnel.org/static/stunnel.html

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

0
27.01.2020, 21:17

Просто включите HTTPS и mod_alias в Apache, и добавляют правило перенаправления как следующее:

<VirtualHost *:80>
                 .
                 .
                 .
    Redirect permanent / https://yoursite.com/
</VirtualHost>

Конфигурация по умолчанию варьируется между Ose/дистрибутивами, таким образом, я не могу быть более конкретным, чем это. Лучше указать Вашу ОС и версии программного обеспечения по вопросам, таким образом, можно получить лучшие ответы ;-).

0
27.01.2020, 21:17

Соединитесь со своим сервером через SSH и настройте перенаправление портов: ssh -L 80:localhost:80 username@hostname. Удаленный порт 80 (Ваш веб-сервер) будет туннелирован по SSH Вам порт ПК 80. Теперь укажите на свой браузер на http://localhost/

Вам, вероятно, придется расширить строку в Вашем/etc/hosts файле: 127.0.0.1 имени хоста

0
27.01.2020, 21:17

Теги

Похожие вопросы