SSH е широко използван протокол, използван за защитен достъп до Linux сървъри. Повечето потребители използват SSH връзки с настройки по подразбиране, за да се свържат с отдалечен сървър. Незащитените конфигурации по подразбиране обаче също представляват различни рискове за сигурността.

Основният акаунт на сървър с отворен SSH достъп може да е изложен на риск. И особено ако използвате публичен IP адрес, е много по-лесно да хакнете root паролата. Следователно е необходимо да имате познания за SSH сигурността.

Ето как можете да защитите вашите SSH сървърни връзки на Linux.

1. Деактивирайте влизанията на root потребители

За целта първо деактивирайте SSH достъпа на root потребителя и създайте нов потребител с root права. Изключването на достъпа до сървъра за root потребителя е защитна стратегия, която не позволява на атакуващите да постигнат целта си да нахлуят в системата. Например, можете да създадете потребител с име примерен корен както следва:

useradd -m примерен корен
passwd примерен корен
usermod -aG sudo exampleroot
instagram viewer

Ето кратко обяснение на гореспоменатите команди:

  • useradd създава нов потребител и параметърът създава папка под У дома директория за създадения от вас потребител.
  • The passwd командата е за задаване на парола на новия потребител. Не забравяйте, че паролите, които задавате на потребителите, трябва да са сложни и трудни за отгатване.
  • usermod -aG sudo добавя новосъздадения потребител към администраторската група.

След процеса на създаване на потребител е необходимо да направите някои промени в sshd_config файл. Можете да намерите този файл на /etc/ssh/sshd_config. Отворете файла с произволен текстов редактор и направете следните промени в него:

# Удостоверяване: 
#LoginGraceTime 2м
PermitRootLogin №
AllowUsers exampleroot

PermitRootLogin ще попречи на root потребителя да получи отдалечен достъп чрез SSH. Включително примерен корен в AllowUsers списък предоставя необходимите разрешения на потребителя.

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

sudo systemctl рестартирайте ssh

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

sudo systemctl рестартирайте sshd

2. Промяна на порта по подразбиране

Портът за SSH връзка по подразбиране е 22. Разбира се, всички атакуващи знаят това и затова е необходимо да промените номера на порта по подразбиране, за да гарантирате SSH сигурност. Въпреки че нападателят може лесно да намери новото номер на порт с Nmap сканиране, целта тук е да се затрудни работата на нападателя.

За да промените номера на порта, отворете /etc/ssh/sshd_config и направете следните промени във файла:

Включете /etc/ssh/sshd_config.d/*.conf
Порт 5922

След тази стъпка рестартирайте SSH услугата отново с sudo systemctl рестартирайте ssh. Сега можете да получите достъп до вашия сървър, като използвате порта, който току-що сте дефинирали. Ако използвате защитна стена, трябва да направите необходимите промени в правилата и там. При стартиране на netstat -tlpn можете да видите, че номерът на вашия порт за SSH се е променил.

3. Блокирайте достъпа за потребители с празни пароли

Възможно е във вашата система да има потребители без пароли, които може да сте създали случайно. За да предотвратите достъпа на такива потребители до сървърите, можете да зададете PermitEmptyPasswords стойност на реда в sshd_config файл към не.

PermitEmptyPasswords бр

4. Ограничете опитите за влизане/достъп

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

За целта сменете MaxAuthTries стойност в sshd_config файл.

MaxAuthTries 3

5. Използване на SSH версия 2

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

Включете /etc/ssh/sshd_config.d/*.conf 
Протокол 2

6. Изключване на препращането на TCP порт и X11 препращането

Нападателите могат да се опитат да получат достъп до другите ви системи чрез препращане на порт през SSH връзки. За да предотвратите това, можете да изключите AllowTcpForwarding и X11 Препращане функции в sshd_config файл.

X11 Препращане № 
AllowTcpForwarding №

7. Свързване с SSH ключ

Един от най-сигурните начини за свързване към вашия сървър е използването на SSH ключ. Когато използвате SSH ключ, можете да получите достъп до сървъра без парола. Освен това можете напълно да изключите достъпа с парола до сървъра, като промените свързаните с паролата параметри в sshd_config файл.

Когато създавате SSH ключ, има два ключа: Обществен и Частно. Публичният ключ се качва на сървъра, към който искате да се свържете, а частният ключ се съхранява на компютъра, чрез който ще установите връзката.

Създайте SSH ключ с ssh-ключ команда на вашия компютър. Не напускайте Парола празно поле и запомнете паролата, която сте въвели тук. Ако го оставите празно, ще имате достъп до него само с SSH ключовия файл. Въпреки това, ако зададете парола, можете да попречите на нападател с ключовия файл да получи достъп до него. Като пример, можете да създадете SSH ключ със следната команда:

ssh-ключ

8. IP ограничения за SSH връзки

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

За да направите това, отворете /etc/hosts.allow файл. С допълненията, които правите към този файл, можете да ограничите SSH разрешението, да разрешите конкретен IP блок или да въведете единичен IP и да блокирате всички останали IP адреси с командата deny.

По-долу ще видите някои примерни настройки. След като направите това, рестартирайте SSH услугата както обикновено, за да запазите промените.

Значението на сигурността на Linux сървъра

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

SSH сигурността е само един от начините за защита на сървърите. Възможно е да минимизирате щетите, които понасяте, като спрете, блокирате или забавите атака. Освен осигуряването на SSH сигурност, има много различни методи, които можете да приложите, за да защитите вашите Linux сървъри.