Начальная настройка сервера Fedora 21

Вступление

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

Из этого туториала вы узнаете, как улучшить свежую установку сервера Fedora 21 и быть готовым к использованию.

Предпосылки

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

  • Капля Fedora 21 с корневыми ключами SSH.

Вы можете подписаться на this раздел учебника по ключам SSH для создания ключей, если у вас их нет, и https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a -linux-server # how-to-to-embed-your-public-key-когда-создавая-ваш-сервер [этот раздел] того же учебника, чтобы автоматически вставлять ваш SSH-ключ в корневую учетную запись сервера при создании Droplet.

Шаг 1 - Создание стандартной учетной записи пользователя

Сначала войдите на свой сервер под именем * root *.

ssh root@

Работа в качестве пользователя root представляет угрозу безопасности, поэтому на этом этапе мы настроим учетную запись пользователя sudo без полномочий root для использования в системных и других вычислительных задачах. Имя пользователя, используемое в этом руководстве - * sammy *, но вы можете использовать любое имя, которое вам нравится.

Чтобы добавить пользователя, введите:

adduser

Укажите надежный пароль для пользователя, используя команду ниже. Вам будет предложено ввести пароль дважды.

passwd

Затем добавьте пользователя в группу wheel, что дает ему привилегии sudo.

gpasswd -a  wheel

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

ssh-copy-id @

Для получения дополнительной информации о том, как скопировать ключи SSH с локального компьютера на сервер, вы можете прочитать https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on. -a-linux-server # как копировать открытый ключ на ваш сервер [этот раздел] руководства по SSH.

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

ssh @

Шаг 2 - Запрещение аутентификации с использованием корневого логина и пароля

На этом этапе мы сделаем SSH-входы более безопасными, отключив root-входы и аутентификацию по паролю.

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

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

sudo yum update

Затем, чтобы установить + nano +, введите:

sudo yum install -y nano

Теперь откройте файл конфигурации демона SSH для редактирования.

sudo nano /etc/ssh/sshd_config

Внутри этого файла найдите директиву + PermitRootLogin +. Раскомментируйте его (это означает удаление начального символа + # +) и установите для него значение * no *.

PermitRootLogin no

Аналогичным образом найдите директиву + PasswordAuthentication + и установите для нее значение * no *.

PasswordAuthentication no

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

sudo systemctl reload sshd

Если кто-то попытается войти в систему как * root * сейчас, ответ должен быть + Отказано в доступе (publickey, gssapi-keyex, gssapi-with-mic) +.

[[step-3-­--configuring-the-time-zone]] === Шаг 3 - Настройка часового пояса

На этом шаге вы узнаете, как изменить системные часы на местный часовой пояс. Часы по умолчанию установлены на UTC.

Все известные часовые пояса находятся в каталоге + / usr / share / zoneinfo / +. Посмотрите на файлы и каталоги в + / usr / share / zoneinfo / +.

ls /usr/share/zoneinfo/

Чтобы настроить часы на использование местного часового пояса, найдите в этом каталоге свою страну или географический регион, найдите под ним файл зоны, а затем создайте из него символическую мягкую ссылку на каталог + / etc / localtime +. Например, если вы находитесь в центральной части Соединенных Штатов, где часовой пояс * Central * или * CST *, файл зоны будет иметь вид + + usr / share / zoneinfo / US / Central + `.

Создайте символическую мягкую ссылку из файла вашей зоны на + / etc / localtime +.

sudo ln -sf /usr/share/zoneinfo/ /etc/localtime

Убедитесь, что часы теперь установлены на местное время, просмотрев выходные данные команды + date +.

date

Вывод будет выглядеть примерно так:

Wed Mar 25 14:41:20 CST 2015
  • CST * в этом выводе подтверждает, что это центральное время.

Шаг 4 - Включение брандмауэра

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

Пакет IPTables уже установлен, но чтобы включить его, необходимо установить пакет + iptables-services +.

sudo yum install -y iptables-services

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

sudo systemctl enable iptables

Затем запустите IPTables.

sudo systemctl start iptables

IPTables на Fedora 21 поставляется с набором правил по умолчанию. Одно из этих правил разрешает трафик SSH. Чтобы просмотреть правила по умолчанию, введите:

sudo iptables -L

Вывод должен читать:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

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

sudo /usr/libexec/iptables/iptables.init save

Правила теперь сохраняются в файле с именем + iptables + в каталоге + / etc / sysconfig +.

Шаг 5 (необязательно) - разрешение трафика HTTP и HTTPS

В этом разделе мы рассмотрим, как редактировать правила брандмауэра, чтобы разрешить службы для портов 80 (HTTP) и 443 (HTTPS).

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

Чтобы продолжить, откройте файл правил брандмауэра, набрав:

sudo nano /etc/sysconfig/iptables

Все, что вам нужно сделать, это добавить два правила, одно для порта 80 и другое для порта 443, после правила для трафика SSH (порт 22). Строки ниже в красном - это те, которые вы добавите; строки до и после включены для контекста, чтобы помочь вам найти, куда добавить новые правила.

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT


-A INPUT -j REJECT --reject-with icmp-host-prohibited

Чтобы активировать новый набор правил, перезапустите IPTables.

sudo systemctl restart iptables

Шаг 6 (необязательно) - установка Mlocate

Команда + locate + - очень полезная утилита для поиска местоположения файлов в системе. Например, чтобы найти файл с именем * example *, вы должны набрать:

locate example

Это отсканирует файловую систему и распечатает местоположение или местоположения файла на вашем экране. Существуют и более продвинутые способы использования + locate +.

Чтобы сделать команду доступной на вашем сервере, сначала вам нужно установить пакет + mlocate +.

sudo yum install -y mlocate

Затем выполните команду + updatedb +, чтобы обновить базу данных поиска.

sudo updatedb

После этого вы сможете использовать + locate +, чтобы найти любой файл по имени.

Заключение

После выполнения последнего шага ваш сервер Fedora 21 должен быть настроен, достаточно защищен и готов к использованию!