Порядок в /etc/ssh: Зачем дробить sshd_config и как правильно настраивать SSH через модули

Когда вы арендуете новый сервер, первой же инженерной задачей становится базовое укрепление периметра. Нужно убрать SSH со стандартного 22-го порта, жестко заблокировать авторизацию по паролям, оставить строго авторизацию по ключам Ed25519 и заблокировать прямой вход для учетной записи root. Девять из десяти мануалов в интернете до сих пор предлагают один и тот же устаревший алгоритм: открыть файловым редактором главный конфигурационный файл /etc/ssh/sshd_config, пролистать пару сотен строк полотна и начать вручную менять параметры.

Забудьте про этот подход. Лезть руками в дефолтный системный файл операционки — это откровенно плохой тон и залог проблем при будущем обслуживании сервера. В современных дистрибутивах Linux (включая Debian) по умолчанию реализована модульная структура конфигурации. Вместо редактирования монолитного файла все свои настройки мы выносим в отдельные, изолированные файлы внутри специального каталога. Давайте разберем, как устроен этот механизм и почему он бережет время и нервы при эксплуатации сервисов.

Читать далее «Порядок в /etc/ssh: Зачем дробить sshd_config и как правильно настраивать SSH через модули»

Логи не врут: Как с помощью grep, tail и less мгновенно находить причины сбоев в Linux

В прошлой статье про укрощение утилиты ss мы разбирали, как за секунды вычислить, какая именно программа заняла порт или почему сервис не может стартовать с ошибкой Address already in use. Но представьте следующую сцену: порт свободен, процесс успешно запустился, а сервис все равно работает криво, отдавая пользователям 502 ошибку, или вообще тихо падает каждые 10 секунд. Что делать дальше? Гадать на кофейной гуще — занятие бессмысленное. Нужно идти туда, где фиксируется абсолютно каждое действие системы — в логи.

Читать далее «Логи не врут: Как с помощью grep, tail и less мгновенно находить причины сбоев в Linux»

Укрощение ss: Как быстро проверить, какие порты слушают твои сервисы в Linux

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

Каждый раз, когда вы разворачиваете новый проект — будь то еще один инстанс онлайн-радио или почтовый сервер — программа пытается занять свой «домик» в сети (порт). И классическая проблема, с которой сталкивается каждый: сервис тупо отказывается запускаться, выплевывая в логи ошибку Address already in use (адрес уже используется). Это значит, что какой-то другой процесс в системе уже занял этот порт, и ядро Linux чисто физически не позволяет перехватить на себя поток данных.

Читать далее «Укрощение ss: Как быстро проверить, какие порты слушают твои сервисы в Linux»

Переезд завершён: Сайт phoenix901 переехал на домен .com

Всем привет! Как и обещал, процесс постепенного выноса ресурсов в независимую доменную зону запущен. Наш основной сайт и блог официально переехали на новый адрес — phoenix901.com.

Остальные поддомены и сервисы, включая облако (Nextcloud), пока остаются на старом домене в ru-зоне — переносить их сейчас нет ни времени, ни горящей необходимости, так что они продолжают работать в привычном режиме.

Читать далее «Переезд завершён: Сайт phoenix901 переехал на домен .com»

Мысли вслух: усталость от бесконечного сетевого хаоса, 569-ФЗ и планомерный уход phoenix901 из ру-зоны

С каждым днём всё больше устаёшь от новостей, очередных подзаконных актов, регламентов и вечных закручиваний гаек в Сети. Занимаешься администрированием, кодишь, настраиваешь серверы, пытаешься строить нормальную и стабильную инфраструктуру, а в ответ получаешь лишь постоянную головную боль.
Читать далее «Мысли вслух: усталость от бесконечного сетевого хаоса, 569-ФЗ и планомерный уход phoenix901 из ру-зоны»

df и du: Как быстро найти, какая папка сожрала место на диске в Linux

Одна из самых частых ситуаций в практике администрирования: базы данных начинают отдавать ошибки, веб-сервер перестает записывать сессии, а при попытке дополнить файл конфигурации терминал сыплет сообщениями No space left on device. Диск забит на 100%. Хуже всего, когда это происходит внезапно, и вам нужно прямо сейчас найти виновника, чтобы поднять упавшие сервисы.

Для быстрой диагностики дисковой подсистемы в Linux есть два базовых инструмента: df и du. Они выполняют принципиально разные задачи: один показывает общую картину по смонтированным разделам, а второй — детально препарирует вес конкретных папок и файлов. Сегодня разберем, как с их помощью за полминуты локализовать и устранить утечку дискового пространства.

Читать далее «df и du: Как быстро найти, какая папка сожрала место на диске в Linux»

Шпаргалка по curl: Проверка HTTP-заголовков, ответов сервера и TTFB из консоли

Когда вы разворачиваете веб-ресурс, настраиваете реверс-прокси, вам постоянно нужно проверять, как сервер отдает контент во внешний мир. Открывать для каждой микро-проверки тяжелый браузер, чистить кэш вручную или ковыряться в панели разработчика (F12) — неэффективно.

В консольной среде главным инструментом для тестирования сетевых запросов является утилита curl (Client URL). Она позволяет имитировать поведение любого клиента, проверять SSL-сертификаты, прокидывать кастомные заголовки и детально препарировать ответы сервера. Сегодня разберем базовые приемы работы с curl, которые пригодятся в повседневной практике для быстрой диагностики сайтов напрямую из терминала.

Читать далее «Шпаргалка по curl: Проверка HTTP-заголовков, ответов сервера и TTFB из консоли»

Управление правами в Linux: Раз и навсегда разбираемся с chmod и chown

Классическая картина: начинающий администратор разворачивает сайт на WordPress или переносит скрипты, и внезапно сталкивается со сбоем — веб-сервер не может загрузить картинку, обновить плагин или выплевывает ошибку доступа Permission Denied. Самое частое и худшее «решение», которое советуют на сомнительных форумах — бахнуть команду chmod -R 777 на всю директорию.

Давать полные права на чтение, запись и выполнение абсолютно всем пользователям в системе — это должностное преступление против безопасности сервера. Любой уязвимый скрипт или загруженный шелл получит полный контроль над вашими файлами. Безопасность и стабильность Linux начинаются с жесткой дисциплины прав доступа. Сегодня мы разберем физику работы утилит chown и chmod, чтобы вы навсегда забыли про слепое выставление трех семерок.

Читать далее «Управление правами в Linux: Раз и навсегда разбираемся с chmod и chown»

Шпаргалка по tar: Как правильно архивировать файлы в Linux с сохранением прав

Казалось бы, архивация файлов — базовая задача, с которой начинается знакомство с терминалом Linux. Но именно на ней чаще всего сыплются новички. Типичная ошибка: распаковал архив с сайтом или бэкапом на новом сервере, а всё сломалось — веб-сервер выдает ошибку доступа (классическая Forbidden 403), скрипты не исполняются, права улетели в дефолтные.

В Linux права доступа (Permissions) и владельцы файлов (Ownership) — это основа безопасности. Обычные утилиты компрессии при слепом копировании могут сбросить эти метаданные. Чтобы этого не происходило, стандартном автоматизации де-факто является утилита tar (Tape Archive). Она умеет не просто сжимать данные, а упаковывать их в один поток, намертво вшивая внутрь информацию о владельцах и масках прав. Сегодня разберем чистые CLI-команды для повседневной работы.

Читать далее «Шпаргалка по tar: Как правильно архивировать файлы в Linux с сохранением прав»

Защита терминальных сессий: Как GNU Screen спасает терабайтные бэкапы от внезапного обрыва SSH

Классическая история из админской практики: запускаешь тяжелый скрипт архивации (например, backup.sh), который должен упаковать несколько терабайт критических данных на сервере. Процесс долгий, ты сидишь и смотришь в консоль. И тут на самом интересном месте моргает провайдер, отваливается локальный Wi-Fi или рвется сессия OpenSSH / Putty. Связь восстанавливается через минуту, ты заходишь на сервер — и всё прервалось.

Дескрипторы закрылись, демон SSH отправил сигнал SIGHUP (Hangup) всем дочерним процессам внутри этого терминала, и ядро Linux их послушно прибило. Архив побит, время потеряно. Чтобы этого не происходило, нужно изолировать выполнение от сессии пользователя. Использовать для этого утилиту виртуальных экранов — GNU Screen. Она переносит дескрипторы ввода-вывода в безопасную зону оперативной памяти, полностью отвязывая процесс от стабильности твоего сетевого кабеля.

Читать далее «Защита терминальных сессий: Как GNU Screen спасает терабайтные бэкапы от внезапного обрыва SSH»