Начальная настройка сервера CentOS 7: устаревший чек-лист для современного Linux
Дата публикации:
Обновлено:
Статьи > Начальная настройка сервера CentOS 7: устаревший чек-лист для современного Linux
Статус 2026 года и безопасное использование
Вывод: Не начинайте новую производственную сборку CentOS Linux 7: срок ее эксплуатации истек 30 июня 2024 года. В поддерживаемой системе семейства RHEL выполните обновление через DNF, создайте именованных пользователей с правами администратора, сознательно настройте время и имя хоста, оставьте брандмауэр включенным и продолжайте применять SELinux.
Чему вы научитесь
- Какие базовые настройки пытался установить исходный контрольный список CentOS 7.
- Как жизненный цикл, управление пакетами, systemd, firewalld и SELinux меняют решение 2026 года.
- Как рассматривать старую последовательность команд как свидетельство миграции, а не как стандарт безопасной сборки.
Для кого: Администраторы, наследующие хост CentOS 7 или переводящие старый модуль Runbook на поддерживаемую платформу.
Актуальность на 2026 год Приведенные ниже команды сохраняются как исторический материал CentOS 7. Не отключайте SELinux навсегда, чтобы приложение работало; Red Hat рекомендует применять принудительное использование режима и временную разрешительную диагностику только при необходимости. Создайте и протестируйте миграцию вместо использования архивных пакетов.
Примечание по безопасности. Команды и примеры конфигурации из исходной статьи не проверялись повторно в современной производственной среде. Перед применением проверьте поддерживаемые версии, резервные копии, контроль доступа и процедуру отката в отдельной тестовой среде.
Официальные первоисточники
Обзор
В этом разделе описаны первые необходимые настройки после установки CentOS. Он построен с использованием CentOS 7.6 (1810).
Оглавление
- базовая настройка
- 1-1. Проверка операционной системы
- 1-2. Установка инструмента
- 1-3. Историческая процедура отключения SELinux
- 1-4. дополнительный оперативный пользователь
- 1-5. Изменение пароля пользователя root
- 1-6. Конфигурация для запрета входа нерабочих пользователей (запрещает вход пользователя root и других пользователей).
- 1-7. синхронизация времени
- 1-8. Настройки аутентификации ключей
- резюме
1. базовая настройка
В этом разделе описаны основные настройки, необходимые сразу после установки CentOS.
1-1. Проверка операционной системы
Во-первых, убедитесь, что у вас установлена правильная операционная система.
[root@hostname ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
'CentOS Linux release 7.6.1810 (Core)' - это установленная операционная система. Убедитесь, что он правильный.
1-2. Установка инструмента
Сразу после установки основные команды, такие как ifconfig, не могут быть выполнены.
Поэтому установка выполняется таким образом, чтобы основные сетевые и другие команды могли быть выполнены командами yum.Пожалуйста, выполните это при необходимости, поскольку можно обновить то, что уже установлено, с помощью 'yum -y update'.
[root@hostname ~]# yum install -y net-tools
[root@hostname ~]# yum install -y wget
[root@hostname ~]# yum install -y tcpdump
[root@hostname ~]# yum install -y traceroute
net-tools: Команда ifconfig и другие могут быть использованы после установки.
wget: Буквально, но можно использовать команду wget. Вкратце, эта команда отправляет http-запрос.
tcpdump: Буквально, но можно использовать команду tcpdump. Вкратце, он может отслеживать запросы, отправляемые на сервер.
traceroute: Буквально, но можно использовать команду traceroute. Вкратце, он показывает маршрут IP-адресата назначения.
1-3. Историческая процедура отключения SELinux
В исходной процедуре SELinux отключался для обхода проблем с конфигурацией. В современной системе оставьте режим enforcing и исправьте правила или контексты, вызывающие блокировку.
Отключение SELinux убирает важный уровень защиты. Используйте permissive только временно для диагностики, а затем снова включите применение политик.
Следующие команды сохранены как историческая справка и не рекомендуются для производственной среды.
[username@hostname ~]$ getenforce
Disabled
В историческом примере ожидалось значение "Disabled". Не применяйте эту настройку в поддерживаемой системе без оценки безопасности.
[username@hostname ~]$ vi /etc/selinux/config
SELINUX=enforcing
SELINUX=disabled
'SELINUX' и 'SELINUXTYPE', но именно 'SELINUX' необходимо изменить.
Обратите внимание, что если вы измените "SELINUXTYPE" по ошибке, сервер не запустится.Перезапустите сервер, и конфигурация вступит в силу.
1-4. дополнительный оперативный пользователь
Вход в систему и работа от имени пользователя root опасны, поэтому добавьте пользователя для входа в систему. На следующем этапе отключите вход пользователя root.
Риск работы в качестве пользователя root, вошедшего в систему, заключается в том, что вы можете делать все, что захотите.
Риск того, что вы можете делать все, что угодно, заключается в том, что вы можете случайно изменить или удалить важные изменения, связанные с операционной системой. Если вы используете сервер для личного пользования, например, для хобби или учебы, и не совершаете таких обычных ошибок, я лично не вижу никакой проблемы в том, чтобы войти в систему как пользователь root. Причина номер один, по которой не разрешается вход в систему пользователю root, - разделение полномочий. Команда разработчиков приложений использует для разработки приложений пользователей, которые касаются только каталога. Команда пакетной разработки использует пользователей, которые касаются только каталога пакетной разработки. Лучше разделить пользователей, чтобы необходимые команды могли касаться нужных директорий, таких какНиже описаны шаги по добавлению пользователей.
[root@hostname ~]# useradd xxxxxx
[root@hostname ~]# passwd xxxxxx
Примечание: xxxxxxxx - имя добавляемого пользователя. Установите любой пароль.
1-5. Изменение пароля пользователя root
Если вы не являетесь пользователем root, переключитесь на пользователя root с помощью команды su - и выполните следующую команду
[username@hostname ~]$ su -
[root@hostname ~]# passwd
Примечание: Установите любой пароль.
Никогда не выходите из начального пароля. Пароль 'root' - самый худший.
Пароли "password" и "1234" также довольно опасны. Минимум восемь цифр, включая буквенно-цифровые символы.Эта настройка пароля очень важна для обеспечения безопасности и должна быть установлена с особой тщательностью.
Изменение пароля пользователя root является довольно простым, но имейте в виду, что мы слышали много историй об инцидентах безопасности, вызванных этим. Не думайте, что никто не будет атаковать ваш сервер, потому что он небольшой по размеру. Атакующий получает доступ к произвольному серверу с именем пользователя 'root' и паролем 'root'.1-6. Конфигурация для запрета входа нерабочих пользователей (запрещает вход пользователя root и других пользователей).
Ограничьте количество пользователей, которые могут войти в систему. В частности, пользователям root не должно быть разрешено входить в систему. Если вы вошли в систему как root, это равносильно тому, что все меры безопасности отключены.
Ниже описаны шаги по отключению входа пользователя root и добавлению пользователей, которые могут войти в систему. Переключитесь на пользователя root, а затем измените файл конфигурации. (Можно переключиться на пользователя root с помощью 'su-', но не иметь возможности войти в систему).
[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config
#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#LoginGraceTime 2m
PermitRootLogin no
AllowUsers xxxxxx
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
Примечание: xxxxxxxx - это имя операционного пользователя, которое вы только что добавили.
Здесь следует отметить, что если имя AllowUsers указано неверно, никто не сможет войти в систему, поэтому тщательно проверяйте имена пользователей.
Проверьте синтаксис и перезапустите sshd.
[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd
После того, как вы вышли из системы и подтвердили, что вы не можете войти в систему как root и что вы можете войти в систему как добавленный операционный пользователь, вы закончили.
1-7. синхронизация времени
Убедитесь, что время синхронизировано. Иногда время на сервере не синхронизируется, поэтому дата и время вывода журнала выводится в другое время, чем ожидалось, и анализ проблемы занимает много времени.
Проверьте запуск процесса синхронизации времени (chronyd). Проверьте состояние синхронизации времени. Обратите внимание, что в CentOS7 используется 'chronyd', а в более ранних версиях - 'ntpd', поэтому будьте осторожны, если вы используете 6 или более раннюю версию.
[root@hostname ~]# ps aux | grep chronyd
chrony 567 0.0 1.3 117804 13664 ? SL 5月04 0:04 /usr/sbin/chronyd
root 32489 0.0 0.0 112732 972 pts/1 S+ 16:30 0:00 grep --color=auto chronyd
[root@hostname ~]# timedatectl
Local time: день (месяца) 2020-11-29 16:30:43 JST
Universal time: день (месяца) 2020-11-29 07:30:43 UTC
RTC time: день (месяца) 2020-11-29 07:30:43
Time zone: Asia/Tokyo (JST, +0900)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
Все в порядке, если 'Local time' совпадает с текущим временем, 'NTP enabled' - да и 'NTP synchronized' - да.
1-8. Настройки аутентификации ключей
Для операционных пользователей, которых вы только что добавили, разрешите им входить в систему только с помощью аутентификации по ключу.
Простое отключение аутентификации по паролю значительно повышает безопасность. В случае аутентификации по паролю, если вы используете сложный пароль, вы в принципе не сможете войти в систему, но вероятность этого не равна нулю процентов. Однако в случае аутентификации по ключу вы можете войти в систему только при наличии ключа, поэтому, пока вы правильно управляете своим ключом, вы не войдете в систему.
Ниже описана процедура настройки аутентификации ключей.
[username@hostname ~]$ su - xxxxxx
[xxxxxx@hostname ~]$ ssh-keygen -t rsa -b 2048
Примечание: xxxxxxxx - имя дополнительного операционного пользователя.
Примечание: После выполнения команды "ssh-keygen -t rsa -b 2048", вам будет предложено ответить, все значения по умолчанию и нажать "Enter". Устанавливается также без пароля. (Ввод пароля обеспечивает дополнительную безопасность, как аутентификация по ключу плюс аутентификация по паролю, но в данном случае пароль не предполагается).
Затем проверьте, что ключ был создан.
[xxxxxx@hostname ~]$ ll /home/xxxxxx/.ssh
Примечание: xxxxxxxx - имя дополнительного операционного пользователя.
Убедитесь, что закрытый ключ "id_rsa" открытый ключ "id_rsa.pub" сохранен.
Переименуйте открытый ключ и переместите каталог для загрузки закрытого ключа.
[xxxxxx@hostname ~]$ mv /home/xxxxxx/.ssh/id_rsa.pub /home/xxxxxx/.ssh/authorized_keys
[xxxxxx@hostname ~]$ mv /home/xxxxxx/.ssh/id_rsa /home/xxxxxx/id_rsa
Примечание: xxxxxxxx - имя дополнительного операционного пользователя.
Удалите закрытый ключ (id_rsa) с сервера после его локального перемещения.
Переместите /home/xxxxxxxx/id_rsa в локальный. (Перейдите, например, к WinSCP).
После перемещения выполните команду delete.
[xxxxxx@hostname ~]$ rm /home/xxxxxx/id_rsa
Примечание: xxxxxxxx - имя пользователя, добавленное в шаге (3).
На этом настройка аутентификации ключа завершена. Убедитесь, что вы можете войти в систему с помощью созданного вами закрытого ключа.
После получения подтверждения, что вы можете войти в систему, последним шагом будет изменение настроек, чтобы вы не могли войти в систему с помощью проверки пароля.
[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config
PasswordAuthentication yes
PasswordAuthentication no
Проверьте синтаксис и перезапустите sshd.
[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd
На этом настройка аутентификации ключа завершена.
2. резюме
Мы описали начальную конфигурацию, необходимую при установке CentOS.
Информация в этой статье - это минимум, который должен быть реализован при установке CentOS, поэтому если после прочтения статьи вы почувствуете, что есть недостатки, пожалуйста, попробуйте их установить.