Първоначална конфигурация на защитен сървър на Ubuntu 18.04

Въведение

В този урок ще научите как да конфигурирате основно ниво на сигурност на чисто нова виртуална машина Vultr VC2, работеща с Ubuntu 18.04.

Предпоставки

  • Vultr акаунт, можете да създадете такъв тук
  • Нов Ubuntu 18.04 Vultr VM

Създаване и промяна на потребител

Първото нещо, което ще направим, е да създадем нашия нов потребител, който ще използваме за влизане във 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

Сега ще отворим файл в .sshнаречен authorized_keys. Това е универсалният файл, който OpenSSH търси. Можете да промените името на това в конфигурацията на OpenSSH /etc/ssh/sshd_config, ако възникне необходимост.

Използвайте любимия си редактор, за да създадете файла. Този урок ще използва nano:

nano ~/.ssh/authorized_keys

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

Уверете се, че се показва подходящият път на файла:

/home/porthorian/.ssh/authorized_keys

Ако това е правилният път към файла, просто натиснете ENTER, в противен случай направете необходимите промени, за да съответстват на примера по-горе. След това излезте от файла с CTRL+ X.

Сега ще ограничим достъпа до файла:

chmod 600 ~/.ssh/authorized_keys

Излезте от нашия създаден потребител и се върнете към основния потребител:

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. Влезте в акаунта си . След като влезете, ще отидете до раздела на защитната стена, разположен в горната част на вашия екран:

Първоначална конфигурация на защитен сървър на 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. Това ви дава добра основа за много основен слой за сигурност, без да се притеснявате, че някой се опитва да форсира вашия екземпляр.


Как да настроите Tekkit Classic Server на Ubuntu 16.10

Как да настроите Tekkit Classic Server на Ubuntu 16.10

Използване на различна система? Какво е Tekkit Classic? Tekkit Classic е модпак за играта, която всички познават и обичат; Minecraft. Съдържа част от вер

Създаване на блог на Jekyll в Ubuntu 16.04

Създаване на блог на Jekyll в Ubuntu 16.04

Използване на различна система? Jekyll е чудесна алтернатива на WordPress за блогове или споделяне на съдържание. Не изисква никакви бази данни и е много лесно i

Използване на Screen в Ubuntu 14.04

Използване на Screen в Ubuntu 14.04

Screen е приложение, което позволява многократно използване на терминални сесии в рамките на един прозорец. Това ви позволява да симулирате множество терминални прозорци, където е възможно

Конфигуриране на статична мрежа и IPv6 на CentOS 7

Конфигуриране на статична мрежа и IPv6 на CentOS 7

VULTR наскоро направи промени от своя страна и вече всичко трябва да работи добре от кутията с активиран NetworkManager. Ако желаете да деактивирате

Как да инсталирате Apache Cassandra 3.11.x на CentOS 7

Как да инсталирате Apache Cassandra 3.11.x на CentOS 7

Използване на различна система? Apache Cassandra е безплатна система за управление на база данни NoSQL с отворен код, която е проектирана да осигури мащабируемост, висока

Как да инсталирате MODX Revolution на Ubuntu 16.04 LAMP VPS

Как да инсталирате MODX Revolution на Ubuntu 16.04 LAMP VPS

Използване на различна система? MODX Revolution е бърза, гъвкава, мащабируема, безплатна и отворена система за управление на съдържанието (CMS) от корпоративен клас, написана i

Как да инсталирате MODX Revolution на FreeBSD 11 FAMP VPS

Как да инсталирате MODX Revolution на FreeBSD 11 FAMP VPS

Използване на различна система? MODX Revolution е бърза, гъвкава, мащабируема система за управление на съдържанието (CMS) от корпоративен клас, написана на PHP. То и

Настройте не-root потребител със Sudo Access в Ubuntu

Настройте не-root потребител със Sudo Access в Ubuntu

Да имаш само един потребител, който е root, може да бъде опасно. Така че нека поправим това. Vultr ни предоставя свободата да правим каквото пожелаем с нашите потребители и нашите сървъри

Как да инсталирате и конфигурирате ArangoDB на CentOS 7

Как да инсталирате и конфигурирате ArangoDB на CentOS 7

Използване на различна система? Въведение ArangoDB е NoSQL база данни с отворен код с гъвкав модел на данни за документи, графики и ключ-стойности. то е

Настройване на сървър на Half Life 2 на CentOS 6

Настройване на сървър на Half Life 2 на CentOS 6

Този урок ще обхване процеса на инсталиране на сървър за игри Half Life 2 на CentOS 6 System. Стъпка 1: Инсталиране на предпоставките За да настроите ou

Настройка на Counter Strike: Source на Debian

Настройка на Counter Strike: Source на Debian

В това ръководство ще настроим сървър за игри Counter Strike: Source на Debian 7. Тези команди бяха тествани на Debian 7, но те също трябва да работят o

Как да инсталирате Unturned 2.2.5 на Debian 8

Как да инсталирате Unturned 2.2.5 на Debian 8

В това ръководство ще научите как да настроите Unturned 2.2.5 сървър на Vultr VPS, работещ с Debian 8. Забележка: Това е редактирана версия на Unturned, която не

Как да инсталирате Harbor на CentOS 7

Как да инсталирате Harbor на CentOS 7

Harbor е регистър на сървър от корпоративен клас с отворен код, който съхранява и разпространява изображения на Docker. Harbour разширява Docker Distribution с отворен код b

Как да инсталирате OpenMeetings на CentOS 7

Как да инсталирате OpenMeetings на CentOS 7

Използване на различна система? Apache OpenMeetings е приложение за уеб конференции с отворен код. Той е написан на Java и поддържа множество сървъри за бази данни. аз

Автоматично архивиране на множество MySQL или MariaDB бази данни

Автоматично архивиране на множество MySQL или MariaDB бази данни

Въведение В тази статия, разгледайте как да архивирате множество MySQL или MariaDB бази данни, които се намират на една и съща машина с помощта на персонализиран bash scrip

Как да инсталирате Jenkins на CentOS 7

Как да инсталирате Jenkins на CentOS 7

Jenkins е популярен инструмент за CI (непрекъсната интеграция) с отворен код, който се използва широко за разработване, внедряване и автоматизация на проекти. Тази статия ще

Как да инсталирате Cuberite на сървър CentOS 6 или 7

Как да инсталирате Cuberite на сървър CentOS 6 или 7

Въведение Какво е куберит? Cuberite е мащабируема реализация на сървър на Minecraft с отворен код, която е написана на C++. Той има лесен за използване plugi

Инсталиране на Teamspeak на CentOS 7

Инсталиране на Teamspeak на CentOS 7

Teamspeak е VOIP сървър, който може да се използва за комуникация на екипи/много хора. Той е сравнително лек и сигурен, тъй като се пускат актуализации

Създаване на блог на Jekyll на CentOS 7

Създаване на блог на Jekyll на CentOS 7

Използване на различна система? Jekyll е добра алтернатива на WordPress. Не изисква никакви бази данни и работи с език, който мнозина познават

Стартиране на сървър на Teamspeak 3 на CentOS 6.4

Стартиране на сървър на Teamspeak 3 на CentOS 6.4

Изпълнете следните команди, за да инсталирате сървър на Teamspeak 3. # Secure Iptables iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

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

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

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

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

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

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече