Век живи - век учись, или что я узнал за прошлый год

· автор BaRoN · На чтение уйдёт 4 минут · (661 слов)

Некоторые из этих поразивших меня вещей были замечены мной ещё в 2015, так что я долго думал, как бы их сюда приплести. Но ларчик открылся просто: в конце концов, я совсем недавно начал новый виток вокруг солнца. А будь я деревом, на мне бы выросло очередное годичное кольцо. Так что почему бы и не взять мой день рождения за отправную точку?

SSH ключи нового поколения, шифрование почты

Самое старое тайное знание (хоть и начал им пользоваться не так давно) - это про SSH ключи. Ну и Слава Сноудену, чего уж там. Так или иначе, года 4 назад, когда появились первые подтверждения некриптостойкости RSA, я увеличил размер своего ключа до 2048 бит. Позднее на маке пользовался даже 4096-битным ключом (но за пределы мака он не ушёл и был безжалостно стёрт впоследствие). Не так давно выяснилось, что американское АНБ предположительно имеет бэкдор для RSA. Тут выскочили товарищи, которые предложили использовать эллиптическую криптографию. А чо? Сказано - сделано, хорошая же тема. Но не тут-то было: было доказано, что на новый алгоритм возможна атака. А ведь в своё время Циммерман, автор PGP, предложил ещё один алгоритм. Так в мир начал проникать эллиптический алгоритм ed25519.

Если что, ключ можно сгенерировать командой

ssh-keygen -t ed25519

Он сохранится в отдельный файл, id_ed25519, который будет использоваться одновременно с id_rsa. В общем, нет повода не делать себе эллиптический ключ.

Вообще, история показывает, что криптопаранойя на меня находит как раз тогда, когда присутствует явная напряжённость. Так у меня было в середине нулевых, так вот и сейчас. В середине нулевых, несмотря на использование GMail, вся обработка почты проводилась на моём компьютере. Почту я обычно подписывал своим ключом, а если публичный ключ получателя мне был известен - то и шифровал, конечно. Ну и что, что внутри быи просто патчи для licq или sylpheed-claws, или обсуждения в списке рассылки Sysiphus. Но потом всё как-то кануло в лету, Обама грустно жал кнопку «Перегрузка» (вроде, имея в виду «перезагрузку»), времени поддерживать свои скрипты не осталось, да и переста я переписываться с красноглазиками. Но сейчас - вообще другое дело. Совершенно точно известно, что переписку вскрывают и читают. Что эксплуатировали уязвимость в протоколе обмена ключами, что неизвестное количество ключей утекло дяденькам из NSA. Самое время что-то менять :) Пока планирую пользоваться Mailvelope.

Файл .user.ini

Всё вот как-то переживал я, что в PHP-FPM, которым я пользуюсь давно и всерьёз, нет поддержки .htaccess. Не то, чтобы она мне была прямо жизненно необходима, но всё-таки можно же в ней найти какие-то плюсы. Ну там, время поправить, не имея рут доступа или типа того. Памяти подкинуть или ещё чего. И вот я совершенно случайно узнал о существовании файла .user.ini, который читает php-fpm. Синтаксис совпадает с php.ini. Реврайтинг адресов (то, что чаще всего делали через .htaccess) на этом не сделаешь, но мне оно и не надо.

docker завиимости

Нету веры докеру, не может он их разруливать. Начал с горя заводить через /etc/rc.local, но ведь костыль костылём же. docker-compose мне кажется годным только для рзработки. Народ пишет собственные стартап скрипты для systemd:

Сначала решаем вопрос зависимости:

After=docker.service
Requires=docker.service
After=docker.mysql.service
Requires=docker.mysql.service

А затем

ExecStartPre=-/usr/bin/docker stop website
ExecStartPre=-/usr/bin/docker rm website
ExecStartPre=/usr/bin/docker pull yourcompany/website
ExecStart=/usr/bin/docker run --name website  --link mysql:mysql --rm yourcompany/website

При этом, само собой,

systemctl enable docker.mysql
systemctl enable docker.website

В общем, ждём пока.

В PHP появились Request и Response

Наконец-то, не прошло и полгода и 20 лет. Почти как на Java! Могут быть даже разные реализации у классов разных фрэймворков. Я ковыряю slim, если что. Вообще стандарт называется PSR-7. Вот уж чего бойся. Шучу, на самом деле вещь толковая, непонятно, где они 20 лет назад были. Потом оказалось, что этих PSR ещё и много. В общем, печально это всё. Но учу для самообразования. Есть интересный коммерческий проект, который костыль на костыле. И хотят его зарелизить как opensource, перед этим немножко причесав код. Вот причёсываю. Честно говоря, даже сомневаюсь, что мне это всё оплатят - чем больше там ковыряюсь, тем больше вспоминается недавний стишок, увиденный в блоге у моего товарища и коллеги:

Прибежали в избу дети,
Второпях зовут отца:
«Мы внезапно осознали
все масштабы пиздеца!»

Полезное