
Первое, что нужно сделать после установки системы – настроить брандмауэр. В большинстве дистрибутивов используется iptables или nftables. Для быстрого старта выполните sudo ufw enable, затем откройте только необходимые порты: sudo ufw allow 22/tcp для SSH.
Мониторинг ресурсов – ключевая задача. Утилита htop показывает загрузку CPU, оперативной памяти и дисков в реальном времени. Для логирования установите sysstat, данные будут сохраняться в /var/log/sysstat. Если нужны подробные инструкции по настройке, смотрите тут.
Резервное копирование конфигураций должно быть автоматизировано. Скрипт с rsync и cron сохранит копии в указанное время. Пример команды: rsync -avz /etc/ backup-server:/backups/. Проверяйте целостность архивов раз в неделю.
- Установка и настройка SSH для удалённого доступа
- Установка SSH-сервера
- Настройка прав доступа к файлам и каталогам через chmod и chown
- Числовые и символьные режимы chmod
- Изменение владельца с chown
- Работа с системными сервисами: управление через systemd
- Мониторинг ресурсов сервера с помощью top, htop и df
- Настройка и управление брандмауэром с помощью iptables
- Автоматизация задач с помощью cron и systemd timers
- Когда выбирать cron
- Преимущества systemd timers
- Видео:
- Администрирование Astra Linux | Урок 3
Установка и настройка SSH для удалённого доступа
Установка SSH-сервера
На большинстве дистрибутивов с Debian-основой установите OpenSSH командой sudo apt install openssh-server. В системах на базе RHEL выполните sudo yum install openssh-server или sudo dnf install openssh-server. После установки сервис запустится автоматически. Проверьте статус: sudo systemctl status sshd.
Настройки хранятся в /etc/ssh/sshd_config. Перед редактированием создайте резервную копию. Отключите вход под root, изменив параметр PermitRootLogin на no. Для ограничения доступа только определённым пользователям укажите их через пробел в AllowUsers. Смените стандартный порт 22 на нестандартный (например, Port 54322), чтобы снизить риск атак. После правок перезагрузите SSH: sudo systemctl restart sshd.
Настройка прав доступа к файлам и каталогам через chmod и chown
Команда chmod 750 /path/to/file задаст владельцу полные права (чтение, запись, выполнение), группе – чтение и выполнение, остальным – запрет доступа.
Числовые и символьные режимы chmod
Цифры в chmod – комбинация прав: 4 (чтение), 2 (запись), 1 (выполнение). Например, chmod 644 разрешает владельцу читать/писать, остальным – только читать. Символьный формат: chmod u=rwx,g=rx,o= file.
Для рекурсивного изменения прав в каталоге добавьте -R: chmod -R 755 /var/www/.
Изменение владельца с chown

Передать файл пользователю и группе: chown user:group file.txt. Для каталогов с подкаталогами используйте -R: chown -R deploy:admin /opt/app/.
Права по умолчанию задаются umask. Например, umask 027 создает файлы с правами 640 (владелец – rw, группа – r, остальные – 0).
Проверяйте права командой ls -l. Если скрипт не запускается, убедитесь, что у него есть флаг выполнения: chmod +x script.sh.
Опасные комбинации: chmod 777 или chown root:root /home/user/ – могут нарушить безопасность. Минимизируйте использование таких команд.
Работа с системными сервисами: управление через systemd
Чтобы проверить состояние сервиса, выполните systemctl status имя_сервиса. Команда выведет активные процессы, последние записи журнала и текущий статус (active, failed, inactive).
Для запуска и остановки используйте:
systemctl start имя_сервиса– активировать немедленно.systemctl stop имя_сервиса– завершить работу.systemctl restart имя_сервиса– перезапустить с сохранением конфигурации.
Автозагрузка настраивается через systemctl enable имя_сервиса (добавить в автозапуск) или systemctl disable имя_сервиса (убрать). Проверить включён ли сервис в автозагрузку можно командой systemctl is-enabled имя_сервиса.
Журналы systemd просматриваются с помощью journalctl -u имя_сервиса. Фильтрация по времени: journalctl -u имя_сервиса --since "2024-05-01" --until "2024-05-02". Ключ -f выводит новые записи в реальном времени.
При изменении конфигурации сервиса (файлы в /etc/systemd/system/) выполните systemctl daemon-reload. Без этого systemd не применит правки.
Для анализа зависимостей сервиса используйте systemctl list-dependencies имя_сервиса. Это помогает выявить конфликты или отсутствующие компоненты. Если сервис не запускается, проверьте journalctl -xe – там часто указана точная причина ошибки.
Мониторинг ресурсов сервера с помощью top, htop и df
Для быстрой проверки нагрузки на процессор и оперативную память запустите top в терминале. Первые строки вывода покажут:
- uptime системы;
- количество активных пользователей;
- общую загрузку CPU (1.0 = 100% одного ядра);
- использование RAM (включая кэш и буферы).
Если top отображает процессы в неудобном порядке, нажмите Shift+P (сортировка по CPU) или Shift+M (сортировка по RAM). Для выхода – q.
htop – улучшенная версия top с цветным интерфейсом и поддержкой мыши. Установите его через apt install htop (Debian/Ubuntu) или yum install htop (RHEL/CentOS). Ключевые отличия:
- графические индикаторы нагрузки CPU и RAM;
- возможность убивать процессы клавишей F9;
- настройка отображаемых столбцов через F2.
Для проверки свободного места на дисках используйте df -h. Флаг -h форматирует вывод в гигабайтах. Обращайте внимание на столбец Use% – если значение превышает 90%, требуется очистка или расширение раздела. Для детального анализа файлов запустите du -sh /var/* | sort -h – это покажет размеры каталогов внутри /var.
Комбинируйте эти инструменты: например, при высокой нагрузке CPU (top) проверьте, не вызвана ли она нехваткой памяти (swapping в htop) или переполнением диска (df). Для автоматизации мониторинга настройте cron-задачи с выводом данных в лог.
Настройка и управление брандмауэром с помощью iptables
Для блокировки всех входящих соединений, кроме SSH, выполните команду: iptables -A INPUT -p tcp —dport 22 -j ACCEPT, затем iptables -A INPUT -j DROP. Это оставит доступ только по 22 порту, а остальной трафик будет отклонён. Чтобы изменения сохранились после перезагрузки, установите пакет iptables-persistent и выполните iptables-save > /etc/iptables/rules.v4.
Для тонкой настройки правил используйте цепочки FORWARD и OUTPUT. Например, разрешите исходящие HTTPS-запросы: iptables -A OUTPUT -p tcp —dport 443 -j ACCEPT. Если нужно ограничить доступ к серверу по IP, добавьте правило iptables -A INPUT -s 192.168.1.100 -j ACCEPT. Проверить текущие правила можно командой iptables -L -v, а очистить все – iptables -F.
Автоматизация задач с помощью cron и systemd timers
Для запуска скрипта каждые 30 минут через cron используйте строку: */30 * * * * /path/to/script.sh. Убедитесь, что файлу назначены права на выполнение (chmod +x).
Systemd timers гибче cron: они позволяют указывать зависимости между задачами и логировать вывод в journalctl. Пример файла /etc/systemd/system/backup.timer:
| Параметр | Значение |
|---|---|
| OnCalendar | *-*-* 03:00:00 |
| Unit | backup.service |
После изменения timer перезагрузите конфигурацию: systemctl daemon-reload.
Когда выбирать cron
Cron подходит для простых задач без сложных условий. Например, очистка временных файлов раз в день:
0 2 * * * rm -rf /tmp/*
Преимущества systemd timers
Timers поддерживают точные интервалы (с точностью до секунды) и могут запускаться после загрузки системы. Для ежечасного выполнения с задержкой в 5 минут:
OnCalendar=hourly
AccuracySec=5m
Проверьте активные таймеры командой systemctl list-timers --all.
Для задач, требующих мониторинга состояния (например, перезапуск упавшего сервиса), используйте Restart=on-failure в .service файле.






