#wordpress

5 постов
пост №1204Разработка и инженерия

Карагодина Степана Ивановича расстреляли 21 января 1938. Почти у всех нас в России есть истории, связанные с большим террором — у кого-то предков сослали или расстреляли, кто-то — потомок палачей, бывает и оба вместе. Денис Карагодин уже много лет делает удивительный проект — расследует, кто и как убил его прадеда.

Позавчера Денис опубликовал на своем сайте востановленные нейросетями цветные фотографии убийц и предсмертную записку руководителя Томского НКВД. Смотреть жутко, потому что это обычные фотографии обычных людей, ничего особенного на лицах нет.

После этой публикации на сайт пришли в 247 раз больше посетителей, чем обычно и он упал. Денис написал мне в телеграм, дал доступы к серверу и мы быстро его подняли. Ниже краткая инструкция, как спастись от адского трафика новостному сайту.

У Дениса, как и у многих медиа, wordpress на виртуалке и cloudflare для защиты от DDoS. Но, также как у многих, у него не были правильно настроены кеши. Кеш — это подготовленный заранее ответ сервера, который хранится в памяти и отдается по запросу пользователя практически мгновенно, с минимальной нагрузкой на сервер. Кешировать сайт можно на многих уровнях, начиная с самого вордпресса, заканчивая nginx и серверами cloudflare.

Я выбрал самый простой и бронебойный вариант — на серверах cloudflare. В этом способе запросы читателей вообще не доходят до вашего сервера, все страницы (из кеша) отдают серверы Cloudflare. Для того, чтобы его включить нужно: 1) настроить агрессивное кеширование в админке cloudflare; 2) порой ещё нужно настроить заголовки ответа сервера, которые разрешают кеширование страниц, для этого достаточно добавить две строчки в конфигурацию nginx. Voilà!

Ну а дальше я сконтачил Дениса с Васей Озеровым, основателем классной компании сисадминов fevlake, чтобы они потом сделали всё основательно и на века. Кстати, у Васи есть классный канал про devops, рекомендую.

Обращайтесь к нам с Федей, мы делаем так, чтобы сайты не падали!

пост №1194Интернет и платформы

Гугл пушит свои веб-сторизы (amp-stories). Будет показывать их в карусельке наверху результатов поисковой выдачи не только для новостей, но и для остальных сайтов.

Инструменты создания сторизов для не-программистов: раз, два.

Плагин для вордпреса.

Документация для разработчиков: раз, два, три.

☠️

пост №804Продукты и дизайн

P.S. Анонс был сделан на день ранее планируемого срока, так что фичу пришлось запускать вспешке. Чувак хотел сделать отложенный пост в официальном wordpress-блоге, но по ошибке указал дату в прошлом и система просто запостила новость вместо того, чтобы ругнуться. ВИНОВАТ ДИЗАЙНЕР

пост №76Бизнес и стартапы

Ghost объявил грант для журналистов. Для каждой из трех выигравших команд «сделают сайт» и будут помогать со всеми техническими вопросами core-разработчики платформы, которая грозится стать следующим Wordpress — стандартным ответом на вопрос «я пишу тексты, как мне сделать сайт?».
Очень хороший ход: ghost поймет, что нужно редакторам, а хорошие журналисты получат мощную техническую поддержку. Мы все будем пользоваться ещё более крутым движком.
https://ghost.org/journalism/

пост №65Разработка и инженерия

Доброе утро.

PHPMailer (этой библиотекой для отправки писем пользуются буквально миллионы сайтов) содержит критическую уязвимость Remote Code Execution из-за забытого эскейпинга поля from.

Вкратце: если сайт даёт вписать адрес отправителя письма и использует уязвимую библиотеку для их отправки — то атакующий сможет выполнить любую команду на сервере с правами сайта (например, удалить сайт или отправлять с него спам).

Мне особенно интересны 2 момента:

1. Dawid Golunski сообщил об ошибке публично 25.12.2016, но пока не пишет, в чем конкретно заключается уязвимость и не показывает PoC код [proof of concept, пример кода, эксплуатирующего уязвимость]. Это, очевидно, сделано для того, чтобы скрипткиддисы [малокомпетентные хакеры (kiddie — ребенок)] не использовали его пример как инструкцию к действию. При этом понять, в чем заключалась уязвимость, можно просто посмотрев на коммит, исправляющий эту ошибку.

2. Прикольно, как относятся к своим пользователям разные проекты. Drupal (популярная CMS, движок для сайта) не включает в себя PHPMailer напрямую. Тем не менее, они выпустил PSA (public security advisory, условно письмо АААА всем обновляться срочно) через 12 часов после публичного описания ошибки, Joomla сделала это через сутки, а Wordpress не написал ничего до сих пор. Я попытался найти публичный security advisory list для Wordpress и угадайте что?

Очень классный комментарий одного эксперта — «обновите свой сайт сами, пока это не сделал за вас хакер». Обычно взломщики чинят уязвимости, через которые проникли в систему, чтобы последующие атакующие не мешали спокойно эксплуатировать жертву.

Как много хакнутых сайтов мы увидим в ближайшие месяцы?