Лучшие дистрибутивы linux для сервера

4: Настройка брандмауэра

Серверы Ubuntu 18.04 могут использовать брандмауэр UFW для блокирования соединений с отдельными сервисами.

Различные приложения могут при установке зарегистрировать свой профиль в UFW. Такие профили позволяют UFW управлять этими приложениями по имени. OpenSSH (сервис, который позволяет подключаться к серверу) имеет свой профиль, зарегистрированный в UFW.

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

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

После этого можно включить брандмауэр:

Чтобы продолжить, нажмите у и Enter. Чтобы убедиться в том, что соединения SSH не блокируются брандмауэром, введите:

Если вы установили и настроили дополнительные сервисы, вам необходимо откорректировать настройки брандмауэра, чтобы он не блокировал трафик этих сервисов.

Установка RedHat Enterprise Linux 8 (RHEL 8.4). Подключение RHEL8 к домену Active Directory. Запуск терминального клиента.

Операционная система – это один из краеугольных камней в фундаменте организации. От нее напрямую зависит надежность и безопасность корпоративной IT-инфраструктуры. Red Hat Enterprise Linux разработана с учетом всех требований и особенностей коммерческой эксплуатации Linux в производственной среде. Она проста в администрировании и управлении при развертывании приложений в физических, виртуальных и облачных средах. Обеспечивает высокую производительность и доступность приложений, а также обладает достаточной гибкостью, чтобы поддерживать рост организации и внедрение новых решений. Red Hat Enterprise Linux ценят за надежность, безопасность, стабильность, высокую производительность и масштабируемость, которые платформа предоставляет организациям. Клиентские решения Red Hat Enterprise Linux переносят эти инновации на рабочий стол.

Удаление утилиты для конфигурирования сетевых параметров netplan, установка утилит ifupdown и resolvconf.

  1. Обновите индексы пакетов из репозиториев:

    sudo apt update
  2. Установите утилиту ifupdown.

    sudo apt install ifupdown
  3. Установите утилиту resolvconf.

    sudo apt install resolvconf
  4. Удалите утилиту netplan.

    sudo apt purge netplan.io
  5. Выполните команду открытия файла  в текстовом редакторе

    sudo nano /etc/network/interfaces
  6. Допишите блок кода (вместо впишите имя вашего интерфейса):

    auto lo
    iface lo inet loopback
    
    auto enp0s3
    iface enp0s3 inet static
    address 192.168.0.100
    netmask 255.255.255.0
    gateway 192.168.0.1
    dns-nameservers 192.168.0.1

    Где:

    • — флаг автоматического включения сетевого интерфейса enp0s3 при загрузке системы;

    •  — интерфейс () находится в диапазоне адресовIPv4() со статическим ip ();

    •  —  IP адрес (address) сетевой карты; 

    • — маска подсети (netmask);

    • — адрес шлюза ();

    • — адреса DNS серверов;

  7. Сохраните изменения: нажмите Ctrl+X, введите Y (для подтверждения изменений) и нажмите Enter.
  8. Перезагрузите систему:

    sudo reboot

Настройка Ubuntu Server 18.04 после установки

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

1. Обновление системы

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

Чем больше времени прошло с момента релиза установочного образа Ubuntu Server, тем больше времени займет обновление системы, но это необходимая операция. После обновления перезагрузите систему:

2. Настройка SSH

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

Сначала необходимо сменить порт SSH на удаленном сервере, иначе рано или поздно кто-то попытается его перебрать. Откройте файл /etc/ssh/sshd.conf, найдите строчку Port 22 и измените значение порта на другое число, например, на 2323:

Для запуска службы SSH и добавления ее в автозагрузку выполните:

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

Программа спросит вас путь, куда нужно сохранить ключ, не оставляйте по умолчанию, используйте например, ~/.ssh/id_rsa_ubuntu.  Затем утилита предложит ввести пароль для ключа. Если вы не хотите вводить этот пароль каждый раз при входе по SSH, то его задавать не нужно. Но в целях безопасности очень не рекомендуется использовать ключи без паролей.

Затем отправьте только что созданный ключ на свой сервер:

Теперь вы сможете авторизоваться на этом сервере без ввода пароля:

Дальнейшую настройку сервера можно проводить через SSH.

3. Настройка брандмауэра ufw

Сервер будет находиться в сети, а поэтому к нему будет иметь доступ множество пользователей. Необходимо спрятать все запущенные на сервере службы с помощью брандмауэра и оставить только разрешенные. В Ubuntu для управления брандмауэром используется надстройка над iptables — ufw.

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

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

Затем выполните такую команду для включения ufw:

Далее нужно нажать y для подтверждения. Брандмауэр будет запущен и добавлен в автозагрузку. Вы можете посмотреть его состояние командой:

4. Настройка времени

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

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

А для выбора нужного выполните:

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

А затем добавьте его в автозагрузку:

5. Разблокировка пользователя root

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

И введите новый пароль. Затем вы сможете авторизоваться от имени этого пользователя.

1: Логин root

Для подключения к серверу вам понадобится его внешний IP-адрес. Кроме того, нужно знать пароль или иметь закрытый ключ (в случае использования аутентификации на основе SSH-ключей) администратора – пользователя root.

Чтобы войти как пользователь root, используйте команду:

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

Что такое root?

Пользователь root является администратором среды Linux и обладает максимальными правами. Именно из-за широких привилегий аккаунта root использовать его для рутинной работы крайне небезопасно – так можно случайно нанести системе непоправимый вред.

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

Установка и настройка MariaDB

Произведем базовую установку MariaDB 10.3, рекомендованную поставщиком для Ubuntu Linux 18.04:

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb  http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.3/ubuntu bionic main'

sudo apt update
sudo apt install -y mariadb-server apg

Проверьте корректность установки, соединившись с MariaDB с помощью клиента командной строки:

mysql -uroot -e 'SELECT version();'
+--------------------------------------------+
| version()                                  |
+--------------------------------------------+
| 10.3.13-MariaDB-1:10.3.13+maria~bionic-log |
+--------------------------------------------+

Соединение работает, если вы получили вывод похожий на приведенный выше.

Создадим базу данных для сайта и настроим доступ пользователя к ней. В настройке используется пользователь siteuser с паролем secret. Вы должны задать безопасный пароль, который можете сгенерировать с помощью команды apg.

export DB_NAME=website
export DB_USER=siteuser
export DB_PASSWORD=secret

mysql -uroot -e "CREATE DATABASE IF NOT EXISTS $DB_NAME;"

mysql -uroot -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASSWORD'";                                                                                    

mysql -uroot -e "FLUSH PRIVILEGES;"

mysql -u$DB_USER -p$DB_PASSWORD $DB_NAME -e 'select version();'
+--------------------------------------------+
| version()                                  |
+--------------------------------------------+
| 10.3.14-MariaDB-1:10.3.14+maria~bionic-log |
+--------------------------------------------+

Запомните выбранные имя пользователя, пароль и название базы данных, чтобы не забыть. На этом настройка MariaDB завершена.

What next?

With Ubuntu Server installed, you can now carry on and build that file-server or multi-node cluster we mentioned!

If you are new to Ubuntu Server, we’d recommend reading the Server Guide.

You can also check out the latest on Ubuntu Server, and what others are using it for on the Ubuntu Server pages.

Finding help

The Ubuntu community, for both desktop and server, is one of the friendliest and most well populated you can find. That means if you get stuck, someone has probably already seen and solved the same problem.

Try asking for help in one of the following places:

  • Ask Ubuntu
  • Ubuntu Forums
  • IRC-based support

Alternatively, if you need commercial support for your server deployments, take a look at Ubuntu Advantage.

Was this tutorial useful?

Thank you for your feedback.

3: Доступ к sudo

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

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

В Ubuntu 18.04 доступ к этой команде по умолчанию есть у всех пользователей, которые входят в группу sudo. Чтобы добавить нового пользователя в эту группу, запустите следующую команду в сессии пользователя root:

Теперь новый пользователь имеет права суперпользователя.

Особенности реального сервера

Начальный этап

Для установки на физический сервер я сделал загрузочную флешку с помощью UNetbootin. Возможно не самая лучшая идея, но болванку прожигать что-то не хотелось. Кстати это было в мае 2018, тогда 18.04 только вышел и не имел «.1» в конце. Впрочем на процесс установки как таковой это никоим образом не влияет — шаги абсолютно те же самые.

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

Перед выбором сетевого адаптера вылезло предупреждение о потенциальной глючности Unetbootin (на практике не подтвердилось).

Настройка диска

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

Ситуация с дисками была следующей: терабайтный «системный» WD Se, из них скорее всего 128 GiB (поскольку на экране было отражено 137.4 GB — какая-то неровная цифра) под собственно систему (root), а также два WD Red по 3 терабайта. К этому моменту я уже заморочился и перешел на LVM. Точнее дело было так: сначала был куплен компьютер на базе Ryzen 5 2600 с диском на 4 терабайта, да и на «зеленом» сколько-то места оставалось. Это позволило скопировать данные с красных дисков и построить из них логический том, соответственно, на 6 терабайт. Времени 5 — 5,5 терабайт туда-сюда копировать занимает немало, но что поделаешь — дурная голова, как говорится…

Начинаем с системного диска. Выбираем раздел «ровно» на 137,4 GB (sda1), проверяем: Use as — Ext4, format — yes (я собирался установить 18.04 с нуля, а не обновлять), точка монтирования — /, bootable flag — on. Остальное вроде бы по умолчанию.

Второй раздел на этом диске (sda2) форматировать как раз не надо. Зато нужно куда-то смонтировать, я решил сделать это в старом стиле — в /mnt, т.е. в данном случае /mnt/storage

На фотографии, кстати, можно заметить несколько предопределенных точек монтирования — при сильном желании операционную систему можно распределить по разным разделам или дискам.

Аналогичным образом смонтируем логический том в /mnt/lvmred

Проверяем, что получилось, и подтверждаем форматирование системного раздела.

Исправление загрузки (nomodeset)

Все шло хорошо ровно до момента первой загрузки ОС, которого, собственно говоря, не произошло. Неспроста live-server на загружался, ой, неспроста… Дело оказалось в некоем конфликте с видюшкой, интегрированной в процессор. О том, как запретить переход в графический режим при загрузке, я написал отдельную заметку.

Права доступа к точкам монтирования

Точки монтирования, созданные при установке (/mnt/storage и /mnt/lvmred) получили стандартные права папок (755) и владельца (root). Это означает, что для всех, кроме root, содержимое примонтированных файловых систем доступно только для чтения. Поскольку супербезопасность на домашнем сервере вроде как не требуется, необходимо разрешить запись путем установки прав 777 на сами точки монтирования:

# chmod 777 /mnt/storage
# chmod 777 /mnt/lvmred

Чуть более подробно о правах доступа я рассказывал в статье про настройку Ubuntu 14.04.

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

Вариант установки: alt-server (виртуальная машина)

При загрузке выбираем язык (English) и Install Ubuntu Server:

Запускается текстовый установщик.

Язык и клавиатура

В варианте Alt-server этому процессу по-моему уделено слишком уж много внимания — целых 9 экранов! Язык (English — English), 3 экрана для выбора страны (other — Europe — Russian Federaion), локаль (en_US.UTF-8), запрос на определение клавиатуры (нет), 3 экрана настройки клавиатуры (Russian — Russian — Control + Shift).

Настройки сети и пользователей

Выбираем первый сетевой адаптер как используемый по умолчанию. Затем поэтапно вводим имя компьютера (hostname), «настоящее» имя пользователя, логин и пароль с подтверждением.

Наконец, подтверждаем (или выбираем) часовой пояс.

Разбиение диска

Сначала нужно отмонтировать используемые разделы (Yes) и выбрать диск для разбиения.

Поскольку alt-server я бессовестным образом устанавливал после live-server на ту же виртуалку, появляются запросы на удаление существующих логических томов (LVM, которые) и записи изменений на диск:

Далее задаем объем группы томов (весь диск). Получаем, как мне кажется, более осмысленный вариант: примерно 533 мегабайта раздела подкачки, а оставшееся место выделено для корневого раздела. Поскольку все это объединено в группу томов, получается, grub умеет загружать ОС на LVM даже без вспомогательного загрузочного раздела /boot. Подтверждаем предлагаемую настройку диска и вновь записываем изменения.

Завершение установки

У «альтернативного сервера» окончание установки (по сравнению с live) длиннее. Указываем (при наличии) прокси-сервер и отключаем автоматические обновления — предпочитаю периодически обновлять вручную.

Как и в live-варианте, можно выбрать некоторые пакеты для установки, однако в отличие от live их здесь немного, да и назначение их вполне очевидно. OpenSSH нужно выбрать обязательно, а насчет остального — по желанию. LAMP и Samba установлены на реальном сервере, поэтому на скриншоте они тоже выбраны.

Наконец, подтверждаем установку Grub в MBR, если, конечно, Ubuntu — единственная ОС, иначе могут быть нюансы. Хотя в виртуалке-то ОС как раз единственная, это больше относится к реальным машинам с мультизагрузкой. Уходим на перезагрузку после извлечения установочного диска.

Включение второго сетевого адаптера

В отличие от live-server, в таком варианте установки работает только первый адаптер, который обеспечивает лишь доступ в интернет. На этот раз настройки второго адаптера нужно дописать целиком, причем без помощи буфера обмена. Да и сам файл немного другой — /etc/netplan/01-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: yes
    enp0s8:
      dhcp4: yes
      optional: true

Здесь enp0s3 и enp0s8 — стандартные идентификаторы сетевых адаптеров в VirtualBox. В общем случае получить идентификаторы адаптеров (а заодно проверить их состояние) можно командой:

$ ifconfig -a

Последовательность остальных команд в целом та же. Не забываем про netplan generate и netplan apply

Требования к серверу

Для нормальной работы сайта с более-менее приличной нагрузкой вам понадобится сервер с одним или двумя ядрами, 1 GB RAM и 10 GB хранилища. Мы предполагаем, что вы уже располагаете такими или большими ресурсами и готовы приступить к установке.

Требования к DNS

Мы предполагаем, что вы уже имеете доменное имя, которое указывает на IP-сервера. Далее, будем считать, что сайт будет использовать доменное имя website.com. Везде, где фигурирует website.com вы должны сделать замену на имя своего домена. Мы будем использовать переменную WEBSITE_NAME для упрощения настройки:

# если hostname --fqdn отдает правильное доменное имя, то используйте
# 
export WEBSITE_NAME=$(hostname --fqdn)

# в противном случае

export WEBSITE_NAME=mycooldomain.com

Настройка сетевых параметров

Выведите список подключённых сетевых устройств:

sudo ifconfig -a

В тексте вывода обратите внимание на строку:

enp0s3: flags=4163 mtu 1500

— это и есть искомое имя сетевого интерфейса.  Сетевые интерфейсы могут иметь и другие имена. В результате enp0s3 может называться, например или, или даже

Именно это имя сетевого адаптера и нужно использовать в настройке сети.

В начальной конфигурации ubuntu 18.04 конфигурационный файл для настройки сетевых параметров находится в директории /etc/netplan. Имя файла может быть любым, но в конце должно быть расширение yaml.Например: /etc/netplan/01-netcfg.yaml.Рассмотрим пример настройки одного сетевого интерфейса со статическим IP-адресом.Выполните команду открытия файла /etc/netplan/01-netcfg.yaml в текстовом редакторе:

sudo nano /etc/netplan/01-netcfg.yaml

Измените блок кода и приведите его к следующему виду:

network:
    version: 2
    renderer: networkd
    ethernets:
        enp0s3:
            dhcp4: no
            addresses: [192.168.0.100/24]
            gateway4: 192.168.0.1
            nameservers:
             addresses:

Где:
version — версия YAML;
renderer — менеджер сети;
ethernets — настройка сетевых адаптеров ethernet;
enp0s3 — настройка для соответствующего сетевого адаптера;
dhcp4 — будет ли адаптер получать сетевой IP-адрес автоматически. Возможны варианты yes/true — получать адрес автоматически; no/false — адрес должен быть назначен вручную;
addresses — задает IP-адреса через запятую;
gateway4 — шлюз по-умолчанию;
nameservers — настройка серверов имен (DNS);
nameservers addresses — указываются адреса серверов DNS;

Сохраните изменения: нажмите Ctrl+X, введите Y (для подтверждения изменений) и нажмите Enter.

Перезагрузите систему:

sudo reboot

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: