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

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

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

PC - домашний компьютер с параметрами: inet addr: 192.168.1.133 пользователь: UserHome Server — компьютер с установленной ОС Ubuntu Server 18.04 LTS. пользователь: UserServer пароль пользователя: PswdUser требуемые сетевые параметры сервера: IP адрес: 192.168.1.2 Port: 13333 Ваши данные отличаются, поэтому необходимо заменить, все выше перечисленные данные, своими. Для получения имени пользователя вашего PC: $ whoami Для получения IP адреса вашего PC: $ ifconfig

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

Мы включили питание Server и на приглашение ввели: Server login: UserServer Password: PswdUser Получаем имя сетевой службы: $ ifconfig Как правило оно называется eth0, enp1s0, enp2s0 или по другому. По тексту будем использовать eth0, у вашего Server будет другая. Настройка сети в Ubuntu Server 18.04 LTS отличается от настройки сети Ubuntu Server 16.04 LTS Для настройки сети, необходимо отредактировать файл /etc/netplan/50-cloud-init.yaml: $ sudo nano /etc/netplan/50-cloud-init.yaml Для получения IP адреса по dhcp достаточно будет следующего содержания: network: version: 2 renderer: networkd ethernets: eth0: dhcp4: yes dhcp6: yes Установим на наш домашний сервер статический адрес. Для этого необходимо вставить следующие строки: network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no dhcp6: no addresses: [192.168.1.2/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8,8.8.4.4] Где: 192.168.1.2 - это ip адрес нашего сервера 192.168.1.1 - это ip адрес роутера, через который мы выходим в интернет Сохраняем изменения: Ctrl+O, Enter Выходим из редактора: Ctrl+X Чтобы применить изменения, выполните приведенные ниже команды: $ sudo netplan apply Проверим работу сети: $ 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 Настройка и обновление времени в Ubuntu Проверим установленный часовой пояс, время и включим автоматическую синхронизацию времени с удаленного сервера. Дату, время, часовой пояс можно узнать: $ 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 в Ubuntu:

В операционной системе Linux в качестве фильтра пакетов используется Netfilter, который входит в состав ядра и разрабатывается группой Netfilter Core Team. Для управления его настройками используется утилита командной строки iptables, разрабатываемая параллельно этим же проектом. Процесс настройки требует некоторого понимания протоколов, используемых при обмене информации в Интернете, и назвать его простым нельзя. Хотя тема настройки netfilter/iptables уже не является новой, в глобальной сети можно найти не один десяток документов, описывающих как его устройство, так и сами команды. Кроме этого написано несколько хороших графических утилит (КМуFirewall, Firewall Builder, Firestarter и др.), помогающих самостоятельно создавать правила неподготовленному пользователю. В Ubuntu и 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. Некоторые команды для настройки 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 На этом базовая настройка сервера на Ubuntu Server 18.04 закончена.