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

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


Введение

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

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

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

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

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

Брандмауэры обеспечивают базовый уровень безопасности вашего сервера. Эти приложения отвечают за запрет трафика на каждый порт на вашем сервере, за исключением разрешенных вами портов/служб. Ubuntu поставляется с инструментом под названием ufw, который можно использовать для настройки политик брандмауэра. Наша основная стратегия будет заключаться в том, чтобы заблокировать все, что у нас нет веской причины держать открытым.

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

Демон SSH по умолчанию работает на порту 22, и ufw может реализовать правило по имени, если значение по умолчанию не изменилось. Поэтому, если вы не изменили порт SSH, вы можете включить исключение, набрав:

sudo ufw allow ssh

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

sudo ufw allow 4444/tcp

Это минимальная конфигурация брандмауэра. Он разрешит трафик только через ваш SSH-порт, а все остальные службы будут недоступны. Если вы планируете запускать дополнительные службы, вам нужно будет открыть брандмауэр на каждом требуемом порту.

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

sudo ufw allow 80/tcp

Если вы планируете запустить веб-сервер с включенным SSL/TLS, вы также должны разрешить трафик на этот порт:

sudo ufw allow 443/tcp

Если вам нужно включить электронную почту SMTP, необходимо открыть порт 25:

sudo ufw allow 25/tcp

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

sudo ufw show added

Если все выглядит хорошо, вы можете включить брандмауэр, набрав:

sudo ufw enable

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

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

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

Следующим шагом является установка параметров локализации для вашего сервера и настройка синхронизации по протоколу сетевого времени (NTP).

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

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

Наш первый шаг — установить часовой пояс нашего сервера. Это очень простая процедура, которую можно выполнить, перенастроив пакет tzdata:

sudo dpkg-reconfigure tzdata

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

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

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

Current default time zone: 'America/New_York'
Local time is now:      Mon Nov  3 17:00:11 EST 2014.
Universal Time is now:  Mon Nov  3 22:00:11 UTC 2014.

Далее мы перейдем к настройке NTP.

Настроить NTP-синхронизацию

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

Для синхронизации NTP мы будем использовать службу под названием ntp, которую мы можем установить из стандартных репозиториев Ubuntu:

sudo apt-get update
sudo apt-get install ntp

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

Нажмите здесь, если хотите узнать больше о серверах NTP.

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

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

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

Если вам нужно повысить производительность вашего сервера, мы рекомендуем обновить Droplet. Это приведет к лучшим результатам в целом и уменьшит вероятность возникновения проблем с оборудованием, которые могут повлиять на вашу службу.

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

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

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

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

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

  • Настройка стека LAMP (Linux, Apache, MySQL/MariaDB, PHP)
  • Настройка стека LEMP (Linux, Nginx, MySQL/MariaDB, PHP)
  • Установка WordPress CMS на веб-сервере Apache
  • Установка WordPress CMS на веб-сервер Nginx
  • Установка Drupal CMS на веб-сервере Apache
  • Установка Node.js
  • Установка Ruby on Rails и RVM
  • Установка Laravel, среды PHP
  • Установка Puppet для управления вашей инфраструктурой

Заключение

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