Поиск по сайту:

Первоначальная настройка сервера с CentOS/RHEL 8


В этой статье мы познакомим вас с первыми основными шагами, которые необходимо выполнить после установки минимального сервера CentOS/RHEL 8 без графической среды, чтобы получить информацию об установленной системе, оборудование, на котором работает сервер, и настроить другие конкретные системные задачи, такие как обновление системы, работа в сети, привилегии root, настройка ssh, управление службами и другие.

Требования

  1. Руководство по установке CentOS 8
  2. RHEL 8 Минимальная установка
  3. Включить подписку RHEL в RHEL 8

Важно: на вашем сервере RHEL 8 должна быть включена Служба подписки Red Hat для выполнения обновления системы и установка программы.

Шаг 1. Обновите системное программное обеспечение

Сначала войдите на свой сервер как пользователь root и выполните следующие команды, чтобы полностью обновить систему с использованием последних версий ядра, исправлений безопасности системы, репозиториев программного обеспечения и пакетов.

dnf check-update
dnf update

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

dnf clean all

Шаг 2. Установите системные утилиты

Следующие системные утилиты могут быть очень полезны для повседневных задач системного администрирования: nano, vim editor, wget & Curl (в основном утилиты, используемые для загрузки пакетов по сети), net-tools (утилиты для управления локальной сетью), lsof (полезно для поиск списка открытых файлов по процессу) и bash-дополнение (автозаполнение командной строки).

dnf install nano vim wget curl net-tools lsof bash-completion

Шаг 3. Настройка имени хоста и сети

В CentOS/RHEL 8 в репозитории включен широкий спектр инструментов, которые используются для настройки сети и управления ею: от ручного изменения файла конфигурации сети до использования таких команд, как ifconfig, ip, nmcli и нмтуи.

Самая простая утилита, которую новичок может использовать для настройки сетевых конфигураций и управления ими, таких как установка имени сетевого хоста и настройка статического IP-адреса, — это использование графической утилиты командной строки nmtui.

Установить имя хоста в CentOS 8

Чтобы установить или изменить имя хоста системы, выполните следующую команду nmtui-hostname, которая предложит вам ввести имя хоста вашего компьютера и нажать OK для завершения, как показано на снимке экрана ниже.

nmtui-hostname

Установите статический IP-адрес в CentOS 8

Чтобы настроить сетевой интерфейс, выполните следующую команду nmtui-edit, которая предложит вам выбрать интерфейс, который вы хотите настроить, из меню, как показано на снимке экрана ниже.

nmtui-edit

После того, как вы нажмете кнопку Изменить, вам будет предложено настроить параметры IP сетевого интерфейса, как показано на снимке экрана ниже. Когда вы закончите, перейдите к ОК, используя клавишу [tab], чтобы сохранить конфигурацию и выйти.

После того, как вы закончите настройку сети, вам нужно запустить следующую команду, чтобы применить новые настройки сети, выбрав интерфейс, которым вы хотите управлять, и нажав опцию Деактивировать/Активировать, чтобы вывести из эксплуатации и запустить интерфейс. с настройками IP, как показано на снимке экрана ниже.

nmtui-connect

Чтобы проверить настройки конфигурации сети, вы можете проверить содержимое файла интерфейса или выполнить следующие команды.

ifconfig enp0s3
ip a
ping -c2 google.com

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

ethtool enp0s3
mii-tool enp0s3

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

netstat -tulpn
ss -tulpn
lsof -i4 -6

Шаг 4. Создайте новую учетную запись пользователя

Всегда желательно иметь обычного пользователя с правами root для выполнения административных задач, когда это необходимо. Чтобы назначить привилегии root обычному пользователю, сначала создайте пользователя с помощью команды useradd, установите пароль и добавьте пользователя в группу административных колес.

useradd ravisaive
passwd ravisaive
usermod -aG wheel ravisaive

Чтобы убедиться, что новый пользователь имеет права root, войдите в систему с учетными данными пользователя и запустите команду dnf с разрешениями Sudo, как показано.

su - ravisaive
sudo dnf update

Шаг 5. Настройка входа без пароля по SSH на CentOS 8

Чтобы повысить безопасность вашего сервера, настройте для нового пользователя аутентификацию без пароля SSH, создав пару ключей SSH, которые содержат открытый и закрытый ключ. но вам нужно его создать. Это повысит безопасность вашего сервера, поскольку для подключения к системе потребуется закрытый ключ SSH.

su - ravisaive
ssh-keygen -t RSA

Как только ключ будет сгенерирован, вам будет предложено ввести парольную фразу, чтобы защитить закрытый ключ. Вы можете ввести надежную парольную фразу или оставить ее пустой, если хотите автоматизировать задачи администрирования через SSH-сервер.

После создания ключа SSH вам необходимо скопировать сгенерированную пару открытых ключей на удаленный сервер, выполнив команду ssh-copy-id с именем пользователя и IP-адресом удаленного сервера, как показано.

ssh-copy-id [email 

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

[email 

Шаг 6. Защита удаленного входа по SSH

Здесь мы немного защитим наш сервер, отключив удаленный доступ по SSH к учетной записи root в файле конфигурации SSH.

vi /etc/ssh/sshd_config

Найдите строку с надписью #PermitRootLogin yes, раскомментируйте ее, удалив # из начала строки, и измените строку на.

PermitRootLogin no

После этого перезапустите SSH-сервер, чтобы применить последние изменения.

systemctl restart sshd

Теперь проверьте конфигурацию, попытавшись войти в систему под учетной записью root. Вы получите сообщение об ошибке «Отказано в разрешении SSH», как показано.

ssh [email 

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

Шаг 7. Настройте брандмауэр в CentOS 8

В CentOS/RHEL 8 брандмауэром по умолчанию является Firewalld, который используется для управления правилами iptables на сервере. Чтобы включить и запустить службу firewalld на сервере, выполните следующие команды.

systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

Чтобы открыть входящее соединение с определенной службой (SSH), сначала необходимо убедиться, что эта служба присутствует в правилах firewalld, а затем добавить правило для службу, добавив переключатель --permanent к командам, как показано.

firewall-cmd --add-service=[tab]  #List services
firewall-cmd --add-service=ssh
firewall-cmd --add-service=ssh --permanent

Если вы хотите открыть входящие соединения с другими сетевыми службами, такими как HTTP или SMTP, просто добавьте правила, как показано, указав имя службы.

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=smtp

Чтобы просмотреть все правила брандмауэра на сервере, выполните следующую команду.

firewall-cmd --permanent --list-all

Шаг 8. Удаление нежелательных служб в CentOS 8

Настоятельно рекомендуется после установки нового сервера CentOS/RHEL 8 удалить и отключить нежелательные службы, работающие на сервере по умолчанию, чтобы уменьшить количество атак на сервер.

Чтобы просмотреть все запущенные сетевые службы, включая TCP и UDP на сервере, выполните команду ss или команду netstat, как показано в примере ниже.

ss -tulpn
OR
netstat -tulpn

Приведенные выше команды перечислят некоторые интересные службы, которые по умолчанию работают на сервере, например почтовый сервер Postfix. Если вы не планируете размещать почтовую систему на сервере, вам необходимо остановить и удалить ее из системы, как показано.

systemctl stop postfix
systemctl disable postfix
dnf remove postfix

Помимо команд ss и netstat, вы также можете запускать команды ps, top или pstree, чтобы обнаружить и идентифицировать все нежелательные службы и удалить их из системы.

dnf install psmisc
pstree -p

Шаг 9. Управление службами в CentOS 8

В CentOS/RHEL 8 все службы и демоны управляются с помощью команды systemctl, и вы можете использовать эту команду для вывода списка всех активных, запущенных, завершенных или неисправных служб.

systemctl list-units

Чтобы проверить, включается ли демон или служба автоматически во время запуска системы, введите следующую команду.

systemctl list-unit-files -t service

Чтобы узнать больше о команде systemctl, прочтите нашу статью, в которой объясняется: Как управлять службами с помощью Systemctl в Linux.

Вот и все! В этой статье мы объяснили несколько основных настроек и команд, которые каждый системный администратор Linux должен знать и применять в только что установленной системе CentOS/RHEL 8 или для выполнения повседневных задач в системе. .