Первоначальная настройка и конфигурация сервера на CentOS 7
В этом руководстве объясняются первые основные шаги, которые необходимо выполнить после установки минимальной системы CentOS 7 без графической среды, чтобы получить информацию об установленной системе, оборудовании, на котором работает система. и настроить другие конкретные системные задачи, такие как работа в сети, root-права, программное обеспечение, службы и другие.
Требования
- Минимальная установка 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, прочтите следующие статьи.
- Мега-руководство по усилению и защите CentOS 7 — часть 1
- Мега-руководство по усилению и защите CentOS 7 — часть 2
Если вы планируете развертывать веб-сайты в этой системе CentOS 7, узнайте, как установить и настроить стек LAMP или стек LEMP.