Начальная конфигурация безопасного сервера Ubuntu 18.04

Вступление

В этом руководстве вы узнаете, как настроить базовый уровень безопасности на новой виртуальной машине Vultr VC2 под управлением Ubuntu 18.04.

Предпосылки

  • Аккаунт Vultr, вы можете создать его здесь
  • Новая Ubuntu 18.04 Vultr VM

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

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

adduser porthorian

Примечание. Рекомендуется использовать уникальное имя пользователя, которое будет сложно угадать. Большинство ботов по умолчанию будет пытаться root, admin, moderatorи тому подобные.

Вам будет предложено ввести пароль здесь. Он настоятельно рекомендуется использовать сильные буквенно - цифровой пароль. После этого следуйте инструкциям на экране и, когда он спросит вас, верна ли информация, просто нажмите Y.

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

usermod -aG sudo porthorian

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

su - porthorian

Сгенерируйте и настройте ключ SSH

Для генерации ключа SSH, пожалуйста, следуйте этому документу .

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

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAmB3uRWxAAELNJ8oGBCBmZx7S11vnAp0RG8rdKf6CLdvT7NMbKF55F8Wf0hFPewEryplaH54ibdmaTuheJVKy1lUhHnVi0AcBpkhJiiOQdEtvbYKT/eIkQl/Qm92Gz6aL3lJ0UknO4gO0LzgqI2vYX0b9LHMF+ZvApEDahLCna6RKo3/lffnANUKfExE+dVwOcJwATL3Ld5IkSatm7zBqbJAim0wj/JQ5ejzkL+aYd3YawpW3qf+WsY3HGbK2TIJt3LsiZJ3M7giZo/fVIZCJqsIOyO9NUOEx5/+KE8IniGb7gdRYgquAEJr89poDCNz/8CBODi9z3ukiE1+UnVlhfQ== rsa-key-20190408

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

Перейдите в домашний каталог вашего пользователя, если вы еще не в нем:

cd $HOME

$HOMEпеременная окружения для домашнего каталога ваших пользователей. Это автоматически устанавливается при создании нового пользователя.

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

mkdir ~/.ssh
chmod 700 ~/.ssh

Теперь мы собираемся открыть файл в .sshAndroid authorized_keys. Это универсальный файл, который ищет OpenSSH. Вы можете изменить имя этого внутри конфигурации OpenSSH /etc/ssh/sshd_config, если возникнет такая необходимость.

Используйте ваш любимый редактор для создания файла. Этот урок будет использовать нано:

nano ~/.ssh/authorized_keys

Скопируйте и вставьте ключ ssh в authorized_keysфайл, который мы открыли. Как только открытый ключ окажется внутри, вы можете сохранить файл, нажав CTRL+ O.

Убедитесь, что отображается соответствующий путь к файлу:

/home/porthorian/.ssh/authorized_keys

Если это правильный путь к файлу, просто нажмите ENTER, в противном случае внесите необходимые изменения в соответствии с примером выше. Затем выйдите из файла с помощью CTRL+ X.

Теперь мы собираемся ограничить доступ к файлу:

chmod 600 ~/.ssh/authorized_keys

Выйдите из нашего созданного пользователя и вернитесь к пользователю root:

exit

Отключение аутентификации по паролю

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

В настоящее время мы вошли в систему как пользователь root, поэтому мы собираемся отредактировать sshd_config:

nano /etc/ssh/sshd_config

Мы собираемся найти 3 значения, чтобы убедиться, что OpenSSH настроен правильно.

  • PasswordAuthentication
  • PubkeyAuthentication
  • ChallengeResponseAuthentication

Мы можем найти эти значения, нажав CTRL+ W.

Значения должны быть установлены на следующее:

PasswordAuthentication  no
ChallengeResponseAuthentication  no
PubkeyAuthentication  yes

Если значения закомментированы, удалите #в начале строки и убедитесь, что значения этих переменных, как показано выше. После того, как вы изменили эти переменные, сохранить и выйти из редактора, с CTRL+ O, ENTERи , наконец , CTRL+ X.

Теперь мы собираемся перезагрузить sshdс помощью следующей команды:

systemctl reload sshd

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

В PuTTY это под Connection-> SSH-> Auth.

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

Подключитесь к вашему серверу с закрытым ключом в качестве аутентификации. Теперь вы войдете в свою виртуальную машину Vultr VC2.

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

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

Настроить UFW

Сначала мы начнем с установки UFW, если она еще не установлена ​​на виртуальной машине. Хороший способ проверить это с помощью следующей команды:

sudo ufw status

Если UFW установлен, он выведет Status:inactive. Если он не установлен, вам будет предложено сделать это.

Мы можем установить его с помощью этой команды:

sudo apt-get install ufw -y

Теперь мы собираемся разрешить порт SSH 22в нашем брандмауэре:

sudo ufw allow 22

В качестве альтернативы вы можете разрешить OpenSSH:

sudo ufw allow OpenSSH

Любая из приведенных выше команд будет работать.

Теперь, когда мы разрешили порт через наш брандмауэр, мы можем включить UFW:

sudo ufw enable

Вас спросят, уверены ли вы, что хотите выполнить эту операцию. yПосле ввода введите ENTERбрандмауэр:

porthorian@MEANStack:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation? y

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

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

sudo ufw status

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

porthorian@MEANStack:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)

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

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

Начальная конфигурация безопасного сервера Ubuntu 18.04

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

Начальная конфигурация безопасного сервера Ubuntu 18.04

Теперь Vultr спросит вас, как вы будете называть свой брандмауэр, используя поле «Описание». Обязательно опишите, что будут делать серверы в этой группе брандмауэров, для облегчения будущего администрирования. Ради этого урока мы назовем его test. Вы всегда можете изменить описание позже, если хотите.

Сначала нам нужно получить наш IP-адрес. Причина, по которой мы делаем это напрямую, заключается в том, что если ваш IP-адрес не является статичным и постоянно меняется, вы можете просто войти в свою учетную запись Vultr и изменить IP-адрес.

Именно поэтому нам не требовался IP-адрес на брандмауэре UFW. Кроме того, он ограничивает использование брандмауэра вашей виртуальной машины от фильтрации всех других портов и просто позволяет брандмауэру Vultr справиться с этим. Это ограничивает нагрузку на общую фильтрацию трафика в вашем экземпляре.

Используйте сетевое зеркало Vultr, чтобы найти свой IP-адрес.

Итак, теперь, когда у нас есть наш IP-адрес, мы собираемся добавить правило IPV4 в наш недавно созданный брандмауэр:

Начальная конфигурация безопасного сервера Ubuntu 18.04

После ввода IP-адреса щелкните +символ, чтобы добавить свой IP-адрес в брандмауэр.

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

Начальная конфигурация безопасного сервера Ubuntu 18.04

Теперь, когда наш IP-адрес правильно связан с группой межсетевого экрана, нам нужно связать наш экземпляр Vultr. С левой стороны вы увидите вкладку с надписью «Связанные экземпляры»:

Начальная конфигурация безопасного сервера Ubuntu 18.04

На странице вы увидите выпадающий список со списком ваших серверов:

Начальная конфигурация безопасного сервера Ubuntu 18.04

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

Поздравляем, вы успешно защитили виртуальную машину Vultr VC2. Это дает вам хорошую основу для самого базового уровня безопасности, не беспокоясь о том, что кто-то пытается взломать ваш экземпляр.



Leave a Comment

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

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

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

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

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

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

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше