Хроника трех суток: Доменная лихорадка, проектирование интерфейса «вслепую» и триумф кастомной защиты

Если прошлая неделя была временем экстренного переезда и разрушения старых мостов, то последние 72 часа стали временем вдумчивой настройки и финализации всего, что было поднято «на живую». Когда основная миграция завершилась, я не остановился. У меня появилось четкое видение того, как должна выглядеть моя инфраструктура и визуальная часть проекта.

Ниже — подробная фиксация того, как я скупал домены, как автоматизировал SSL, почему выкинул модный софт и как проектировал интерфейс, опираясь на чистую логику HEX-кодов и обратную связь.

Воскресенье, 21 декабря: Доменная лихорадка и тактика Honeypot

Воскресенье прошло в состоянии, которое я называю «доменной лихорадкой». Для инженера домен — это не просто адрес, это инструмент и актив. Увидев на аукционе четырехбуквенный 2aim.ru, я понял, что этот лот должен быть моим.

Четырехбуквенники в зоне .ru, имеющие смысл (To Aim — целиться, наводить на цель), — это большая редкость. Я купил его не для того, чтобы открывать там публичный сервис. Сейчас 2aim.ru — это мой основной Honeypot (приманка).

Логика здесь проста: ботнеты непрерывно сканируют короткие домены в автоматическом режиме. Я настроил на нем жесткий 301-й редирект на основной блог. Это работает как идеальный фильтр грубой очистки. Любой бот, который заходит на 2aim.ru и пытается прощупать стандартные дыры вроде .env или wp-config.php, мгновенно палится. Мой сервер перехватывает этот запрос еще до того, как бот коснется основного контента, и отправляет IP в пожизненный бан.

В этот же день я расширил портфель:

  • 40gbps.ru — техно-манифест, домен про мощь каналов связи.
  • 07plus.ru и 01plus.ru — свободные цифровые сочетания «в запас».
  • phoenixradio.ru — финальный шаг по вытравливанию старого бренда из адресных строк.

Понедельник, 22 декабря: Автоматизация «бессмертия» и битва за безопасность

В понедельник я занимался «затягиванием гаек» в бэкенде. Главная задача — полная автономность всех процессов обслуживания.

Глобальные хуки для Certbot

Я автоматизировал обновление SSL-сертификатов. Стандартная схема «обновил файл и забыл» не работает, так как Apache должен перечитать файлы с диска. Чтобы не делать systemctl reload apache2 вручную или по таймеру, я настроил Deploy Hooks.

В директории /etc/letsencrypt/renewal-hooks/deploy/ я разместил скрипт, который срабатывает мгновенно после успешного обновления любого сертификата. Теперь вопрос с SSL закрыт навсегда — обновление и релоад происходят в связке без моего участия. Проверил принудительным выпуском — отрабатывает за секунды.

Радио: Перенос и ProxyPass

Вчера же я завершил переезд Радио на phoenixradio.ru. Технически я просто перенес и адаптировал настройки ProxyPass, которые уже стояли на старом домене.

Проблема в том, что Icecast работает на порту 8000, который часто блокируется корпоративными фаерволами. Проксирование потока через Apache на стандартный 443 порт (HTTPS) решает эту проблему. Теперь радио доступно везде, где работает обычный веб, а соединение полностью зашифровано, что исключает ошибки смешанного контента в плеере.

Почему я удалил CrowdSec

Вчера же я поставил точку в эксперименте с CrowdSec. Это популярная система, работающая на «коллективном разуме» и глобальных базах угроз.

Практика показала: на моем сервере это лишнее звено. Пока CrowdSec анализировал сигналы из облака, мой кастомный Fail2Ban в связке с Nftables уже банил ботов из сетей Microsoft Azure на второй попытке. Скорость реакции локального снайпера оказалась выше, чем у распределенной сети. Я предпочитаю, чтобы мой «дробовик» работал мгновенно и предсказуемо по моим правилам, поэтому CrowdSec был полностью удален. Чистота системы и отсутствие лишних демонов для меня важнее хайпа.


Вторник, 23 декабря: Дизайн через логику HEX-кодов

Сегодня утром я поставил финальную точку в визуальном стиле проекта. Для меня, как для человека незрячего, проектирование интерфейса — это не работа с картинками, а работа с математикой контраста.

Я не вижу пикселей, но я знаю структуру HEX-кодов. Процесс шел итерациями: я вносил правки в CSS, делал скриншоты и скармливал их нейросетям для получения технического описания — где какой фон, как читается шрифт, нет ли артефактов. Параллельно я получал фидбек от жены и Макса.

Возврат к Phoenix Evolution v2.0

Вчера мы пробовали «медный» стиль (#B33A00). По описаниям это выглядело солидно и объемно, но сегодняшний утренний фидбек от жены был однозначным: контраст важнее объема. Медный цвет на черном фоне оказался слишком спокойным, «тихим».

Я принял решение вернуть Phoenix Evolution v2.0. Это максимально контрастный, «инженерный» интерфейс:

  • Фон: Идеальный черный (#000000). Полная пустота, на которой всё остальное выглядит максимально четко.
  • Текст: Чисто белый (#ffffff). Предельный контраст для комфортного чтения больших технических текстов.
  • Ссылки: Терминальный зеленый (#00ff99). Я оставил их зелеными, потому что это цвет сигнала. Читатель сразу видит точки взаимодействия, не вчитываясь в абзацы.
  • Логотип: Единственная точка огня. С помощью CSS-фильтров я перекрасил его в ярко-оранжевый прямо в коде.

Нейронка, анализируя итог, выдала вердикт: «Сайт воспринимается как современное техническое медиа. Много воздуха, структура лаконична, акцент на тексте». Это именно то состояние, которое я стремился собрать у себя в голове.


Итог цикла

На сегодняшний день «стройка» завершена.

  • Инфраструктура полностью автономна: SSL обновляется сам, Apache релоадится по хуку.
  • Радио вещает через защищенный 443 порт.
  • Визуальный стиль утвержден и проверен.
  • Доменная сеть работает как воронка, отсеивающая ботов еще на подлете.

Я просто делал то, что считал правильным и логичным. В результате я получил чистую, быструю и полностью подконтрольную мне среду, в которой нет ничего лишнего. Теперь можно вернуться к тому, ради чего всё это затевалось — к контенту.

👁️ 30

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

четырнадцать − 9 =

root@phoenix901:~# connect
[×]

Получай дайджест раз в неделю.
Без спама.