Дополнительные рекомендуемые шаги для новых серверов CentOS 7

Вступление

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

Предпосылки и цели

Перед тем, как начать это руководство, вы должны просмотреть руководствоCentOS 7 initial server setup. Это необходимо для настройки ваших учетных записей пользователей, настройки повышения привилегий с помощьюsudo и блокировки SSH в целях безопасности.

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

Настройка базового брандмауэра

Межсетевые экраны обеспечивают базовый уровень безопасности для вашего сервера. Эти приложения отвечают за запрет трафика на каждый порт вашего сервера, за исключением утвержденных вами портов / служб. CentOS поставляется с брандмауэромfirewalld. Инструмент под названиемfirewall-cmd можно использовать для настройки политик брандмауэра. Наша основная стратегия будет заключаться в том, чтобы заблокировать все, что у нас нет веских причин, чтобы оставаться открытыми. Сначала установитеfirewalld:

sudo yum install firewalld

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

sudo systemctl start firewalld

Теперь, когда служба запущена и работает, мы можем использовать утилитуfirewall-cmd для получения и установки информации о политике для брандмауэра. Приложениеfirewalld использует концепцию «зон» для обозначения надежности других хостов в сети. Эта маркировка дает нам возможность назначать разные правила в зависимости от того, насколько мы доверяем сети.

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

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

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

Если у вас естьchanged порт 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

Помните, что вам придется явно открыть брандмауэр (со службами или портами) для любых дополнительных служб, которые вы можете настроить позже.

Настройка часовых поясов и синхронизации сетевого протокола времени

Следующим шагом является настройка параметров локализации для вашего сервера и настройка синхронизации 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 мы будем использовать службу под названиемntp, которую мы можем установить из репозиториев CentOS по умолчанию:

sudo yum install ntp

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

sudo systemctl start ntpd
sudo systemctl enable ntpd

Ваш сервер теперь автоматически исправит свои системные часы, чтобы они соответствовали глобальным серверам.

Создать файл подкачки

Добавление «подкачки» на сервер Linux позволяет системе перемещать менее часто используемую информацию о запущенной программе из оперативной памяти в место на диске. Доступ к данным, хранящимся на диске, происходит намного медленнее, чем доступ к ОЗУ, но доступность подкачки часто может быть разницей между тем, чтобы ваше приложение оставалось в живых и зависало. Это особенно полезно, если вы планируете разместить какие-либо базы данных в вашей системе.

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

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

sudo fallocate -l 4G /swapfile

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

sudo chmod 600 /swapfile

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

sudo mkswap /swapfile

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

sudo swapon /swapfile

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

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

С этим дополнением ваша система должна автоматически использовать ваш файл подкачки при каждой загрузке.

Куда пойти отсюда?

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

Сделайте снимок вашей текущей конфигурации

Если вы довольны своей конфигурацией и хотите использовать ее в качестве основы для будущих установок, вы можете сделать снимок вашего сервера через панель управления DigitalOcean. Начиная с октября 2016 г. моментальные снимки стоят 0,05 долл. США за гигабайт в месяц в зависимости от объема используемого пространства в файловой системе.

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

sudo poweroff

Теперь в панели управления DigitalOcean вы можете сделать снимок, посетив вкладку «Снимки» вашего сервера:

DigitalOcean snapshot

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

DigitalOcean use snapshot

Дополнительные ресурсы и следующие шаги

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

Заключение

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

Related