PDA

Просмотр полной версии : Настройка Linux, Freebsd, *nix: базовый чек-лист


DeHook
07.07.2026, 23:00
Когда начинаешь ковыряться в настройке Unix-подобных систем — будь то Linux, FreeBSD или какие-то другие *nix — глаза разбегаются от всяких конфигураций, команд и общей философии. Мне кажется, главное в такой работе — это иметь под рукой базовый чек-лист и не пытаться сразу влезать во всё подряд. Собственно, хочу поделиться тем списком шагов и проверок, который обычно сам использую при настройке чистой системы. Может, кто-то возьмёт что-то для себя.

Что вообще такое Unix-подобные системы и почему их настройка важна

Unix-подобные OS — это класс операционок, которые во многом похожи между собой по архитектуре и философии: текстовые конфиги, чёткое разделение прав, модульность и открытость. Например, Linux и FreeBSD используют kernel, который можно кастомизировать, а в их основе лежит идея управления процессами, пользователями и службами через простой, но мощный набор инструментов. Фишка в том, что настройка — это не только про внешний вид или удобство, а про стабильность, безопасность и оперативность в устранении проблем.

Где это всё применяется? Практически везде. От домашнего сервера, где роутится медиа или запускается пара личных веб-проектов, до серьезных дата-центров и корпоративных облаков. Даже ноутбук с Linux часто требует базовой настройки, чтобы не мучиться с сетью или обновлениями. А на servers и appliance это особо важно, чтобы всё работало бесперебойно и без дырок.

Базовый чек-лист для настройки *nix-системы

Дальше до мелочей распишу, что обычно делаю для базовой настройки. Это не супер-подробный мануал, а именно основные контрольные точки. Если что — дополняйте в комментариях.

1. Актуализация и обновление системы
- Обновление пакетов с использованием стандартного менеджера: apt для Debian/Ubuntu, yum/dnf для RHEL/CentOS, pacman для Arch, portupgrade или pkg для FreeBSD.
- Проверяю, что установлены все security-патчи — некоторые уязвимости закрываются сразу, и этим нельзя пренебрегать.
- Для сервисов, которые обновились и работают в фоне, если нужно, делаю рестарт — например, sshd, nginx, systemd-демоны.
- Пример: на Ubuntu после apt update && apt upgrade всегда проверяю systemctl status sshd, чтобы скорее всего перезапустить службу, если ядро kernel обновилось.

2. Управление пользователями и группами
- Проверяю список пользователей и группы в /etc/passwd и /etc/group.
- Добавляю sudo-доступ только тем, кто реально его нуждается, через группу sudo или wheel.
- Настраиваю политику паролей через PAM (файл /etc/pam.d/common-password или /etc/security/pwquality.conf), чтобы минимальная длина, сложность и срок действия паролей были адекватными.
- Пример: на FreeBSD для безопасности запрещаю логин по root в sshd_config, а админов добавляю в wheel-разрешённых юзеров.

3. Службы и демоны: что оставить, что убрать
- Внимательно смотрю, какие службы идут в автозапуске systemctl list-unit-files --type=service (Linux) или rcconf и service в BSD. Отключаю всё лишнее, чтобы уменьшить поверхность атаки и не грузить систему.
- Обязательно запускаю sshd и ntpd/chronyd — синхронизация времени критична, особенно на серверах.
- Настраиваю автозапуск при загрузке только необходимых сервисов.
- Пример: на сервере с вебом выключаю bluetooth, cupsd и прочие демоны, которые не используются и могут повлиять на производительность.

4. Сетевая настройка и базовая безопасность
- Проверяю конфигурацию сетевого интерфейса: addresses, routes, nameservers.
- Настраиваю firewall: iptables или nftables для Linux, pf в FreeBSD. Основная задача — закрыть всё лишнее, разрешить только нужные порты.
- Анализирую открытые порты и сокеты через netstat -tulpen или ss -tulnp, чтобы узнать, какие сервисы слушают сеть.
- Настраиваю fail2ban или аналоги для защиты ssh от перебора пароля и других атак.
- Пример: на русском домашнем сервере у меня в iptables настроено правило DROP по умолчанию и явное ACCEPT для 22 (ssh), 80/443 (веб).

5. Файловая система и контроль прав
- Осматриваю разметку и точки монтирования; проверяю, что /tmp и /var/tmp не переполнены старыми временными файлами.
- Просматриваю права доступа на файлы конфигурации в /etc и /var/log, чтобы они были доступны только нужным пользователям.
- На FreeBSD иногда добавляю опции в fstab, чтобы ограничить запись в монтируемых точках (например, noexec или nosuid для временных каталогов).
- Пример: на сервере стараюсь поддерживать 755 для папок, 644 для конфигов, и запрещаю гостевому «пользователю» что-то делать в /etc.

6. Логирование и мониторинг
- Поглядываю логи через journalctl или tail -f /var/log/syslog, /var/log/messages, /var/log/auth.log.
- Включаю ротацию логов через logrotate, чтобы файлы не разрастались и не исчерпывали место.
- Ставлю базовый мониторинг — htop для процессов, iostat для дисков, vmstat для памяти и нагрузок. Можно использовать готовые скрипты или простые cron-уведомления.
- Пример: при настройке mail-сервера всегда проверяю логи postfix и dovecot на ошибки и на попытки взлома.

Типичные ошибки, которые часто встречаются

- Настройки timezone забывают менять, из-за этого скрипты, cron и логирование работают неправильно — особенно критично для расписаний бэкапа.
- SSH настроен так, что root может заходить по паролю, а ключи не используются — такая конфигурация часто становится дырой для атак.
- Простой или пустой пароль, а PAM настроен очень слабо или некорректно.
- Забывают обновлять систему вовремя, игнорируя уведомления об уязвимостях.
- Логи неправильно ротируются, что приводит к заполнению дискового пространства, а система начинает «падать» из-за отсутствия места.
- Активны лишние службы, которые не нужны и могут давать дополнительные точки входа.
- Ошибки в конфиге файрвола, когда открыты слишком много открытых портов.

Полезный софт, который всегда под рукой

- htop — мониторинг процессов и ресурсов
- netstat/ss — анализ сетевых сокетов и соединений
- fail2ban — автоматическая блокировка подозрительных попыток входа по ssh и другим сервисам
- auditd — аудит системных событий, полезен для отслеживания безопасности и расследования инцидентов
- logrotate — управляет объёмом логов, чтобы не забивался диск
- vmstat, iostat — для отслеживания состояния памяти, процессора и дисков
- tcpdump — снятие трафика для диагностики сетевых проблем
- sudo и своя база пользователей с группами — чтобы управлять доступом без сюрпризов

FAQ для тех, кто только начал ковыряться с *nix

- Нужно ли менять shell по умолчанию?
Чаще всего bash или zsh хватает за глаза, зшч особенно нравится интерактивно. Менять стоит, если нужен специфичный функционал или удобства, например fish с автодополнением.

- Как автоматизировать обновления?
Можно настроить cron для запуска apt/yum с пуш-уведомлениями на почту. В Ubuntu есть unattended-upgrades — автоматическое применение патчей безопасности.

- Как проверить, что firewall развернут правильно?
Проверяешь список правил через iptables -L -v -n или аналог для nftables/pf, пробуешь подключиться к разным портам с другого хоста. Есть nmap — отличная штука для сканирования открытых портов.

- В чем отличие настройки зон времени?
Unix-системы обычно используют /etc/localtime, который должен быть символической ссылкой на зону из /usr/share/zoneinfo. Легко проверить date и timedatectl status. Неправильный часовой пояс сбивает cron и вызывает путаницу с логами.

- Как проверить, что служба действительно работает?
systemctl status имя_службы (Linux) или service имя статус (BSD) показывают состояние. Можно смотреть в логи сервиса.

- Можно ли оставить root для управления системой?
Технически — да, но лучшая практика — отключать ssh-доступ для root и управлять системой через пользователей с sudo-доступом.

***

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

Что думаете? Какие пункты для базовой настройки *nix-системы считаете самыми важными? Может, есть что интересное добавить в этот чек-лист? Хотел бы узнать, кто что обычно делает после установки и какие грабли ловит чаще всего.