Как настроить прокси Squid (для сервисов localhost и Tor и I2P)

Итак, вот моя дилемма. У меня была эта яркая идея, что я мог бы использовать DNS для создания моего собственного дву для моего компьютера. Я хотел, чтобы все службы запускались на localhost, поскольку я буду создавать сайты, которые могут изменять мой компьютер. Все эти сайты будут работать под .сеньор TLD. В настоящее время я получил этот TLD для работы с моим сервером jekyll на http://nic.сеньор/.

проблема возникает при попытке получить Домены, такие как .лук.сеньор и ...в I2P.сеньор работать с их прокси. Очевидно, Я имел надзора, когда определило для передачи данных от прокси в ТЗ или I2Ps прокси, как это было не в мой первоначальный план при создании .сеньор TLD. Моя текущая настройка-dnsmasq на 127.0.0.1: 53, который перенаправляет любой домен, не указанный в /etc/dnsmasq.hosts файл в dnscrypt, который размещен на 127.0.0.1: 52.

Я попытался найти ответы о том, как настроить squid, как это, как конфигурация смущает меня (я буду продолжать искать) и даже нашел такие вопросы, как Squid поверх i2p, tor и localhost ресурсов который просит сделать то же самое, что я хочу сделать, но никто не ответил на него, так как его спросили 2 года назад, поэтому я все еще застрял. Любая помощь или указывая в нужном направлении будет принята с благодарностью!

2
задан SenorContento
09.05.2023 15:52 Количество просмотров материала 2681
Распечатать страницу

1 ответ

Edit 3:Итак, я все еще работаю над полным ответом, но по крайней мере у меня есть прокси-сервер с Squid. Мне просто нужно выяснить, как заставить Tor и I2P работать с Squid. (у меня также есть проблемы с получением прокси для работы вне браузера при тестировании на моем Android, но это выходит за рамки этого вопроса, плюс я должен Отключить подключение к данным, чтобы получить соединения серверов для работы на моем android, не бросая DNS не найдена ошибка, для таких вещей, как сетевой адаптер.сеньор и mailpile.сеньор.)

Edit 3 (Продолжение): я изменил конфигурацию, чтобы я мог подключиться к Tor .onion и I2P включены .в I2P. Я испытал I2P, но с Tor в настоящее время заблокированы на подключение, мне придется обойти, чтобы тест, чтобы увидеть, если Tor работает, однако, это в настоящее время достаточно хорошо для меня, и, возможно, в будущем, если я вам Тор разблокировали, я добавлю в свой собственный отдельный прокси для Tor (для целей ФЗ "адресная книга" (Как раздача не поддерживает CNAME, к сожалению: ()). (Я получил помощь от https //serverfault.com/questions/198806/squid-selects-parent-depending-on-requested-url?newreg=6cd1dcadf97e4794bfcf4f1dcf977426). Это достаточно хорошо для меня, чтобы принять этот ответ, поэтому все, что осталось, - это настройки и тестирование! :)

В принципе, для моей реализации моей частной сети у меня сначала есть мой браузер, который затем проходит через мой прокси-сервер, который затем будет решать запросы dns внутри (например, при использовании dns-сервера моего ноутбука), который затем соедините меня с любым сайтом, который доступен для моего ноутбука.

Что касается распознавателя DNS, я использую dnsmasq с файлом hosts, расположенным в /etc/dnsmasq.хосты, которые затем направляют что-либо не кэшированное или найденное в файле hosts dnscrypt-proxy. DNSMasq находится на 127.0.0.1:53, а DNSCrypt-на 127.0.0.1: 52.

сайты нашли в раздача.хосты расположены на портах 80 и 443 и используют nginx для маршрутизации любых соединений с другими серверами, такими как блог.senor маршрутизирует на сервер Jekyll, расположенный в 127.0.0.2: 4000 (я, вероятно, должен заблокировать прямой доступ к этим URL-адресам с помощью Squid), ну, так или иначе nic.сеньор просто указывает на https://mailpile.сеньор/ поскольку в настоящее время у него нет надлежащего сайта и mailpile.сеньор заходит в mailpile 127.0.0.1: 33411. Этот TLS работает, потому что у меня есть мой собственный корневой ЦС я импортировал в мой телефон и ноутбук (я сгенерировал с открытым SSL с помощью инструкции из https://datacenteroverlords.com/2012/03/01/creating-your-own-ssl-certificate-authority/).

пример конфигурационного файла nginx, который я использую для своих сайтов (с небольшими изменениями):

/ etc/nginx / conf.d / mailpile.conf

## our http server at port 80
server {
    listen              127.0.0.3:80 default;
    server_name         mailpile.senor;

    ## redirect http to https ##
    rewrite        ^ https://$server_name$request_uri? permanent;
}

## our https server at port 443
server {
    # IP Address, Port, and Protocol to use
    listen              127.0.0.3:443 ssl;

    # Server URL
    server_name         mailpile.senor;

    # Certs
    ssl_certificate     certs/public/mailpile.senor.pub.pem;
    ssl_certificate_key certs/private/mailpile.senor.priv.pem;

    # Only use "Safe" TLS protocols, not SSL or TLS 3.0 (POODLE Attack)
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;

    # Use ciphers the server supports
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

    # Don't know how secure this elliptic curve algorith is, so needs more research!
    #ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0

    # Basically reuses ssl sessions to speed up page load
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off; # Requires nginx >= 1.5.9

    # Stapling is sending OSCP info (may require resolver too)
    #ssl_stapling on; # Requires nginx >= 1.3.7
    #ssl_stapling_verify on; # Requires nginx => 1.3.7
    #resolver $DNS-IP-1 $DNS-IP-2 valid=300s;
    #resolver_timeout 5s;

    # Remember HSTS? Well, have FUN!
    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";

    # Prevents this site from being loaded in an iframe
    add_header X-Frame-Options DENY;

    # Prevents browser from changing MIME-Types from what the server says (supposedly more secure)
    add_header X-Content-Type-Options nosniff;

    # File with revoked certificates used to determine if client-side cert is valid or not!
    #ssl_dhparam /etc/nginx/ssl/dhparam.pem;

    location / {
        access_log /var/log/nginx/mailpile_access.log;
        error_log /var/log/nginx/mailpile_error.log info;

        proxy_pass http://127.0.0.1:33411;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

/и т. д./dnsmasq.хозяева

127.0.0.1 nic.senor
127.0.0.2 blog.senor
127.0.0.3 mailpile.senor

редактировать 1: я просто Wiresharked мой прокси и понял, что основные auth не шифровать мои данные на всех, так что я теперь также работает над фиксацией это!

Edit 2: я нашел http //patchlog.com/security/squid-digest-authentication/ (вынул: из-за необходимости 10 повторений, чтобы опубликовать более 2 ссылок), который помог мне узнать, как создать систему дайджест-аутентификации и как создать новый файл паролей, который просто создает md5sum от $user:$realm:$pass. Я также узнал, что digest_pw_auth был переименован в digest_file_auth из https //bbs.archlinux.org/viewtopic.php?id=152346.

/ etc / squid / squid.conf

auth_param digest program /usr/lib/squid/digest_file_auth -c /etc/squid/passwords
auth_param digest realm Proxy
auth_param digest child 5
auth_param digest nonce_garbage_interval 5 minutes
auth_param digest nonce_max_duration 30 minutes
auth_param digest nonce_max_count 50

acl authenticated proxy_auth REQUIRED
http_access allow authenticated

http_port 3128

# External Proxies
# Format is: hostname  type  http_port  udp_port
cache_peer 127.0.0.1 parent 4444 0
cache_peer 127.0.0.2 parent 9050 0

# Determines When to Use External Proxies
cache_peer_domain 127.0.0.1 .i2p
cache_peer_domain 127.0.0.2 .onion

acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 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 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl Safe_ports port 1025-65535  # unregistered ports

acl CONNECT method CONNECT

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager

#http_access allow localnet
#http_access allow localhost
http_access deny all

coredump_dir /var/spool/squid

refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
vrefresh_pattern .               0       20%     4320
2
отвечен SenorContento 2023-05-10 23:40

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх