LINUX.ORG.RU

Пора бежать?

 , , ,


0

2

Привет, ЛОР.

Да, в какой-то мере под впечатлением от соседней темы от @Xintrea.

Дано: древний сервачок некоммерческого содержания с FreeBSD 9.2. Обновить ОС по условиям хостинга нельзя, только переезд на новый. На сервере крутится апач с доступом по HTTP и почтовые сервера.

И давно бы пора прикрутить туда сертификат и перейти на HTTPS. Готов рассмотреть варианты как с Let’s Encrypt, так и с покупным сертификатом.

Я правильно понимаю, что на этой версии FreeBSD задача нерешаема (старый OpenSSL и всё такое) и пора таки переезжать на более новую систему? Или есть варианты?

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

★★★★★

Ответ на: комментарий от cocucka

На нормальной ос можно было бы поставить свежий nginx с либами в докер и проксировать, решив задачу быстрее, чем он ее описывал.

anonymous ()

я бы в любом случае сбежал/обновил, потому что 9.2 вышла в 2013 году, например вместе с ubuntu 12.04, и поддерживать такое всегда сложно. Как минимум ты будешь испытывать проблемы с установкой нужного тебе софта, ну и всякие уязвимости никто не отменял. Жаль, что хостинг не разрешает обновляться, потому что 9.2 поэтапно обновить до актуальных версий вполне себе реально.

Slack ★★★★ ()
Последнее исправление: Slack (всего исправлений: 1)
Ответ на: комментарий от anonymous

Анонимус дело говорит.

Если лень возиться с переносом или оно того не стоит, то настроить доступ через реверс-прокси с HTTPS.

vvn_black ★★★★★ ()
Ответ на: комментарий от anonymous

Ну так тоже самое можно в chroot сделать, только без контейнерной изоляции. Можно даже базовую систему поновее взять и там собрать свежий апач из портов.

cocucka ★★★★★ ()
Ответ на: комментарий от Slack

У него там ещё и почта наверное непонятно в каком состоянии, привет exim. Ну и «нельзя обновлять» звучит странно. Сервер не свой?

anonymous ()
Ответ на: комментарий от cocucka

Ну для этого нужен другой сервак под рукой

Так, весь вопрос про это. В любом случае нужен.

vvn_black ★★★★★ ()
Ответ на: комментарий от cocucka

это во фре называется jail, и базовая система посвежее у тебя не будет нормально работать со старым ядром, как минимум будет ругаться на неизвестные сисколлы.

Кстати, скорее всего хостер не разрешает обновить ОС, потому что предоставляет как раз-таки уже jail

Slack ★★★★ ()

Я правильно понимаю, что на этой версии FreeBSD задача нерешаема (старый OpenSSL и всё такое) и пора таки переезжать на более новую систему? Или есть варианты?

Неправильно.

Ну, конечно лучше бы перейти на ОС поновее, но веб тут ни при чём.

А ещё лучше бы выкинуть легаси апач и оставить только nginx, но опять же задача из вопроса тут ни при чём.

Качаешь исходники nginx и нового openssl, собираешь nginx (он сам скомпилит openssl и вкомпилит его статически в себя), ставишь, настраиваешь проксирование на апач. Но учти, что сайт может быть рассчитан на http://, везде иметь ссылки на него итд.

firkax ★★★ ()
Ответ на: комментарий от cocucka

Только он на это скажет что не хочет доверять стороннему сервису. Я отвечу, что лор гоняет трафик через подобную систему, и почему-то это никого не смущает.

anonymous ()
Ответ на: комментарий от Slack

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

Но лучше так не делать, конечно.

firkax ★★★ ()
Ответ на: комментарий от anonymous

На нормальной

докер

Не сходится. А на нормальной ОС (freebsd 9) действительно можно поставить свежий nginx, безо всяких идиотских докеров.

firkax ★★★ ()
Ответ на: комментарий от cocucka

Собрать свежий апач из портов скорее всего можно и с девятки. Но лучше собирать свежий nginx, а от апача избавляься.

firkax ★★★ ()
Ответ на: комментарий от firkax

я тоже запускал от десятки в девятке, и тоже все более-менее сносно работало. Но тут никто не гарантирует, что что-то все же может сломаться. И у топикстартера 9-ка, а актуальная версия сейчас 13.

Slack ★★★★ ()
Ответ на: комментарий от firkax

все так, но если у него овердофига сайтов, + со всякими .htaccess, - переписывать конфиги может быть утомительно )

Slack ★★★★ ()
Ответ на: комментарий от firkax

Насчёт nginx’а согласен. Я б тоже сразу с ним бы попробовал.

cocucka ★★★★★ ()
Ответ на: комментарий от firkax

То есть когда у него фря 9 торчит голой жопой наружу по http, это нормально, а когда поверх этого же прикрутить реверс прокси - это становится дарением данных? Окей.

anonymous ()
Ответ на: комментарий от anonymous

http и то, что там старая версия ОС, никак взаимно не усиливают плохие последствия друг друга.

Чтобы украсть данные из http, надо предпринять активные действия (установить сниффер, например, или даже организовать активный mitm). А клаудфлару ты сам всё отправлять будешь и сразу с автоматической возможностью любых mitm-ов с его стороны.

firkax ★★★ ()
Ответ на: комментарий от anonymous

Сервер не свой?

VDS, да. Там виртуализация от хостера на основе BSDшных же решений (на основе перепиленного Jail, ЕМНИП).
Сейчас хостер эти VDSы поддерживает только в легаси-режиме, при новых заказах предлагается KVM и ещё что-то.

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 2)

Я правильно понимаю, что на этой версии FreeBSD задача нерешаема

Ну так возьми и попробуй, в чём проблема?

zgen ★★★★★ ()
Ответ на: комментарий от zgen

Ну так возьми и попробуй, в чём проблема?

Ну первым делом, все мануалы по Let’s Encrypt предлагают поставить из портов certbot, в имеющихся портах certbot-а нет, обновление портов до текущего среза делает их на девятке неработоспособными.

Можно как-то по-другому?

hobbit ★★★★★ ()
Ответ на: комментарий от firkax

Ну тогда можешь удалять аккаунт на лоре, потому что он гоняет трафик через куратор.

anonymous ()
Ответ на: комментарий от hobbit

Почему перепиленного? Обычный jail, наверно, он уже давно полностью достаточен чтобы виртуальный хостинг предоставлять.

firkax ★★★ ()
Ответ на: комментарий от pekmop1024

Там в списке, на который анонимус ссылку дал, вообще дофига всего, есть, например, некий uacme на сях… :)

…о, и даже mod_md к Апачу!

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

1. в имеющихся портах
А что, кроме портов софт взять неоткуда?

2. certbot-а нет
Ииии?
https://letsencrypt.org/docs/client-options/

3. обновление портов до текущего среза делает их на девятке неработоспособными
А почему прям до текущего? Что, вчера в текущем certbot появился, а позавчера не было?

zgen ★★★★★ ()

Поставь сервер на Go, например Caddy/Traefik. Они одним бинарем со своим встроенным в Go крипто. LetsEncrypt встроен

vertexua ★★★★★ ()
Последнее исправление: vertexua (всего исправлений: 2)
Ответ на: комментарий от hobbit

Сертификат ты можешь хоть на листочке сгенерить (ключ). Вопрос то в другом - в какие алгоритмы у тебя веб-сервер умеет.

anonymous ()
Ответ на: комментарий от anonymous

Не попробуем, не узнаем. Go бинари полностью статичны и требует только ОС. Даже на libc не зависят. В докер контейнерах работают вообще только с /proc, /dev, /sys

vertexua ★★★★★ ()
Ответ на: комментарий от vvn_black

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

abcq ★★ ()

Пора, а в чём сакральный смысл сидеть на такой старой оси?

«Работает — не трожь», конечно, круто, но не для софта, который можно взломать.

fernandos ★★★ ()

Качаешь всё в одно место

nginx https://nginx.org/download/nginx-1.20.2.tar.gz

pcre https://sourceforge.net/projects/pcre/files/pcre/ (в документации написано что нужно 4.5 - 8.43, чем отличаются не знаю)

openssl https://www.openssl.org/source/openssl-1.1.1m.tar.gz

#!/bin/sh -e

tar xf nginx-1.20.2.tar.gz
tar xf openssl-1.1.1m.tar.gz
tar xf pcre-*.tar.gz

cd nginx-*
./configure --prefix=/usr/local/nginx --with-debug \
  --with-pcre=../pcre-(тут_версия) --with-openssl=../openssl-1.1.1m \
  --without-http_uwsgi_module --without-http_scgi_module --without-http_memcached_module --with-http_ssl_module \
  --with-http_v2_module \
  --http-client-body-temp-path=/var/nginx/client_body_temp \
  --http-proxy-temp-path=/var/nginx/proxy_temp \
  --http-fastcgi-temp-path=/var/nginx/fastcgi_temp \
  --error-log-path=/var/log/nginx-error.log \
  --pid-path=/var/run/nginx.pid \
  --conf-path=/usr/local/etc/nginx/nginx.conf
make
make install
firkax ★★★ ()
Ответ на: комментарий от firkax

качаешь всё в одно место, запускаешь всё из одного места ;) Ну а так конечно да, скорее всего можно понасобирать все из портов или из исходников и вроде как должно еще жить 9.2 не такое уж и старье, люди умудрялись жить на 4 когда была 9.

abcq ★★ ()
Ответ на: комментарий от anonymous

Вопрос то в другом - в какие алгоритмы у тебя веб-сервер умеет.

Да, и это тоже, я же неспроста в ОП про старый OpenSSL упоминал…

hobbit ★★★★★ ()
Ответ на: комментарий от anonymous

Тут никакого замусоривания не произойдёт, всю установку можно будет целиком снести одной командой

rm -Rf /usr/local/nginx /usr/local/etc/nginx /var/nginx

firkax ★★★ ()

Обновить ОС по условиям хостинга нельзя

Как это регламентируется? Каким образом хостера вообще касается что там крутится на сервере?

slovazap ★★★★★ ()
Ответ на: комментарий от hobbit

Ну первым делом, все мануалы по Let’s Encrypt предлагают поставить из портов certbot, в имеющихся портах certbot-а нет, обновление портов до текущего среза делает их на девятке неработоспособными.
Можно как-то по-другому?

Возможно, тебе это поможет:

Настройка сертификатов Let's Encrypt HTTPS на веб-сервере NGinx

Кстати, у меня была возможность не обновлять систему, с моими версиями openssl только сыпались предупреждения LetsEncrypt, что в следующем релизе уже работать не будет. Можно было просто докинуть сертификатов, чтобы у самодельных краулеров было доверие хосту по HTTPS. Но я подумал, что если есть возможность, лучше обновиться, и уже обновился.

Xintrea ★★★★★ ()
Ответ на: комментарий от anonymous

Я не проспал, все сертификаты были обновлены вовремя.

А проблемы возникли при обслуживании сервера из-за того, что новый корневой сертификат LetsEncrypt неизвестен в устаревшем Debian 8, и консольные команды по работе с сетью через HTTPS из-за этого тупили.

Xintrea ★★★★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.