Site icon 8HOST.COM

Дополнительные рекомендации по настройке сервера CentOS 7

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

Требования и цели

Прежде чем приступить к выполнению руководства, запустите предварительно настроенный (согласно данному руководству) сервер CentOS 7; на сервере нужно создать пользователя с привилегиями sudo и отключить SSH в целях безопасности.

Выполнив все предварительные требования, можете приступать к данному руководству. Эта статья содержит рекомендуемые параметры и инструкции по настройке важных дополнительных компонентов (брандмауэра, своп-файла, синхронизации Network Time Protocol).

Базовая настройка фаервола

Фаерволы (или брандмауэры) обеспечивают базовый уровень безопасности сервера. Эти приложения запрещают трафик на все порты сервера за исключением одобренных пользователем портов. CentOS поставляется с фаерволом под названием firewalld. Для настройки политики фаервола используется инструмент firewall-cmd. Основная стратегия настройки брандмауэра – закрыть все порты, если нет причины оставить их открытыми.

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

sudo systemctl start firewalld

Итак, теперь сервис запущен; можно приступать к настройке политики фаервола при помощи firewall-cmd.

Приложение firewalld основывается на концепции зонирования для обозначения благонадежности хостов в сети. Это дает возможность создавать различные правила в зависимости от того, насколько пользователь доверяет сети.

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

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

sudo firewall-cmd --permanent --add-service=ssh

Если же стандартный порт SSH был изменен, нужно явно указать новый порт. Также необходимо указать протокол, который использует сервис. Итак, если SSH уже запущен на новом порту, введите следующий код:

sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --permanent --add-port=4444/tcp

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

При необходимости использовать обычный веб-сервер HTTP, нужно разрешить сервис HTTP:

sudo firewall-cmd --permanent --add-service=http

Если же используется веб-сервер с поддержкой SSL/TLS, нужно разрешить трафик https:

sudo firewall-cmd --permanent --add-service=https

Чтобы открыть SMTP, введите:

sudo firewall-cmd --permanent --add-service=smtp

Чтобы просмотреть другие сервисы, которые можно открыть по имени, введите:

sudo firewall-cmd --get-services

Завершив настройку, можно просмотреть список открытых сервисов:

sudo firewall-cmd --permanent --list-all

Чтобы активировать изменения, перезапустите фаервол:

sudo firewall-cmd --reload

Если после тестирования все работает должным образом, автоматизируйте запуск фаервола при загрузке сервера:

sudo systemctl enable firewalld

Не забудьте позже открыть порты новых сервисов, если такие появятся.

Настройка часового пояса и синхронизации Network Time Protocol

Далее нужно настроить параметры локализации сервера и синхронизацию протокол Network Time Protocol (NTP).

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

Настройка часового пояса

Это очень простая процедура, которую можно выполнить при помощи команды timedatectl. Для начала просмотрите доступные часовые пояса:

sudo timedatectl list-timezones

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

sudo timedatectl set-timezone region/timezone

К примеру, чтобы установить время восточной части США, наберите:

sudo timedatectl set-timezone America/New_York

Система будет использовать указанный часовой пояс. Чтобы проверить это, наберите:

sudo timedatectl

Настройка синхронизации NTP

Установив часовой пояс, нужно синхронизировать часы системы с протоколом NTP.

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

Для этого нужно использовать сервис ntp, который можно установить из стандартного репозитория CentOS.

sudo yum install ntp

Затем нужно запустить сервис, а также настроить его автоматический запуск при каждом запуске сервера.

sudo systemctl start ntpd
sudo systemctl enable ntpd

Готово! Теперь сервер будет автоматически синхронизировать время.

Создание своп-файла

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

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

Утилита fallocate позволяет выделить пространство для swap. Например, чтобы создать своп в 4 гигабайта, нужно для начала создать файл в /swapfile:

sudo fallocate -l 4G /swapfile

Затем нужно ограничить доступ к файлу, чтобы другие пользователи не могли читать его:

sudo chmod 600 /swapfile

Итак, теперь есть готовый файл с правильными правами на него. Пока что система не знает, что его можно использовать в качестве своп-пространства; чтобы система отформатировала его для swap, наберите:

sudo mkswap /swapfile

Теперь активируйте своп-файл, набрав:

sudo swapon /swapfile

Теперь в текущей сессии система будет использовать своп. Чтобы своп автоматически загружался вместе с сервером, нужно отредактировать системный файл. Для этого наберите:

sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'

Теперь система будет видеть своп-файл при каждой загрузке сервера.

Итоги

Теперь сервер надежно настроен, и дальнейшие настройки зависят только от целей использования сервера. Ниже приведен список руководств, которые могут пригодиться:

Теперь вы знаете, как создать надежную основу для сервера.