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

Первоначальная настройка и конфигурация сервера на CentOS 7


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

Требования

  1. Минимальная установка CentOS 7

Важно! Пользователи RHEL 7 могут следовать этой статье, чтобы выполнить первоначальную настройку сервера на RHEL 7.

Обновить систему CentOS 7

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

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


yum check-update
yum upgrade

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


yum clean all

Установите системные утилиты на CentOS 7

Следующие пакеты утилит могут оказаться полезными для повседневного системного администрирования: nano (текстовый редактор вместо редактора vi), wget, curl (утилиты, используемые для загрузки пакеты в основном по сети) net-tools, lsof (утилиты для управления локальной сетью) и bash-completion (автозаполнение командной строки).

Установите их все за один раз, выполнив приведенную ниже команду.


yum install nano wget curl net-tools lsof bash-completion

Настройка сети в CentOS 7

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

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

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


nmtui-hostname

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


nmtui-edit

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

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


nmtui-connect

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


ifconfig enp0s3
ip a
ping -c2 google.com

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


ethtool enp0s3
mii-tool enp0s3

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

Чтобы вывести список всех серверов, открывших сокеты TCP или UDP в состоянии прослушивания, введите следующие команды. Однако сервер UDP не будет отображать состояние сокетов, поскольку UDP — это протокол без установления соединения, который только отправляет пакеты по сети и не устанавливает соединения.


netstat -tulpn
ss -tulpn
lsof -i4 -6

Управление службами в CentOS 7

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


systemctl list-units

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


systemctl list-unit-files -t service

Чтобы просмотреть список старых служб SysV, присутствующих в вашей системе, и отключить их, введите следующие команды chkconfig.


chkconfig --list
chkconfig service_name off

5. Отключите нежелательные службы в CentOS 7.

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

Например, демон Postfix установлен и включен по умолчанию в CentOS 7. Если ваша система не требует запуска почтового сервера, лучше всего остановить, отключить и удалить службу Postfix, введя приведенные ниже команды. .


systemctl stop postfix
systemctl disable postfix
yum remove postfix

В дополнение к командам netstat, ss, lsof или systemctl вы также можете запускать команды ps, top или pstree, чтобы обнаружить и определить, какие нежелательные службы запущены в вашей системе. и отключите или удалите их.

По умолчанию утилита pstree не установлена в CentOS 7. Чтобы установить ее, выполните следующую команду.


yum install psmisc
pstree -p

Включить брандмауэр в CentOs 7

Firewalld — это основная утилита брандмауэра, которая использует взаимодействие для управления правилами iptables.
Чтобы включить, запустить и проверить брандмауэр в CentOS 7, выполните следующие команды.


systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

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


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

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


firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --reload     #Apply the rule on-fly

Включить разрешения Sudo для учетных записей пользователей

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


adduser tecmint
passwd tecmint
usermod -aG wheel tecmint

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


su - tecmint
sudo yum update

Настройка аутентификации с открытым ключом SSH в CentOS 7

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

Не вводите парольную фразу, если вы хотите автоматизировать управление сервером через SSH.


ssh-keygen -t RSA

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


ssh-copy-id remote_user@SSH_SERVER_IP

После того, как открытый ключ SSH был скопирован на удаленный сервер, войдите на удаленный сервер SSH с помощью следующей команды.


ssh remote_user@SSH_SERVER_IP

Наконец, чтобы защитить SSH-сервер, убедитесь, что вы запретили удаленный доступ SSH к учетной записи root, открыв файл конфигурации SSH /etc/ssh/sshd_config в текстовом редакторе от имени пользователя root и измените его с От Да до Нет.


PermitRootLogin no

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


systemctl restart sshd

Вот и все! Это всего лишь несколько основных настроек и команд, которые каждый системный администратор должен знать и применять в только что установленной системе CentOS или для выполнения повседневных задач в системе.

Чтобы защитить и усилить сервер CentOS 7, прочтите следующие статьи.

  1. Мега-руководство по усилению и защите CentOS 7 — часть 1
  2. Мега-руководство по усилению и защите CentOS 7 — часть 2

Если вы планируете развертывать веб-сайты в этой системе CentOS 7, узнайте, как установить и настроить стек LAMP или стек LEMP.