Введение
После установки минимальной конфигурации для нового сервера, есть несколько дополнительных шагов, которые рекомендуются в большинстве случаев. В этом руководстве мы продолжим конфигурацию наших серверов, выполняя некоторые рекомендованные, но необязательные процедуры.
Предварительные требования и цели
Перед началом этого руководства вы должны пройти через руководство начальной настройки сервера CentOS 7. Это необходимо для установки ваших учетных записей пользователей, настройки увеличения привилегий с помощью sudo
и улучшения безопасности SSH.
После завершения руководства выше вы можете продолжить работу с этой статьей. В этом руководстве мы будем сосредотачиваться на настройке некоторых необязательных, но рекомендованных компонентов. Это будет涉及 настройки нашего системы с помощью брандмауэра и файла смены, а также настройки синхронизацииProtocol.
Конфигурация базового брандмауэра
Системы межсетевого экрана обеспечивают базовый уровень безопасности вашего сервера. Эти приложения отвечают за блокировку трафика на всех портах вашего сервера с исключениями для портов/услуг, которые вы разрешили. CentOS поставляется с межсетевым экраном под названием firewalld
. Инструмент под названием firewall-cmd
можно использовать для настройки политик вашего межсетевого экрана. Наша базовая стратегия будет заключаться в закрытии всего, для чего нет веских оснований оставлять открытым. Сначала установите firewalld
:
Служба firewalld
имеет возможность вносить изменения, не прерывая текущие подключения, поэтому мы можем включить её перед созданием наших исключений:
Теперь, когда служба запущена и работает, мы можем использовать утилиту firewall-cmd
для получения и установки информации о политике межсетевого экрана. Приложение firewalld
использует концепцию “зон” для обозначения доверия к другим хостам в сети. Эта метка позволяет нам назначать разные правила в зависимости от того, насколько мы доверяем сети.
В этом руководстве мы будем настраивать политики только для зоны по умолчанию. При перезагрузке нашего межсетевого экрана это будет зона, применяемая к нашим интерфейсам. Нам следует начать с добавления исключений в межсетевой экран для утвержденных услуг. Самым важным из них является SSH, так как нам нужно сохранить удаленный административный доступ к серверу.
Если вы не изменили порт, на котором работает демон SSH, вы можете включить службу по имени, введя:
При использовании измененного порта для вашего сервера, вы должны явно указывать новый порт. Вы также должены включить протокол, которым служит услуга. Только введите ниже принципиально минимальное, чтобы сохранить административный доступ к серверу. Если ваш SSH-сервер уже был перезапущен на новый порт:
Это все, что нужно, чтобы сохранить административную доступность к серверу. Если вы планируете работу над дополнительными службами, вы также должен будете открыть фиrewall для этих служб.
Если вы планируете использовать обычную HTTP-web-сервер, вы должен также разрешить доступ для http
.
Если вы планируете использовать веб-сервер с поддержкой SSL/TLS, то также должен разрешить доступ для https
.
Если вам нужно SMTP-email, вы можете ввести:
Для получения любой других служб, которые могу быть включены именем, вы можете ввести:
Когда вы закончили, вы можете видеть список исключений, которые будут внедренными командой:
Когда вы готовы применить изменения, перегрузите фиrewall:
Если после тестирования все работает как ожидалось, вы должны убедиться, что фиrewall будет запускаться при reboot:
И remember, что вы должны явно открыть фиrewall (используя службы или порты) для любых дополнительных служб, которые могу быть конфигурированы позже.
Настройка врезок и синchronizция протокола времени сетевого времени
Продолжительность последующих действий составляет время настройки настроек приложений и настройки синхронизации протокола Network Time Protocol (NTP).
Первым шагом будет установка временной зоны для вашего сервера. Второй шаг будет конфигурирование системы для синхронизации своей системной часы с сетью стандартных часов, которые поддерживаются сетем NTP. Это поможет предотvenтить некоторые непредвиденные поведения, которое может возникнуть из-за несsynchronized часов.
Конфигурирование временных зон
Наш первый шаг – это установить временную зону вашего сервера. Это достаточно простой процесс, который можно выполнить используя команду timedatectl
.
Сначала, получите представление о доступных временных зонах, используя команду:
Это даст вам список временных зон, которые доступны для вашего сервера. Когда вы найдете значение временной зоны, которое соответствует вашему серверу, вы можете его установить, введя:
Например, чтобы установить временную зону восточного времени США, вы можете ввести:
Ваш системный час будет обновлен к выбранной временной зоне. Вы можете подтвердить это, используя команду:
Конфигурирование синхронизации NTP
Проверьте, что вы установили временную зону. Теперь мы должны настроить NTP. Это позволит вашему компьюterу оставаться в синхронизации с другими серверами, что приведет к более предсказуableй работе программ, которые используют для своей работы правильное время.
Для синchronizции через NTP используем службу под названием ntp
, которую можно получить из стандартных репозиториев CentOS:
Следующий шаг состоит в том, чтобы начать службу для этого сеанса. Мы также должны разрешить службу так, чтобы она автоматически запускалась каждый раз, когда сервер перезапускался:
Ваш сервер теперь будет автоматически корректировать свой системный час, чтобы привести его в соответствие с другими серверами.
Создайте файл swap
Добавление “swap” в Linux-сервер позволяет системе перемещать менее часто обращенные данные работающего программы из RAM на место на диск. Доступ к данным, которые хранятся на диске, значительноslower, но имея swap доступен, он может часто быть разницей между живучестью вашего прилога и его крахом. Это особенноUseful if you plan to host any databases on your system.
Advice about the best size for a swap space varies significantly depending on the source consulted. Generally, an amount equal to or double the amount of RAM on your system is a good starting point.
Allocate the space you want to use for your swap file using the fallocate
utility. For example, if we need a 4 Gigabyte file, we can create a swap file located at /swapfile
by typing:
После создания файла, необходимо ограничить доступ к нему так, чтобы другие пользователи или процессы не могли видеть, что там написано:
Мы теперь имеем файл с правильными разрешениями. Чтобы уведомлять систему о том, что вы хотят использовать файл swap, вы можете ввести:
Теперь прикажите системе форматировать этот файл для swap, используя команду:
Наш системы использует swap-файл для этого сеанса, но мы должны изменять системную файл, чтобы наша служба начала это автоматически при каждой запуске. Вы можете это делать, введя:
Соответственно, ваш системы должен использовать ваш swap-файл автоматически при каждой запуске.
Далее Where To Go?
Вы теперь имеют весьма decent начало для своей Linux-сервера. Отсюда вы можете пойти на много мест. Первым делом вы можете получить временную импрессию вашей конфигурации.
Сделать временную импрессию вашей конфигурации
Если вы рады с вашей конфигурацией и желаете использовать её как база для последующих установленных программ, вы можете получить временную импрессию вашего сервера через панель управления DigitalOcean. С начала октября 2016 года временные импрессии стоит $0,05 за гbyte в месяц в зависимости от использованного пространства в файловой системе.
Для этого выключите ваш сервер из командной строки. Хотя возможно сделать снимок диска работающей системы, выключение сервера гарантирует, что все файлы на диске находятся в консистентном состоянии:
Теперь в панели управления DigitalOcean вы можете создать снимок, перейдя на вкладку “Snapshots” вашего сервера:
После создания снимка вы сможете использовать этот образ в качестве базы для будущих установок, выбрав снимок из вкладки “My Snapshots” при создании образов:
Дополнительные ресурсы и следующие шаги
Дальше ваш путь зависит полностью от того, что вы хотите сделать с вашим сервером. Список руководств ниже никак не исчерпывающий, но представляет некоторые из более распространенных конфигураций, к которым обращаются пользователи далее:
- Настройка стека LAMP (Linux, Apache, MySQL/MariaDB, PHP)
- Настройка стека LEMP (Linux, Nginx, MySQL/MariaDB, PHP)
- Установка CMS WordPress
- Инсталирование Node.js
- Инсталирование Puppet для управления инфраструктурой
КонCLЮЗИОН
В этот момент вы должны знать как настроить надёжную основу для ваших новых серверов. Надежно также вы имеете хорошое представление о своих последующих шагах. При自由e решайте самостоятельно посетить сайт, чтобы получить больше идей, которые можно использовать на вашем сервере.