Doomed to Wordpress

Serious Reflections During the Life of Jeremy Fisher

   

Subscribe
Subscribe to a syndicated feed of my weblog, brought to you by the wonders of RSS.

Flavours
There's more than one way to view this weblog; try these flavours on for size.

  • index
  • circa 1993
  • RSS
  • Links
    These are a few links to my other sites.

  • Ставропигиальныя Пластинки
  • Анкылым
  • Русское Шрифтовое Зало
  • Gopher (Proxied)
  • More about Gopher
  •        

    2020/11/14 ssl bump

    Настроил-таки ssl bump на squid. Я, честно говоря, давно уже в ярости из-за нынешнего как навязывания https, так и навязывания отдельных версий SSL/TLS или бойкотирования других. Нет никакого смысла гонять все данные по защищённым соединениям. Бдительность от этого только усыпляется. Все мы помним времена, когда у всех были ещё самоподписанные сертификаты и мы приучились их принимать на автомате, вообще не заглядывая никуда. Пользователь должен сам понимать, какие данные есть смысл передавать по защищённому соединению, какие нет. И иметь возможность самостоятельно управлять передачей данных по тому или другому. Если он этого не понимает, он всё рано или поздно станет жертвой кибермошенников, не из-за https, так из-за чего-нибудь другого. Всё это навязывание защищённых протоколов только усугубляет нынешнюю тотальную компьютерную безграмотность, человек не учится понимать ни как устроена сеть, ни когда соединение защищено, когда нет, ни вообще что̀ такое защита и соединение. Это часть ненормальной привязанности к постоянной, не зависящей от твоих собственных усилий безопасности и комфорту, которая проявляется и в других сферах жизни (например, в той же так называемой "пандемии").

    Так или иначе, у меня есть несколько устройств, на которых https уже некоторое время толком не работает, так как они не поддерживают современные версии TLS, а сервера постепенно перестают поддерживать старые. Одно из них — это Nokia N900, другое — временный комп со Slackware 12, которую я скоро снесу, но пока с нею играюсь. В первом случае мне некогда осваивать портирование современного openssl на Maemo и весь инструментарий разработчика (давно хотел это сделать, но, похоже, так и не найду времени), во втором — хочется иметь дело с оригинальной системой в том виде, как она была задумана, выпущена и использовалась людьми прошлого (и печально, что в таких выражениях приходится говорить о времени всего 10 лет назад).

    Генерируем ключи:

    $ openssl req -new -newkey rsa:2048 -sha256 -days 3650 -nodes \
    -x509 -extensions v3_ca -keyout squid-ca-key.pem -out \
    squid-ca-cert.pem
    $ cat squid-ca-cert.pem squid-ca-key.pem >> squid.pem
    # mkdir /usr/local/etc/squid/certs
    # mv squid.pem /usr/local/etc/squid/certs/
    # chown squid:squid -R /etc/squid/certs
    

    Опцию sslcrtd_program /usr/local/libexec/squid/security_file_certgen -s /var/squid/cache/ssl_db -M 4MB не добавлял, так как данное значение по умолчанию меня пока устраивает. Однако пришлось вручную создать хранилище /var/squid/cache/ssl_db, иначе squid не запускался:

    # /usr/local/libexec/squid/security_file_certgen -c -s \
      /var/squid/cache/ssl_db -M 4MB
    

    В squid.conf добавляем следующее:

    acl step1 at_step SslBump1
    acl step2 at_step SslBump2
    acl step3 at_step SslBump3
    
    http_port 3129 ssl-bump cert=/usr/local/etc/squid/certs/squid.pem \
          generate-host-certificates=on version=1
    
    sslproxy_cert_error allow all
    tls_outgoing_options flags=DONT_VERIFY_PEER
    
    ssl_bump bump step1 all
    

    (взято в основном отсюда: https://stackoverflow.com/questions/34398484/can-i-use-squid-to-upgrade-client-tls-connections, я добавил sslproxy_cert_error и tls_outgoing_options).

    Проверяем конфиг squid: squid -k parse.

    Чтобы браузер клиента не ругался, генерируем сертификат и импортируем его туда:

    openssl x509 -in /usr/local/etc/squid/certs/squid.pem -outform DER -out squid.der
    

    Проблему с Нокией полностью решить пока не удаётся. В about:config браузера Нокии нужные мне параметры называются network.proxy.ssl, network.proxy.ssl_port, network.proxy.type (1, иначе прокси не работает!), network.proxy.no_proxies_on. Однако proxy.type сбрасывается в 0 при закрытии окна, в котором был запущен about:config, и при переподключении! См. https://talk.maemo.org/showthread.php?t=85497.

    permanent link