В этом руководстве объясняются первые основные шаги, которые необходимо выполнить после установки минимальной системы CentOS 7 без графической среды, чтобы получить информацию об установленной системе, аппаратная часть которой работает, и настроить другие конкретные системные задачи, такие как сети, привилегии root, программное обеспечение, сервисы и другие.
- Обновление системы CentOS 7
- Установите системные утилиты на CentOS 7
- Настройка сети в CentOS 7
- Управление услугами в CentOS 7
- Отключите нежелательные сервисы в CentOS 7
- Включить брандмауэр в CentOs 7
- Включить разрешения Sudo для учетных записей пользователей
- Настройка аутентификации с помощью открытого ключа SSH в CentOS 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-завершение (автозаполнение командной строки).
Установите их все в один выстрел, выполнив следующую команду.
# yum install nano wget curl net-tools lsof bash-completion
Настройка сети в CentOS 7
CentOS 7 имеет широкий спектр инструментов, которые можно использовать для настройки и управления сетью, от ручного редактирования файла конфигурации сети до использования таких команд, как ip, ifconfig, nmtui, nmcli или route.
Самая простая утилита, которую новичок может использовать для управления и изменения конфигурации сети, — это графическая командная строка nmtui.
Чтобы изменить имя хоста системы с помощью утилиты nmtui, выполните команду nmtui-hostname, задайте имя хоста своего компьютера и нажмите OK для завершения, как показано на снимке экрана ниже.
# nmtui-hostname
Чтобы управлять сетевым интерфейсом, выполните команду nmtui-edit, выберите интерфейс, который вы хотите редактировать, и выберите правку в правом меню, как показано на скриншоте ниже.
# nmtui-edit
Когда вы перейдете в графический интерфейс, предоставленный утилитой nmtui, вы можете настроить параметры IP сетевого интерфейса, как показано на снимке экрана ниже. Когда вы закончите, перейдите к OK, используя клавишу [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
Отключите нежелательные сервисы в 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, а затем добавьте правило для службы, как показано в следующем примере, который разрешает входящие подключения 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 с помощью следующей команды.
Кстати, помимо указанных настроек, после установки сервера, Вы можете проводить мониторинг сайта и проверки uptime через специальный сервис https://www.host-tracker.com/.
Не вводите ключевую фразу, если вы хотите автоматизировать управление сервером через 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 7 после установки проведена. Это всего лишь несколько основных настроек и команд, которые каждый системный администратор должен знать и применять в новой установленной системе CentOS или для выполнения повседневных задач в системе.
Чтобы обезопасить и защитить сервер CentOS 7, ознакомьтесь со следующими статьями.
Как обновить версию ядра CentOS
Если вы планируете развертывать веб-сайты в этой системе CentOS 7, узнайте, как установить и настроить стек LAMP.