![]() |
Как проверить настройки Linux, Freebsd, *nix — обсуждение
Введение
Если вы хотя бы раз сидели за настройкой Linux, FreeBSD или любой другой *nix-системы, то знаете, что проверить, всё ли работает как надо — дело не всегда тривиальное. Иногда после установки сервера или обновления системы ждёшь, что всё "загорится зелёным", а на деле появляются непонятные ошибки, недоступные сервисы или проблемы с производительностью. Чтобы избежать этого, полезно регулярно проходить некий чек-лист по проверке настроек системы. В этой теме постараюсь собрать основные моменты, которые помогут вам убедиться, что всё настроено правильно, и подкину несколько команд и хитростей для диагностики. Что вообще значит "проверить настройки" в *nix? Когда говорят про проверку настроек в Linux, FreeBSD и подобных системах, речь чаще всего идет о: - анализе конфигурационных файлов (например, /etc/ssh/sshd_config, /etc/network/interfaces, /etc/passwd и т.д.); - проверке статуса и автозапуска сервисов; - мониторинге сетевых параметров (IP, маршруты, firewall); - контроле прав доступа к файлам и папкам; - аудите пользователей и групп; - анализе логов; - проверке версий и целостности важных бинарников; - настройках безопасности (SELinux, AppArmor, pf/iptables). Это не просто так — именно эти параметры задают, как система ведёт себя и к каким ресурсам будет разрешён доступ. Зачем это делать? Проверять систему стоит в таких случаях: - Когда только что развернули сервер и хотите убедиться, что ничего не забыли; - Если появились непонятные сбои в работе приложений или сети; - Для аудита безопасности, чтобы найти слабые места; - Перед крупным апдейтом или переустановкой сервисов; - Чтобы подтвердить, что изменения в конфигурации прошли успешно и не сломали ничего другого; - Для обучения — полезно самому пройтись по настройкам, чтобы лучше понять систему. Чек-лист для базовой проверки настроек *nix-системы 1. Проверка пользовательских аккаунтов и групп - Посмотреть список пользователей: cat /etc/passwd - Проверить активных и заблокированных пользователей: faillog -u имя_пользователя, или passwd -S имя_пользователя - Просмотреть группы: cat /etc/group - Удостовериться, что у пользователя нет ненужных привилегий 2. Проверка прав доступа на важные файлы и каталоги - ls -l /etc/shadow (по умолчанию: 640 и владелец root) - Проверить /var/log — чтобы файлы логов были доступны для чтения соответствующим демонам - Проверить права каталога домашнего пользователя и конфигурационных файлов 3. Проверка сетевых настроек - ip a — для просмотра интерфейсов и их IP-адресов - ip route — чтобы увидеть таблицу маршрутизации - Проверить настройки DNS: cat /etc/resolv.conf - Проверить firewall (iptables/nftables/pf): iptables -L -v -n, nft list ruleset, pfctl -sr (FreeBSD) - Проверить слушающие порты: ss -tulnp или netstat -tulnp 4. Проверка статуса сервисов - systemctl status sshd (для систем с systemd) или service sshd status - Проверить автозапуск: systemctl is-enabled sshd - Убедиться, что службы работают от нужных пользователей 5. Проверка логов - tail -n 50 /var/log/syslog или /var/log/messages - journalctl -xe - Проверить логи приложений (например, /var/log/nginx/error.log) 6. Проверка безопасности - Проверить активность SELinux/AppArmor: sestatus, aa-status - Проверить наличие незакрытых уязвимостей (обновления, патчи) - Проверить наличие неавторизованных crontab-заданий (crontab -l) - Сканы на открытые порты: nmap localhost Примеры и советы на практике Проверка сетевых интерфейсов Когда вы раздаёте IP, важно проверить, что он прописан в текущей конфигурации и что интерфейс поднят: Команда: ip a Результат: 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0 valid_lft forever preferred_lft forever Если интерфейс не в состоянии UP или IP не назначен, значит что-то не так в /etc/network/interfaces или /etc/netplan/ и надо исправлять. Проверка прав на /etc/shadow Файл /etc/shadow содержит захешированные пароли, и доступ к нему может быть только у root и некоторых системных служб. Команда: ls -l /etc/shadow Ожидаемый результат: -rw-r----- 1 root shadow 1234 май 25 10:00 /etc/shadow Если права более "лёгкие", например 644, надо срочно исправлять через: chmod 640 /etc/shadow Проверка автозапуска сервисов и их статуса systemctl list-unit-files | grep enabled покажет все сервисы, которые стартуют с системой. Это важно, чтобы не было ничего лишнего, что съедает ресурсы и может самопроизвольно открывать порты. В качестве примера: systemctl status sshd даст возможность увидеть, запущен ли ssh-сервер и если нет — причину из логов. Типичные ошибки при проверке и настройке - Оставлять стандартные пароли у пользователей – вообще беда первая и главная; - Забывать закрывать порты, особенно после установки новых сервисов; - Неправильные права на доверенные каталоги и файлы, порой из-за копирования или бэкапов; - Не проверять, что firewall действительно работает; - Сбои в конфигурации при редактировании вручную без бэкапа — теряется возможность быстро вернуться к стабильному состоянию; - Игнорировать вывод логов — там всегда указывается первопричина проблем. FAQ В: Как быстро проверить, какие сервисы слушают на сервере? О: Используйте команду ss -tulnp или netstat -tulnp. Вы увидите список слушающих TCP/UDP портов с процессами и PID. В: Где находятся основные конфигурационные файлы сети? О: Зависит от дистрибутива. В Debian/Ubuntu это обычно /etc/network/interfaces или /etc/netplan/*.yaml, в CentOS/RHEL /etc/sysconfig/network-scripts/ifcfg-*, в FreeBSD — /etc/rc.conf и /etc/resolv.conf. В: Как проверить, что firewall включён? О: В Linux с iptables iptables -L -v -n покажет текущие правила. Для nftables — nft list ruleset. В FreeBSD — pfctl -sr. В: Можно ли сделать автоматическую проверку настроек? О: Есть разные скрипты и тулзы, например lynis — для аудита безопасности, scout2 для AWS систем, но зачастую проще сделать собственный чек-лист и периодически его проходить. В: Что делать, если после изменения настроек сеть пропала? О: Лучше всегда сохранять резервные копии конфигов. Можно восстановить из бэкапа, либо использовать консоль сервера (или KVM) для исправления или отката. Заключение Проверка основных настроек *nix-систем — это не какой-то сверхсложный ритуал, а просто систематический подход и чуть-чуть практики. Вместо слепой веры настройкам лучше периодически проверять ключевые моменты по перечисленному чек-листу. В итоге это убережёт вас от массы проблем и станет хорошей базой для понимания, что происходит с вашей системой в любой момент времени. Делитесь своими методами и инструментами — всегда интересно, как проверяют настройки другие участники! |
Самое простое — начать с проверки status сервисов и автозапуска, потом глянуть права на ключевые файлы и сетевые настройки. Если что-то не так — узкий круг поиска уже есть. Логов не игнорируй, часто там подсказка к проблемам лежит.
|
| Время: 04:39 |