Как да защитите SSH сървър

Как да защитите SSH сървър

Осигуряването на SSH връзки ви помага да защитите вашата Linux система и данни. Системните администратори и домашните потребители също трябва да осигурят достъп до интернет компютри. Ето 10 лесни начина да ви помогнем да защитите своя SSH сървър .

Някои основи за SSH сигурността

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

SSH протоколът е криптиран протокол, предназначен да осигури защитена връзка през несигурна мрежа като Интернет. SSH в Linux е изграден върху преносимата версия на проекта OpenSSH. Той е реализиран в класически модел клиент-сървър със SSH сървър, приемащ връзки от SSH клиенти. Клиентът се използва за свързване със сървъра и излагане на сесията на отдалечени потребители. Сървърът приема връзката и инициира сесията.

В конфигурацията си по подразбиране, SSH сървърът ще „слуша“ за входящи връзки на Transmission Control Protocol (TCP), порт 22. Тъй като това е стандартизиран и популярен порт, той е цел за заплахи и злонамерени ботове.

Злонамерените участници стартират ботове, които сканират диапазони от IP адреси , търсейки отворени портове. След това проучва тези портове за експлоатируеми уязвимости. Мисленето, че съм в безопасност, има много по-големи и по-добри мишени от мен, за да се насочват лошите, е напълно погрешно. Тези ботове не избират своите цели въз основа на критерии, те просто търсят начин да проникнат в системата.

Вие ще бъдете жертва, ако не защитите системата си.

Триене на сигурността

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

Триенето на сигурността причинява дискомфорт (на всяко ниво) за потребителите и другите, когато прилагате мерки за сигурност. Хората, които са нови в компютърните системи, може да се тревожат дали наистина ще трябва да въвеждат парола всеки път, когато влизат в мейнфрейма. За тях това също е форма на триене на сигурността.

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

Затягането и заключването на Linux или Unix-подобна операционна система може да бъде бързо. Мерките за сигурност тук са набор от лесни за следване стъпки, които ще подобрят компютърната сигурност без необходимост от приложения на трети страни и дълбока намеса на защитната стена .

Използвайте SSH протокол версия 2

През 2006 г. SSH протоколът беше актуализиран от версия 1 на версия 2. Това е значително надграждане. Има много промени и подобрения, особено в криптирането и сигурността, а версия 2 не е обратно съвместима с версия 1. За да предотвратите връзки от клиенти на версия 1, можете да зададете компютрите да приемат връзки само от версия 2.

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

sudo gedit /etc/ssh/sshd_config

Как да защитите SSH сървър

Добавете следния ред:

Protocol 2

Как да защитите SSH сървър

И запазете файла, след което рестартирайте процеса на SSH демон, като използвате следната команда:

sudo systemctl restart sshd

Как да защитите SSH сървър

Тествайте новата настройка в действие, като превключите на друга машина и опитате да влезете по SSH в тестовата машина. Ще използваме опцията -1 (протокол 1), за да принудим командата ssh да използва протокол версия 1.

ssh -1 [email protected]

Как да защитите SSH сървър

Заявката за връзка е отказана. Уверете се, че все още можете да се свържете с протокол 2. Ще използваме -2 (протокол 2) за тестване.

ssh -2 [email protected]

Как да защитите SSH сървър

Фактът, че SSH сървърът иска парола, е положителен знак, че връзката е осъществена и вие взаимодействате със сървъра. Съвременните SSH клиенти ще използват по подразбиране протокол 2, не е необходимо да посочваме протокол 2, при условие че клиентът е актуален.

ssh [email protected]

Как да защитите SSH сървър

Връзката е приета.

Избягвайте изход 22

Порт 22 е стандартният порт за SSH връзки. Ако се използва различен порт, той добавя малко сигурност чрез неизвестност (STO) към вашата система. Сигурността чрез неяснота никога не трябва да се счита за истинска мярка за сигурност. Всъщност някои по-интелигентни ботове за атака изследват всички отворени портове и решават каква услуга изпълняват, вместо да разчитат на прост списък за търсене на портове и да приемат, че предоставят услуга.нормално. Но използването на нестандартен порт може да помогне за намаляване на лошия трафик на порт 22.

За да конфигурирате нестандартен порт, редактирайте SSH конфигурационния файл, както по-горе.

Как да защитите SSH сървър

Изтрийте # в началото на реда за порт и заменете 22 с номера по ваш избор. Запазете конфигурационния файл и рестартирайте SSH демона.

На друг компютър ще използваме командата ssh, за да се свържем със сървъра. Ssh командата по подразбиране използва порт 22:

ssh [email protected]

Как да защитите SSH сървър

Връзката е отказана. Опитайте отново и посочете порт 470, като използвате опцията –p (порт):

ssh -p 479 [email protected]

Как да защитите SSH сървър

Връзката е потвърдена.

Свържете филтъра с помощта на TCP Wrappers

TCP Wrappers са лесен за разбиране списък за контрол на достъпа. Тя ви позволява да отказвате и разрешавате връзки въз основа на характеристиките на заявката за връзка, като IP адрес или име на хост. TCP Wrappers трябва да се използват с, а не вместо, правилно конфигурирана защитна стена.

TCP Wrappers се предлага предварително инсталиран на машини с Ubuntu 18.04 LTS . Трябва да бъде инсталиран на Manjaro 18.10 и Fedora 30.

За да инсталирате на Fedora, използвайте следната команда:

sudo yum install tcp_wrappers

Как да защитите SSH сървър

За да инсталирате на Manjaro, използвайте тази команда:

sudo pacman -Syu tcp-wrappers

Как да защитите SSH сървър

Включени са два файла, един файл съдържа списъка с разрешени и един файл съдържа списъка с откази. Редактирайте списъка за отказ, като използвате следната команда:

sudo gedit /etc/hosts.deny

Как да защитите SSH сървър

Горната команда ще отвори редактора gedit с файла, който отказва да се зареди в него.

Как да защитите SSH сървър

Трябва да добавите реда:

ALL : ALL

И запазете файла. Този ред ще блокира всеки неоторизиран достъп. Сега трябва да предоставим разрешения за връзките, които искате да приемете. За да направите това, трябва да редактирате файла с разрешения:

sudo gedit /etc/hosts.allow

Как да защитите SSH сървър

Горната команда ще отвори редактора gedit с файла за изтегляне в него.

Как да защитите SSH сървър

Добавихме името на SSH демон, SSHD и IP адреса на компютъра, който позволява връзката да бъде осъществена. Запазете файла и вижте дали ограниченията и разрешенията са в сила.

Първо ще опитате да се свържете от компютър, който не е във файла hosts.allow:

Как да защитите SSH сървър

Връзката е отказана. Ще се опитаме да се свържем от машина с IP адрес 192.168.4.23:

Как да защитите SSH сървър

Връзката е приета.

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

Отхвърляне на заявки за връзка без парола

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

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

Трябва да редактирате SSH конфигурационния файл.

Как да защитите SSH сървър

Превъртете надолу във файла, докато видите реда, който казва #PermitEmptyPasswords no . Изтрийте # в началото на реда и запазете файла. Рестартирайте SSH демона.

Използвайте SSH ключове вместо пароли

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

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

SSH ключовете позволяват да се правят връзки без парола, което е по-сигурно от връзките, използващи удостоверяване с парола.

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

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

Тук връзката се осъществява към сървъра на 192.168.4.11 от потребителя с SSH ключа. Обърнете внимание, че не получават подкана да въведат парола.

ssh [email protected]

Как да защитите SSH сървър

Деактивирайте напълно удостоверяването с парола

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

Как да защитите SSH сървър

Превъртете надолу файла, докато видите реда, който започва с #PasswordAuthentication да . Изтрийте # в началото на реда, променете да на не и запазете файла. Рестартирайте SSH демона.

Деактивирайте пренасочването на X11

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

Как да защитите SSH сървър

Превъртете надолу файла, докато видите реда #X11Forwarding no , изтрийте # в началото на реда и запазете файла. Рестартирайте SSH демона.

Задайте стойност за изчакване на неактивност

Ако се установи SSH връзка с компютър и на него няма активност за определен период от време, това може да представлява риск за сигурността.

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

Как да защитите SSH сървър

Превъртете надолу файла, докато видите реда, който започва с #ClientAliveInterval 0 . Премахнете # в началото на реда, променете числото 0 на желаната от вас стойност. Обикновено хората го настройват на 300 секунди, което е 5 минути. Запазете файла и рестартирайте SSH демона.

Задайте ограничение за броя на въведените пароли

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

Как да защитите SSH сървър

Превъртете надолу файла, докато видите реда, започващ с #MaxAuthTries 0 . Премахването на # в началото на реда променя числото до желаната стойност. Можете да го зададете на 3. Запазете файла, когато правите промени и рестартирайте SSH демона.

Можете да тествате това, като опитате да се свържете и въведете грешна парола.

Как да защитите SSH сървър

Обърнете внимание, че числото MaxAuthTries е повече от броя опити, разрешени на потребителя. След два неуспешни опита ви се прекъсва връзката, което означава, че MaxAuthTries е настроен на 3.

Деактивирайте root влизането

Съветваме ви да не влизате като root, а просто да използвате като нормален потребител на Linux и да използвате sudo за извършване на действия, които изискват root права. Също така не трябва да позволявате на root да влиза в SSH сървъра. Само нормални потребители имат право да се свързват. Ако трябва да изпълнят задача на административно ниво, те могат също да използват sudo. Ако трябва да позволите на root потребителя да влезе, можете да го принудите да използва SSH ключ.

Редактирайте конфигурационния файл, за да деактивирате root влизането.

Как да защитите SSH сървър

Превъртете надолу файла, докато видите реда, който започва с #PermitRootLogin забранена парола , изтрийте # в началото на реда.

  • Ако искате да попречите на root да влиза, заменете prohibit-password с no.
  • Ако позволите на root да влезе, но принудите използването на SSH ключ, оставете prohibit-password непокътнат.

Запазете промените и рестартирайте SSH демона.

Последна стъпка

Разбира се, ако не се нуждаете от SSH, работещ на вашия компютър, изключете го със следната команда:

sudo systemctl stop sshd
sudo systemctl disable sshd

С пожелание за успех!


Често задавани въпроси относно паролите по подразбиране

Често задавани въпроси относно паролите по подразбиране

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

Защо да използвате CyberGhost VPN?

Защо да използвате CyberGhost VPN?

Това, от което се нуждаете, е VPN - което прави различните опции лесни, а CyberGhost VPN е един от най-добрите VPN, когато става въпрос за простота.

Топ 3 многооблачни предизвикателства за сигурността и как да изградите стратегия

Топ 3 многооблачни предизвикателства за сигурността и как да изградите стратегия

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

Инсталирайте динамични екрани и анимирани тапети на Windows

Инсталирайте динамични екрани и анимирани тапети на Windows

В операционната система Windows Vista на Microsoft DreamScene позволява настройка на динамични фонове за компютри, но осем години по-късно все още не е наличен в Windows 10. Защо този обичай представлява връщане към миналото през годините и какво можем да направим, за да променим това?

Как да свържете мрежата между 2 лаптопа с помощта на мрежов кабел

Как да свържете мрежата между 2 лаптопа с помощта на мрежов кабел

Ако искаме да свържем два лаптопа към мрежата, можем да използваме мрежов кабел и след това да променим IP адресите на двата компютъра и това е всичко.

Как да коригирате Нямате разрешение да записвате в това местоположение в Windows

Как да коригирате Нямате разрешение да записвате в това местоположение в Windows

Когато Windows покаже грешката „Нямате разрешение да записвате в това местоположение“, това ще ви попречи да записвате файлове в желани папки.

Топ най-добрият безплатен и платен софтуер Syslog Server за Windows

Топ най-добрият безплатен и платен софтуер Syslog Server за Windows

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

Какво е грешка 524 Възникна изчакване и как да коригирате грешката

Какво е грешка 524 Възникна изчакване и как да коригирате грешката

Грешка 524: Възникна изчакване е специфичен за Cloudflare HTTP статус код, който показва, че връзката със сървъра е затворена поради изчакване.

Какво е грешка 0x80070570? Как да поправя тази грешка?

Какво е грешка 0x80070570? Как да поправя тази грешка?

Кодът за грешка 0x80070570 е често срещано съобщение за грешка на компютри, лаптопи и таблети, работещи с операционна система Windows 10. Той обаче се появява и на компютри, работещи под Windows 8.1, Windows 8, Windows 7 или по-стари версии.

Инструкции за коригиране на грешката на синия екран PAGE FAULT IN NONPAGED AREA или STOP 0x00000050

Инструкции за коригиране на грешката на синия екран PAGE FAULT IN NONPAGED AREA или STOP 0x00000050

Грешка в син екран на смърт BSOD PAGE_FAULT_IN_NONPAGED_AREA или STOP 0x00000050 е грешка, която често възниква след инсталиране на драйвер на хардуерно устройство или след инсталиране или актуализиране на нов софтуер и в някои случаи причината е, че грешката се дължи на повреден NTFS дял.