Базовая настройка сервера на Debian 9.4 после установки

Многие устанавливают на Server программы nmap, htop, iftop и другие. Программы хорошие, но лучше установите их на домашний PC Мы установим на Server только самые необходимые программы: ssh - для удаленного управления Server-ом с домашнего PC mc - Midnight Commander удобный файловый менеджер ufw - файрвол для безопасной работы Server Предполается, что установлена система Debian, и Вы вошли на Server как пользователь.

Примем определения по тексту:

PC - домашний компьютер с параметрами: inet addr: 192.168.1.133 пользователь: UserHome Server — домашний компьютер с установленной ОС Debian. администратор: root пароль администратора: PswdSuperUser пользователь: UserServer пароль пользователя: PswdUser Эти определения позволят проще понимать от имени какого пользователя выполняем действия. Ваши данные отличаются, поэтому необходимо заменить, все выше перечисленные данные, своими. Для получения имени пользователя вашего PC: $ whoami Для получения IP адреса вашего PC: $ ip a ifconfig из debian 9.4 удалена, поэтому читайте руководство команды ip ($ man ip)

Все дальнейшие действия выполняем на Server:

Мы включили питание Server и на приглашение ввели: Server login: UserServer Password: PswdUser Устанавливаем 'sudo': Sudo - программа, которая предоставляет возможность пользователю выполнять команды от имени администратора, т. е. от «root» Sudo не включён по умолчанию в Debian. Почему sudo? Использование sudo лучше (безопаснее) открытия сессии root, по следующим причинам: Нет необходимости в пароле root (sudo запрашивает пароль текущего пользователя). По умолчанию команды выполняются от имени обычного пользователя (не привилегированного), что позволяет избежать ошибок. От имени root выполняются только команды с префиксом sudo. Проверка/запись: когда выполняется sudo, записывается имя пользователя и исполняемая команда. Грубо говоря, sudo установлен и включен только, если во время установки были выбраны компоненты рабочего стола, но в нашем случае, установлены только основные компоненты системы, без компонентов рабочего стола. В Debian права по умолчанию не предоставляются (в отличие от некоторых других дистрибутивов). Переключаем пользователя, заходим в систему как «root», выполнив команду: $ su - На вопрос о пароле, вводим пароль администратора - PswdSuperUser Устанавливаем sudo: $ apt install sudo Откроем файл /etc/sudoers для редактирования: $ nano /etc/sudoers В открывшемся файле, после строки: root ALL=(ALL:ALL) ALL Вписываем строку: UserServer ALL=(ALL:ALL) ALL Результат: … root ALL=(ALL:ALL) ALL UserServer ALL=(ALL:ALL) ALL ... Замените UserServer на свое имя пользователя Server. Сохраняем изменения: Ctrl+O, Enter Выходим из редактора: Ctrl+X Выходим из «root»: $ exit

Все остальные действия производим от имени пользователя «UserServer» с использованием sudo

Получаем имя сетевой службы: $ ip a Как правило оно называется eth0, enp1s0, enp2s0 или по другому. По тексту будем использовать eth0, у вашего Server будет другая. Для настройки сети, необходимо отредактировать файл /etc/network/interfaces: $ sudo nano /etc/network/interfaces Для получения IP адреса по dhcp достаточно будет следующего содержания: allow-hotplug eth0 iface eth0 inet dhcp Установим статический адрес. Для этого необходимо вместо этих двух строк, вставить следующие строки: auto eth0 iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 192.168.1.1 8.8.8.8 Сохраняем файл (Нажимаем Ctrl+O, затем Enter и потом Ctrl+X) Перезапускаем сетевую службу: $ sudo /etc/init.d/networking restart Проверим работу сети: $ ping yandex.ru Если сеть не работает, то перезагружаем Server: $ sudo reboot Настройка ssh Рекомендуется запускать ssh сервер на нестандартном порту для исключения лишних общений с ботами. По-умолчанию ssh сервер работает на 22 порту. Изменим этот порт, к примеру, на 13333. Открываем файл настроек: $ sudo nano /etc/ssh/sshd_config Изменим строку: # Port 22 На строку: Port 13333 (Снимите "комментарий" со строки, т. е. надо убрать значек # в начале строки.) Сохраняем изменения: Ctrl+O, Enter Выходим из редактора: Ctrl+X Перезапускаем сервер ssh: $ sudo service sshd restart

Переходим к домашнему PC. Все остальные действия производим с домашнего PC удаленно по ssh.

Открываем консоль на домашнем PC и заходим по ssh с домашнего PC на Server: $ ssh UserServer@192.168.1.2 -p 13333 где: UserServer — login пользователя Server 192.168.1.2 — IP адрес Server 13333 - порт связи с Server На вопрос о соединении по ssh отвечаем yes Соединение установлено. Обновление системы Сначала обновим локальный индекс пакетов до последних изменений в репозиториях: $ sudo apt update Теперь выполним обновление всех пакетов системы: $ sudo apt upgrade Установим Midnight Commander, сокращенно 'mc', на наш сервер: $ sudo apt install mc Устанавливаем mc редакотором по умолчанию. Для этого надо выбирать mc из меню при первом редактировании файла, или выбрать необходимый редактор по-умолчанию из командной строки: $ sudo select-editor Select an editor. To change later, run 'select-editor'. 1. /bin/nano <---- easiest 2. /usr/bin/mcedit 3. /usr/bin/vim.tiny Choose 1-3 [1]: 2 Настройка и обновление времени в Debian Проверим установленный часовой пояс, время и включим автоматическую синхронизацию времени с удаленного сервера. Дату, время, часовой пояс можно узнать: $ date Если все указано верно, то менять ничего не нужно. Если же у вас неправильное время или указан часовой пояс не соответствующий вашему, то сначала обновим часовые пояса: $ sudo apt -y install tzdata Выбираем правильный часовой пояс: $ sudo dpkg-reconfigure tzdata Выбирая соответствующие пункты визарда, указываете свой часовой пояс. Дальше синхронизируем время с сервером времени в интернете. Для разовой или ручной синхронизации понадобится отдельная утилита. Устанавливаем ntpdate на сервер: $ sudo apt-get install ntpdate И синхронизируем время: $ ntpdate-debian Если получаете ошибку, значит у вас уже работает служба ntp. Ее нужно остановить и обновить время вручную. Для того, чтобы время автоматически синхронизировалось используется инструмент ntp. Установим его: $ sudo apt install ntp После установки он сам запустится и будет автоматически синхронизировать часы сервера. Проверим, запустился ли сервис ntpd: $ netstat -tulnp | grep ntp Настройка firewall в Debian: В операционной системе Linux в качестве фильтра пакетов используется Netfilter, который входит в состав ядра и разрабатывается группой Netfilter Core Team. Для управления его настройками используется утилита командной строки iptables, разрабатываемая параллельно этим же проектом. Процесс настройки требует некоторого понимания протоколов, используемых при обмене информации в Интернете, и назвать его простым нельзя. Хотя тема настройки netfilter/iptables уже не является новой, в глобальной сети можно найти не один десяток документов, описывающих как его устройство, так и сами команды. Кроме этого написано несколько хороших графических утилит (КМуFirewall, Firewall Builder, Firestarter и др.), помогающих самостоятельно создавать правила неподготовленному пользователю. В Debian и Ubuntu для управления правилами netfilter используется UFW (Uncomplicated firewall), поэтому процесс настройки здесь выглядит несколько иначе, чем в других дистрибутивах. Важно понять, что UFW не заменяет iptables, а является лишь удобной высокоуровневой надстройкой над этой утилитой. Процесс создания новых правил планируется сделать максимально понятным для обычного пользователя. Кроме этого упрощена интеграция приложений с межсетевым экраном. Разработчик может создавать готовые правила, которые будут автоматически активироваться при установке сервиса, разрешая нужные сетевые соединения. Утилита UFW предустановлена в системе. Если по какой-то причине она была отсутствует, вы можете установить ее с помощью команды: $ sudo apt-get install ufw && sudo ufw allow from 192.168.1.133 to any port 13333 Вторая часть команды, это разрешение зайти на Server только с одного домашнего PC. Эта часть команды обязательна, т. к. если не указать IP адрес и порт домашнего PC, то после установки ufw он может автоматически запуститься и вы уже никогда не сможете дистанционно зайти на Server. Другими словами исправить можно будет только при прямой работе на Server. Будте внимательны!!! Проверим состояние ufw: $ sudo ufw status Если ufw не активирован, активируем его: $ sudo ufw enable Теперь на Server можно будет зайти только с одного IP адреса по ssh, это с вашего домашнего PC. (пример входа: ssh UserServer@192.168.1.2 -p 13333) Некоторые команды для настройки ufw: $ sudo ufw enable - активировать uwf и разрешить ее загрузку $ sudo ufw disable — отключить ufw $ sudo ufw status - узнать текущие настройки UFW без заглядывания внутрь iptable $ sudo ufw allow ssh - можно назвать сервис по имени(разрешить сервис ssh) $ sudo ufw allow 192.168.1.0/24 - чтобы разрешить подключение с внутренней сети 192.168.1.0/24 $ sudo ufw deny from 10.20.30.40 - запрещающее правило $ sudo ufw reset - сбросить текущие настройки Существует два способа удаления правил. Первый - по номеру правила. Выполните команду: $ sudo ufw status numbered После этого выполните команду ufw delete и укажите номер правила, которое следует удалить: $ sudo ufw delete 2 Второй способ заключается в том, что после команды ufw delete используется фактическое правило: $ sudo ufw delete allow http или $ sudo ufw delete allow 80 В Ufw есть опция сохранения логов - журнал событий. Для запуска, используйте команду: $ sudo ufw logging on Ufw поддерживает нескоько уровней логирования: off - отключен. low - регистрирует все заблокированные пакеты, не соответствующие заданной политике (с ограничением скорости), а также пакеты, соответствующие зарегистрированным правилам. medium - все то, что при значении low. Плюс все разрешенные пакеты, не соответствующие заданной политике, все недопустимые пакеты, и все новые соединения. Все записи ведутся с ограничением скорости. high - работает также как и medium. Плюс все пакеты с ограничением скорости. full - также как и high, но без ограничения скорости. Что бы задать уровень, укажите его как параметр: $ sudo ufw logging high По-умолчанию используется уровень low. Для просмотра файлов относящихся с логам ufw, используйте команду: $ ls /var/log/ufw* Перезагрузить сервер: $ sudo reboot На этом базовая настройка сервера на Debian 9.4 закончена.