Дебиан 11 как локальный сервер
Перейти к содержимому

Дебиан 11 как локальный сервер

  • автор:

Начальная настройка сервера Debian 11

Если вы впервые создаёте сервер Debian 11, выполните эти несколько шагов в рамках базовой настройки. Они сделают пользование сервером более удобным и безопасным, станут прочным фундаментом для последующей работы.

Это руководство научит вас входить на сервер в качестве root-пользователя, создавать новых пользователей с правами администратора и настраивать базовый брандмауэр.

1: Входим в систему к Root-пользователь

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

Если вы ещё не залогинились на своём сервере, воспользуйтесь детальным руководством по подключению к Droplet при помощи SSH.

Если вы еще не подключились к серверу, войдите в систему как root-пользователь, используя эту команду (выделенную часть команды нужно заменить IP-адресом вашего сервера):

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

Что такое root-пользователь?

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

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

2: Создаём нового пользователя

Когда вы залогинились как root-пользователь, можно создавать новый аккаунт, с которым и будете входить в систему в дальнейшем.

Это пример создания пользователя с ником 8host, а вам нужно будет выбрать ник себе по вкусу:

Дальше нужно ответить на несколько вопросов, начиная с пароля учетной записи.

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

В следующем шаге мы предоставим новому пользователю права администратора.

3: Предоставление прав администратора

Мы создали новую учётную запись с обычными правами пользователя.

Но иногда нам нужно будет выполнять в ней задачи с доступом администратора.

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

Чтобы предоставить новому пользователю такие права, нужно добавить его в группу sudo. В Debian 11 пользователи из группы sudo могут использовать команду sudo по умолчанию.

Как root-пользователь запустите эту команду и добавьте нового пользователя в группу sudo (замените 8host на ник вашего нового пользователя):

usermod -aG sudo 8host

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

4: Настраиваем базовый брандмауэр

Серверы Debian могут использовать брандмауэры, чтобы контролировать конкретные подключения к определенным сервисам. В этом руководстве мы установим настроим политики брандмауэра UFW, чтобы управлять исключениями.

Можно использовать менеджер пакетов apt для установки UFW. Обновите локальный индекс, чтобы получить свежую информацию о доступных пакетах, а затем установите брандмауэр UFW, набрав:

apt update
apt install ufw

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

Вы получите список доступных профилей приложений, введя:

ufw app list
Available applications:
. . .
OpenSSH
. . .

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

ufw allow OpenSSH

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

Для продолжения ведите y и нажмите Enter. Вы увидите, что соединения SSH по-прежнему разрешены, набрав:

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

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

5: Включение внешнего доступа для обычного пользователя

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

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

Процесс настройки доступа SSH для вашего нового пользователя зависит от того, использует root-аккаунт вашего сервера пароль или SSH-ключ для аутентификации.

Аутентификация по паролю

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

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

Вам предложат ввести пароль обычного аккаунта при первом использовании sudo в каждом сеансе (и периодически после этого).

Чтобы повысить безопасность сервера, мы настоятельно рекомендуем настроить ключи SSH вместо парольной аутентификации. Следуйте нашему руководству по настройке ключей SSH в Debian 11, чтобы узнать, как это сделать.

Аутентификация по ключу SSH

Если вы вошли в root-аккаунт при помощи SSH-ключа, то аутентификация по паролю для SSH отключена. Вам нужно добавить копию вашего локального ключа в файл /.ssh/authorized_keys нового пользователя, чтобы успешно войти в систему.

Поскольку ваш ключ уже находится в файле ~/.ssh/authorized_keys root-аккаунта на сервере, можно скопировать этот файл и структуру каталогов в новый аккаунт этой сессии с помощью команды cp. После этого можно настроить права собственности на файлы с помощью команды chawn.

Обязательно замените 8host в команде именем вашего пользователя:

# cp -r ~/.ssh /home/8host
# chown -R 8host:8host /home/8host/.ssh

Команда cp -r копирует весь каталог в домашний каталог нового пользователя, а команда chown -R меняет владельца этого каталога (и его содержимого) на заданные username:groupname (Debian создает группу с вашим именем пользователя по умолчанию).

Теперь откройте новую терминальную сессию и залогиньтесь через SSH с новым именем пользователя:

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

Вам предложат ввести пароль обычного аккаунта при первом использовании sudo в каждом сеансе (и периодически после этого).

Заключение

Теперь у вас прочный фундамент для сервера и вы можете устанавливать на него любое программное обеспечение прямо сейчас.

Записки IT специалиста

Linux — начинающим. Установка и первоначальная настройка Debian 11 для сервера

  • Автор: Уваров А.С.
  • 10.08.2022

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Для установки мы будем использовать образ Netinstall, который сейчас предлагается к скачиванию по умолчанию и предполагает наличие доступа к интернет во время установки. Однако, вопреки распространенному мнению, вы можете выполнить с его помощью минимальную установку системы, даже не имея доступа к сети. Все образа Debian являются гибридными, они могут быть записаны как на оптический носитель, так и на USB-флеш накопители.

Начало установки

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

install-debian-11-minimal-server-001.png

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

install-debian-11-minimal-server-002.png

Укажите сочетание клавиш для переключения раскладки, по умолчанию предлагается стандартный Alt + Shift.

install-debian-11-minimal-server-003.png

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

install-debian-11-minimal-server-004.png

Следующий важный шаг — настройка пользователей. Debian предлагает несколько вариантов: с активным пользователем root или через sudo, когда учетная запись суперпользователя отключена и административные права получает созданный при установке пользователь (как в Ubuntu). Если исходить из соображение безопасности, то второй вариант лучше, но вы можете настроить систему по собственному усмотрению.

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

При отсутствии сети доступен только первый вариант (с активной учетной записью root).

install-debian-11-minimal-server-005.png

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

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

install-debian-11-minimal-server-006.png

На этом начальный этап установки завершен.

Разметка дискового пространства

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

Автоматическая разметка

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

install-debian-11-minimal-server-007.png

Для всех представленных вариантов предлагается три схемы разметки: все файлы в одном разделе, выделение /home и выделение /home, /var и /tmp. Для сервера подходит только первый вариант, тогда как второй предпочтителен для рабочих станций. Третий, кроме как недоразумением назвать нельзя. Автоматически бить диск на несколько разделов, не имея четкого понимания причин такого разделения — глупо. А имея понимание и представление проще настроить сразу как надо вручную. Поэтому безальтернативно выбираем Все файлы в одном разделе.

install-debian-11-minimal-server-008.png

В этом случае система выполнит классическую разбивку: корневой раздел в начале диска и раздел подкачки в его конце.

install-debian-11-minimal-server-009.png

Для UEFI-систем добавится ESP-раздел c EFI-загрузчиком в самом начале диска, затем корневой и подкачка.

install-debian-11-minimal-server-010.png

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

Ручная разметка

Автоматическая разметка — это хорошо, вы получите заведомо рабочий результат без лишних действий, но это будет не самый оптимальный вариант. Поэтому можно разметить диск вручную и сразу так, как нужно. Если вы используете SSD, то мы советуем отказаться от стандартной схемы разметки и перенести раздел подкачки в начало диска. Почему?

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

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

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

При использовании EFI не забывайте, что первым должен идти ESP-раздел.

Перейдем к практике, на первом экране разметки дисков выбираем метод Вручную, затем выберите из списка нужный диск и нажмите Enter:

install-debian-11-minimal-server-011.png

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

install-debian-11-minimal-server-012.png

Теперь на нашем диске появится пункт Свободное пространство, переходим на него и снова нажимаем Enter, будет предложено создать новый раздел.

install-debian-11-minimal-server-013.png

Если у вас UEFI-система, то сначала создаем раздел размером не менее 500 МБ:

install-debian-11-minimal-server-014.png

Указываем его местоположение в начале диска:

install-debian-11-minimal-server-015.png

И выбираем тип Системный раздел EFI, метка «загрузочный» будет включена автоматически.

install-debian-11-minimal-server-016.png

Затем точно также создаете раздел подкачки нужного размера:

install-debian-11-minimal-server-017.png

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

install-debian-11-minimal-server-018.png

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

install-debian-11-minimal-server-019.png

В MBR-системах у вас будет просто раздел подкачки и корневой раздел.

Настройка LVM

Ручная настройка LVM — достаточно сложный процесс, требующий определенных знаний и выходящий за рамки данной статьи, поэтому мы будем рассматривать автоматическую настройку и сопутствующие этому особенности, для ручной настройки LVM следует обратиться к нашей статье:

Важной особенностью LVM-разметки является то, что загрузчик (раздел /boot) должен находиться за ее пределами, в UEFI-системах также за пределами LVM следует располагать и ESP-раздел. Таким образом выбрав автоматическую разметку LVM и схему Все файлы в одном разделе мы получим следующую схему:

install-debian-11-minimal-server-020.png

Как мы говорили выше, система автоматически создала ESP и /boot разделы размером по 500 МБ каждый, при этом ESP раздел должен располагаться первым. Запомните эту особенность на случай ручной настройки LVM в последующем. Также обращаем ваше внимание, что для современных ядер минимальный размер /boot раздела должен быть не менее 500 МБ, встречающиеся рекомендации в 256 МБ следует считать устаревшими.

Что касается самой LVM-разметки, то создана единственная группа томов (VG) — debian-vg, внутри которой расположены два логических тома (LV): root и swap_1. Расположение логических томов на диске роли не играет, так как LVM позволяет гибко управлять пространством томов, не оглядываясь на физическую конфигурацию дисковой подсистемы.

Настройка программного RAID

Программный RAID широко используется для обеспечения отказоустойчивости дисковой подсистемы и поэтому его настройку нельзя обойти стороной. Как и с LVM, при настройке программного RAID имеются некоторые особенности. В UEFI-системах ESP-разделы также следует располагать за пределами RIAD-массивов, однако на этом особенности настройки программного RAID не заканчиваются, и мы советуем обратиться к нашей статье:

Отдельного разговора также заслуживает раздел подкачки. Мы, конечно, можем объединить его в RAID, но вот толку от этого немного, своп не содержит никаких критических данных, которым требуется отказоустойчивость, поэтому более разумно оставить разделы подкачки на каждом диске, не создавая из них массив. Этим вы получите в два раза больший объем пространств подкачки и более высокое быстродействие, так как будет отсутствовать пенальти на запись и современные системы умеют работать с несколькими пространствами подкачки параллельно.

Что касается схемы разметки, то мы точно также советуем размещать раздел подкачки перед корневым, в UEFI-системах самым первым должен быть ESP-раздел.

Основной залог успешного создания программного RAID-массива — это одинаковая разметка для входящих в его состав томов. Поэтому план действий будет следующий. Создаем на обоих дисках новую таблицу разделов.

install-debian-11-minimal-server-021.png

Затем размечаем согласно принятой схемы, основное внимание уделяем одинаковым размерам разделов. В итоге мы должны получить на каждом диске два одинаковых раздела подкачки и два раздела для RAID, система предложит по умолчанию отформатировать в ext4 и смонтировать как корень и /home, на самом деле это не имеет никакого значения, главное — полная идентичность разметки. В UEFI-системах к ним еще добавится два ESP-раздела, которые должны располагаться самыми первыми.

install-debian-11-minimal-server-022.png

Теперь переходим в раздел Настройка программного RAID и выбираем пункт Создать MD-устройство.

install-debian-11-minimal-server-023.png

Затем выбираем тип RAID, в современных условиях практический смысл имеют RAID 1 и RAID 10, в нашем случае мы можем собрать из двух дисков только RAID 1 (зеркало).

install-debian-11-minimal-server-024.png

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

install-debian-11-minimal-server-025.png

Теперь созданные нами ранее разделы на каждом из дисков будут представлены как Linux RAID, а в списке дисков появится новое RAID-устройство. Создаем на нем раздел с нужной файловой системой и точкой монтирования в корень.

install-debian-11-minimal-server-026.png

А общая схема разметки будет выглядеть следующим образом:

install-debian-11-minimal-server-027.png

На этом завершим тему разметки дисков и двинемся дальше.

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

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

install-debian-11-minimal-server-028.png

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

install-debian-11-minimal-server-029.png

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

install-debian-11-minimal-server-030.png

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

install-debian-11-minimal-server-031.png

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

install-debian-11-minimal-server-032.png

А в следующем окне вместо предложения перезагрузить систему нажмем кнопку Вернуться.

install-debian-11-minimal-server-033.png

Перед вами появится следующее меню, в котором выбираем пункт Установка системного загрузчика GRUB:

install-debian-11-minimal-server-034.png

После чего установите загрузчик на второй диск.

install-debian-11-minimal-server-035.png

На этом установка завершена, можете перезагружать систему.

Вход в систему, повышение прав

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

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

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

После чего укажите пароль суперпользователя. Ключ (-l, —login) вызывает оболочку регистрации входа пользователя, что эквивалентно непосредственному входу пользователя в систему. При этом будет изменен домашний каталог и применены все настройки рабочей среды суперпользователя (маска, переменные окружения и т.д.).

Если root выключен, то выполните команду:

sudo -s 

И введите пароль пользователя, под которым вошли в систему. Ключ -s аналогичен ключу команды su и позволяет открыть оболочку как будто бы при интерактивном входе суперпользователя в систему (со сменой домашнего каталога, переменных окружения и т.д.).

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

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

ip a

install-debian-11-minimal-server-036.png

Как видим, у нас есть интерфейс локальной петли и сетевой адаптер ens33, который получил динамический адрес 192.168.233.130, допустим мы хотим присвоить ему статический адрес 192.168.233.81. Для этого откроем на редактирование файл /etc/network/interfaces:

nano /etc/network/interfaces

install-debian-11-minimal-server-037.png

И приведем блок, относящийся к адаптеру ens33 к следующему виду:

allow-hotplug ens33 
iface ens33 inet static
address 192.168.233.81
netmask 255.255.255.0
gateway 192.168.233.2
dns-nameservers 192.168.233.2

Набор опций понятен без дополнительных пояснений, мы указали адрес, маску сети, шлюз и DNS-сервера. Если их несколько, то указываем через пробел.

Сохраняем файл нажатием Ctrl + x.

reboot

Теперь можем присоединиться к нему по новому адресу.

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

По умолчанию в Debian подключен только репозиторий main, содержащий только свободное ПО, соответствующее критериям FSF (Free Software Foundation, Фонд свободного ПО), но существуют еще два репозитория: non-free — бесплатно распространяемое ПО, не соответствующее критериям свободного ПО, contrib — программное обеспечение содержащее несвободные компоненты или требующие проприетарного ПО, например, Oracle Java.

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

sed -i "s/main/main contrib non-free/g" /etc/apt/sources.list

install-debian-11-minimal-server-038.png

После чего не забудьте выполнить обновление списка пакетов:

apt update

После чего можно выполнить обновление системы:

apt full-upgrade 

Или установить дополнительное ПО, обычно мы устанавливаем двухпанельный менеджер Midnight Commander и диспетчер задач Htop:

apt install mc htop

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

В Debian 11 в качестве брандмауэра установлен пакет nftables, это более мощное и продвинутое ПО, но требующее отдельного изучения. Если вы не готовы с ним работать, то можно вернуть привычный iptables и продолжать его использование. При этом на самом деле будет продолжать работать nftables, но в режиме совместимости с iptables.

Установим необходимые пакеты:

apt install iptables iptables-persistent

Теперь в порядке перечисленном ниже выполним следующие команды:

iptables -A INPUT -i ens33 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ens33 -m conntrack --ctstate INVALID -j DROP
iptables -A INPUT -i ens33 -p icmp -j ACCEPT
iptables -A INPUT -i ens33 -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
iptables -A INPUT -i ens33 -j DROP

Тем самым мы создадим минимальную конфигурацию брандмауэра. Первое правило разрешает уже установленные и связанные с ними соединения. Второе блокирует пакеты, не являющиеся первым пакетом соединения и не относящиеся к другим соединениям. Затем мы разрешаем соединения по протоколу ICMP (ping, PMTUD) и SSH-соединения (порт TCP 22). Затем полностью блокируем все остальные входящие соединения.

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

iptables-save > /etc/iptables/rules.v4

Благодаря пакету iptables-persistent сохранённые правила теперь будут автоматически восстанавливаться при загрузке системы. Для их изменения удобнее всего вносить правки в файл /etc/iptables/rules.v4.

install-debian-11-minimal-server-039.png

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

После сохранения изменений загрузите правила командой:

iptables-restore < /etc/iptables/rules.v4

Посмотреть действующие правила и их счетчики можно командой:

iptables -L -vn

install-debian-11-minimal-server-040.png

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

Установка sudo и отключение учетной записи root

Если вы первоначально включили учетную запись суперпользователя, а теперь хотите ее выключить и далее работать через sudo, то следует выполнить ряд простых действий. Во-первых, установим пакет sudo:

apt install sudo

Затем добавим нужного пользователя в группу sudo:

usermod -a -G sudo andrey

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

passwd -l root

Еще раз повторим, данная схема используется по умолчанию в Ubuntu и представляется нам более безопасной, нежели наличие активной учетной записи root.

Установка нового ядра

В Debian 11 используется достаточно актуальное ядро с длительным сроком поддержки 5.10 LTS, выпущенное 13.12.2020 года. Однако бывают ситуации, когда для поддержки оборудования или каких-то дополнительных возможностей требуется более свежее ядро. В этом случае потребуется установка более свежей версии. Ничего страшного в этом нет, но мы не рекомендуем устанавливать новые версии ядер без насущной на то необходимости. Хотя это Linux и здесь каждый сам кузнец собственного счастья.

Есть много способов обновить ядро, но мы рассмотрим самый безопасный - с использованием репозитория Backports. Он предоставляет пакеты из testing (в основном) и unstable (в некоторых случаях, например, для обновления безопасности) версий Debian, адаптированных для работы в стабильном (stable) выпуске.

Прежде всего подключим репозиторий:

echo "deb http://deb.debian.org/debian bullseye-backports main contrib non-free" > /etc/apt/sources.list.d/bullseye-backports.list

И обновим список пакетов:

apt update

Затем перейдем к собственно обновлению. В системе существует метапакет linux-image-amd64, указывающий на последнюю версию ядра. Выполним:

apt policy linux-image-amd64

install-debian-11-minimal-server-041.png

Как можем увидеть, доступны ядра 5.10 и 5.18, но так как репозиторий Backports имеет более низкий приоритет (100 против 500), то автоматического обновления ядра не произойдет и для его установки нужно будет выполнить команду:

apt install linux-image-amd64 -t bullseye-backports

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

apt-cache search linux-image

В выводе команды мы без труда найдем пакеты последней LTS-версии 5.15.

install-debian-11-minimal-server-042.png

Выбираем нужный нам пакет и устанавливаем его командой:

apt install linux-image-5.15.0-0.bpo.3-amd64 -t bullseye-backports

Перезагружаемся и убеждаемся, что система работает с новой версией ядра.

install-debian-11-minimal-server-043.png

Заключение

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Дополнительные материалы:

  1. Linux - начинающим. Часть 1. Первое знакомство
  2. Linux - начинающим. Часть 2. Установка Ubuntu Server
  3. Linux - начинающим. Часть 3. Установка Debian 7 для сервера
  4. Linux - начинающим. Часть 4. Работаем с файловой системой. Теория
  5. Linux - начинающим. Часть 4. Работаем с файловой системой. Практика
  6. Linux - начинающим. Часть 5. Управление пакетами в Debian и Ubuntu
  7. Linux - начинающим. Часть 6. Управление пользователями и группами. Теория
  8. Linux - начинающим. Часть 6. Управление пользователями и группами. Практика
  9. Linux - начинающим. Часть 7. Потоки, перенаправление потоков, конвейер
  10. Настройка языка и региональных стандартов в Ubuntu Server/Debian
  11. Используем APT Pinning для закрепления пакетов в Debian и Ubuntu
  12. Linux - начинающим. Что такое Load Average и какую информацию он несет
  13. Обновляем снятый с поддержки дистрибутив Ubuntu
  14. Linux - начинающим. Обновление Debian до следующего выпуска
  15. Осваиваем эффективную работу в Midnight Commander
  16. Linux - начинающим. Что такое пространства подкачки и как они работают
  17. Linux - начинающим. Screen - многозадачность в терминале и ни единого разрыва!
  18. Linux - начинающим. Как узнать температуру процессора и накопителей
  19. Linux - начинающим. Как получить информацию об оборудовании ПК
  20. Linux - начинающим. Установка и первоначальная настройка Debian 11 для сервера

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Подпишись на наш Telegram-канал

Или подпишись на наш Телеграм-канал:

Дебиан 11 как локальный сервер

Конфигурация преднастроенного сервера доступна на форме заказа.

1. Обновите пакеты программного обеспечения

Прежде чем мы установим стек LEMP, рекомендуется обновить репозиторий и пакеты программного обеспечения. Выполните следующие команды в ОС Debian 11.

apt update
apt upgrade

2. Установите веб-сервер Nginx

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

apt install nginx

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

systemctl enable nginx

Затем запустите Nginx с помощью этой команды:

systemctl start nginx

Теперь проверьте его состояние.

systemctl status nginx

Теперь введите общедоступный IP-адрес вашего сервера Debian 11 в адресной строке браузера. Вы должны увидеть веб-страницу «Добро пожаловать в Nginx», что означает, что веб-сервер Nginx работает правильно. Если вы устанавливаете LEMP на свой локальный компьютер с Debian 11, введите 127.0.0.1 или localhost в адресной строке браузера.

Если соединение отклонено или не может быть установлено, возможно, брандмауэр блокирует входящие запросы на порт TCP 80. Если вы используете брандмауэр iptables, вам необходимо выполнить следующую команду, чтобы открыть порт TCP 80.

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

Если вы используете брандмауэр UFW, запустите эту команду, чтобы открыть TCP-порт 80.

ufw allow http

Теперь нам нужно сделать www-data (пользователя Nginx) владельцем веб-каталога. По умолчанию он принадлежит пользователю root.

chown www-data:www-data /usr/share/nginx/html -R

3. Установите сервер базы данных MariaDB

MariaDB является заменой MySQL. Он разработан бывшими членами команды MySQL, которые обеспокоены тем, что Oracle может превратить MySQL в продукт с закрытым исходным кодом. Введите следующую команду, чтобы установить MariaDB в Debian 11.

apt install mariadb-server mariadb-client

После установки сервер MariaDB должен быть запущен автоматически. Используйте systemctl, чтобы проверить его статус.

systemctl status mariadb

Если он не запущен, запустите его с помощью этой команды:

systemctl start mariadb

Чтобы разрешить автоматический запуск MariaDB во время загрузки, запустите

systemctl enable mariadb

Теперь запустите сценарий безопасности после установки.

mysql_secure_installation

Когда вас попросят ввести пароль root для MariaDB, нажмите клавишу Enter, так как пароль root еще не установлен. Затем введите y, чтобы установить пароль root для сервера MariaDB.

Затем вы можете нажать Enter, чтобы ответить на все оставшиеся вопросы, что приведет к удалению анонимного пользователя, отключению удаленного входа в систему root и удалению тестовой базы данных. Этот шаг является основным требованием для обеспечения безопасности базы данных MariaDB. (Обратите внимание, что Y пишется с большой буквы, что означает, что это ответ по умолчанию.)

По умолчанию пакет MaraiDB в Debian использует unix_socket для аутентификации пользователя, что в основном означает, что вы можете использовать имя пользователя и пароль ОС для входа в консоль MariaDB. Таким образом, вы можете запустить следующую команду для входа в систему, не предоставляя root-пароль MariaDB.

mariadb -u root

Для выхода запустите

exit;

4. Установите PHP7.4

PHP7.4 включен в репозиторий Debian 11 и имеет незначительное улучшение производительности по сравнению с PHP7.3. Введите следующую команду, чтобы установить PHP7.4 и некоторые распространенные расширения.

apt install php7.4 php7.4-fpm php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline php7.4-mbstring php7.4-xml php7.4-gd php7.4-curl

Расширения PHP обычно необходимы для систем управления контентом (CMS), таких как WordPress. Например, если в вашей установке отсутствует php7.4-xml, то некоторые страницы вашего сайта WordPress могут быть пустыми, и вы можете найти ошибку в журнале ошибок Nginx, например:

Сообщение PHP: Неустранимая ошибка PHP: необработанная ошибка: вызов неопределенной функции xml_parser_create()

Установка этих расширений PHP гарантирует бесперебойную работу вашей CMS. Теперь запустите php7.4-fpm.

systemctl start php7.4-fpm

Включите автозапуск во время загрузки.

systemctl enable php7.4-fpm
systemctl status php7.4-fpm

5. Создадим серверный блок Nginx

Блок сервера Nginx похож на виртуальный хост в Apache. Мы не будем использовать блок сервера по умолчанию, потому что он не подходит для запуска PHP-кода, и если мы его изменим, он превратится в беспорядок. Поэтому удалите символическую ссылку по умолчанию в каталоге с поддержкой сайтов, выполнив следующую команду. (Он по-прежнему доступен как /etc/nginx/sites-available/default.)

rm /etc/nginx/sites-enabled/default

Затем используйте текстовый редактор командной строки, такой как Nano, чтобы создать новый файл блока сервера в каталоге /etc/nginx/conf.d/. Вставьте следующий текст в файл. Следующий фрагмент заставит Nginx прослушивать порт 80 IPv4 и порт 80 IPv6 с универсальным именем сервера.

nano /etc/nginx/conf.d/default.conf

server
listen 80;
listen [::]:80;
server_name _;
root /usr/share/nginx/html/;
index index.php index.html index.htm index.nginx-debian.html;
location / try_files $uri $uri/ /index.php;
>

location ~ \.php$ fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
>

# A long browser cache lifetime can speed up repeat visits to your page
location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ access_log off;
log_not_found off;
expires 360d;
>

# disable access to hidden files
location ~ /\.ht access_log off;
log_not_found off;
deny all;
>
>

Сохраните и закройте файл. (Чтобы сохранить файл в текстовом редакторе Nano, нажмите Ctrl+O, затем нажмите Enter для подтверждения. Чтобы выйти, нажмите Ctrl+X.)

Затем протестируйте конфигурации Nginx.

nginx -t

Если тест прошел успешно, перезагрузите Nginx.

systemctl reload nginx

6. Протестируем PHP

Чтобы протестировать PHP-FPM с веб-сервером Nginx, нам нужно создать файл info.php в каталоге webroot.

nano /usr/share/nginx/html/info.php

Сохраните и закройте файл. Теперь в адресной строке браузера введите server-ip-address/info.php. Замените серверный IP-адрес вашим фактическим IP-адресом. Если вы следуете этому руководству на своем локальном компьютере, введите 127.0.0.1/info.php или localhost/info.php.

Вы увидите информацию PHP вашего сервера. Это означает, что PHP-скрипты могут правильно работать с веб-сервером Nginx.

7. Автоматический перезапуск Nginx

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

systemctl restart nginx

Вместо того, чтобы вручную вводить эту команду, мы можем сделать автоматический перезапуск Nginx, отредактировав системный модуль nginx.service systemd. Чтобы переопределить конфигурацию службы systemd по умолчанию, мы создаем отдельный каталог.

mkdir -p /etc/systemd/system/nginx.service.d/

Затем создайте файл в этом каталоге.

nano /etc/systemd/system/nginx.service.d/restart.conf

Добавьте в файл следующие строки, которые заставят Nginx автоматически перезапускаться через 5 секунд после обнаружения сбоя. Значение RetartSec по умолчанию — 100 мс, что слишком мало. Nginx может жаловаться, что «запрос на запуск повторяется слишком быстро», если RestartSec недостаточно велик.

[Service]

Restart=always
RestartSec=5s

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

systemctl daemon-reload

Чтобы проверить, будет ли это работать, уничтожьте Nginx с помощью:

pkill nginx

Затем проверьте статус Nginx. Вы обнаружите, что Nginx автоматически перезапускается.

systemctl status nginx

LEMP (Nginx, MariaDB и PHP7.4) успешно установлен на Debian 11. Все эти действия уже выполнены в предустановленной конфигурации LEMP Debian 11 для VPS серверов в форме заказа.

Первоначальная настройка сервера с Debian 11

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

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

Подключение к серверу пользователем root

Для первого подключения к виртуальному серверу вам нужно знать его IP-адрес. Также вы должны знать пароль для учётной записи root. Эти данные вы можете увидеть в личном кабинете вашего VPS.

Личный кабинет RUVDS

Непосредственно подключение к VPS осуществляется из командной строки следующей инструкцией:

ssh root@194.87.214.253

В данном примере:

  • root – имя учётной записи, под именем которой производится подключение;
  • 194.87.214.253 – IP-адрес сервера.

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

Предупреждение о подлинности хоста

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

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

Создание нового пользователя

После того, как вы зарегистрировались в системе с помощью пользователя root , необходимо создать новую учётную запись, которую вы будете использовать далее.

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

# adduser new-user

Здесь new-user – имя новой учётной записи, в качестве которого вы можете выбрать какое-либо своё. При создании нового пользователя система попросит сначала дважды ввести пароля для этой учётной записи. После этого нужно будет ответить на несколько вопросов, которые будет задавать система. Что-либо вводить при этом необязательно, можно просто нажимать Enter .

Предоставление привилегий администратора

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

# usermod -aG sudo new-user

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

# apt update # apt install sudo

На практике применение данной команды выглядит как добавление слова sudo перед исполняемой инструкцией:

$ sudo your_executable_command

Базовая настройка брандмауэра

В операционных системах семейства Debian используется межсетевой экран, разрешающий определённые подключения к серверу. Такой брандмауэр называется Uncomplicated Firewall (UFW). С его помощью вы сможете произвести настройки политики безопасности, а также, управлять её исключениями.

Установка брандмауэра производится следующей командой:

$ sudo apt install ufw

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

Список всех доступных профилей приложений доступен по команде:

$ sudo ufw app list

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

$ sudo ufw allow OpenSSH

Активация межсетевого экрана производится при помощи команды:

$ sudo ufw enable

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

$ sudo ufw status

Статус сервиса UFW

Вывод данной команды говорит нам о том, что межсетевой экран блокирует все соединения с сервером кроме SSH.

Настроить брандмауэр можно таким образом, чтобы это соответствовало вашим требованиям. Например, вы можете разрешить доступ к VPS только с хостов со строго определёнными IP-адресами:

$ sudo ufw allow from XXX.XXX.XXX.XXX

Таким же образом можно ограничить доступ к серверу какой-либо определённой подсетью:

$ sudo ufw allow from XXX.XXX.XXX.0/24

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

$ sudo ufw allow from XXX.XXX.XXX.XXX to any port 22

Авторизация с использованием SSH-ключей

Чтобы повысить уровень безопасности вашего виртуального сервера, можно настроить на нём авторизацию при помощи SSH-ключей.

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

ssh-keygen

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

Вывод команды ssh-keygen - Первоначальная настройка сервера с Debian 11

В результате на вашей рабочей станции появятся два файла: публичный ключ сервера id_rsa.pub и ваш приватный ключ id_rsa .

После этого подключитесь к вашему VPS и перейдите в домашнюю директорию:

Там создайте каталог .ssh :

$ mkdir .ssh

Созданному каталогу назначьте необходимые права:

$ chmod 700 .ssh/

Далее, перейдите в директорию .ssh и создайте в ней файл authorized_keys . Данному файлу назначьте права 600 :

$ cd .ssh $ touch authorized_keys $ chmod 600 authorized_keys

После чего откройте его для редактирования:

$ nano authorized_keys

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

Результатом произведённых настроек должна стать возможность подключаться к вашему VPS без использования пароля учётной записи.

Чтобы совсем закрыть доступ к серверу для авторизации с использованием паролей, отредактируйте файл /etc/ssh/sshd_config:

$ cd /etc/ssh/ $ sudo nano sshd_config

В этом файле следует раскомментировать строку PasswordAuthentication и установить её значение в no . После чего перезапустите службу SSH:

$ sudo service ssh restart

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *