OpenSSH (Отворете Secure Shell) е набор от приложения, които позволяват криптирана комуникация през мрежа, използвайки протокол SSH. Създаден е като безплатна и отворена алтернатива на програмата Secure Shell, който е патентован софтуер. « Уикипедия.
Някои потребители могат да мислят, че добрите практики трябва да се прилагат само на сървъри и това не е така. Много дистрибуции на GNU / Linux включват OpenSSH по подразбиране и има няколко неща, които трябва да имате предвид.
сигурност
Това са 6-те най-важни точки, които трябва да имате предвид при конфигурирането на SSH:
- Използвайте силна парола.
- Променете порта по подразбиране на SSH.
- Винаги използвайте версия 2 на SSH протокола.
- Деактивирайте коренния достъп.
- Ограничете потребителския достъп.
- Използвайте удостоверяване с ключ.
- Други опции
Силна парола
Добра парола е тази, която съдържа буквено-цифрови или специални знаци, интервали, главни и малки букви... и т.н. Тук в DesdeLinux Показахме няколко метода за генериране на добри пароли. Може да се посети тази статия y това друго.
Променете порта по подразбиране
Портът по подразбиране за SSH е 22. За да го променим, трябва само да редактираме файла / И т.н. / SSH / sshd_config. Търсим реда, който казва:
#Port 22
ние го коментираме и променяме 22 за друго число .. например:
Port 7022
За да знаем портовете, които не използваме в нашия компютър / сървър, можем да изпълним в терминала:
$ netstat -ntap
Сега за достъп до нашия компютър или сървър трябва да го направим с опцията -p, както следва:
$ ssh -p 7022 usuario@servidor
Използвайте протокол 2
За да сме сигурни, че използваме версия 2 на SSH протокола, трябва да редактираме файла / И т.н. / SSH / sshd_config и потърсете реда, който казва:
# Протокол 2
Коментираме го и рестартираме услугата SSH.
Не разрешавайте достъп като root
За да попречим на root потребителя да има достъп до отдалечен достъп чрез SSH, поглеждаме във файла/ И т.н. / SSH / sshd_config линията:
#PermitRootLogin no
и ние го коментираме. Мисля, че си струва да се изясни, че преди да направим това, трябва да се уверим, че нашият потребител има необходимите разрешения за изпълнение на административни задачи.
Ограничете достъпа на потребителите
Също така не вреди да се разреши достъп чрез SSH само на определени доверени потребители, затова се връщаме към файла / И т.н. / SSH / sshd_config и добавяме реда:
AllowUsers elav usemoslinux kzkggaara
Когато очевидно потребителите elav, usemoslinux и kzkggaara са тези, които ще имат достъп.
Използвайте удостоверяване с ключ
Въпреки че този метод е най-препоръчителен, трябва да внимаваме особено, защото ще имаме достъп до сървъра, без да въвеждаме паролата. Това означава, че ако потребител успее да влезе в нашата сесия или компютърът ни бъде откраднат, ние можем да имаме проблеми. Нека обаче да видим как да го направим.
Първото нещо е да създадете чифт ключове (публични и частни):
ssh-keygen -t rsa -b 4096
След това предаваме нашия ключ на компютъра / сървъра:
ssh-copy-id -i ~/.ssh/id_rsa.pub elav@200.8.200.7
Накрая трябва да имаме некомментиран файл / И т.н. / SSH / sshd_config линията:
AuthorizedKeysFile .ssh/authorized_keys
Други опции
Можем да намалим времето за изчакване, в което потребителят може успешно да влезе в системата до 30 секунди
LoginGraceTime 30
За да избегнем ssh атаки чрез TCP Spoofing, оставяйки ssh страната криптирана жива за максимум 3 минути, можем да активираме тези 3 опции.
TCPKeepAlive no ClientAliveInterval 60 ClientAliveCountMax 3
Деактивирайте използването на файлове с rhosts или shosts, които от съображения за сигурност се призовават да не се използват.
IgnoreRhosts да IgnoreUserKnownHosts да RhostsAuthentication не RhostsRSAAuthentication no
Проверете ефективните разрешения на потребителя по време на влизане.
StrictModes yes
Активирайте разделянето на привилегиите.
UsePrivilegeSeparation yes
изводи:
Правейки тези стъпки, можем да добавим допълнителна сигурност към нашите компютри и сървъри, но никога не трябва да забравяме, че има важен фактор: какво е между стола и клавиатурата. Ето защо препоръчвам четене тази статия.
Fuente: HowToForge
Отличен пост @elav и добавям някои интересни неща:
ВходGraceTime 30
Това ни позволява да намалим времето за изчакване, в което потребителят може успешно да влезе в системата до 30 секунди
TCPKeepAlive не
ClientAliveInterval 60
ClientAliveCountMax 3
Тези три опции са доста полезни за избягване на ssh атаки посредством TCP Spoofing, оставяйки кодираното живо от ssh страна активно за максимум 3 минути.
IgnoreRhosts да
IgnoreUserKnownHosts да
Rhosts Аутентификационен номер
Rhosts RSA Аутентификационен номер
Той деактивира използването на файлове с rhosts или shosts, които от съображения за сигурност се призовават да не се използват.
StrictModes да
Тази опция се използва за проверка на ефективните разрешения на потребителя по време на влизане.
UsePrivilegeSeparation да
Активирайте разделянето на привилегиите.
Е, след малко ще редактирам публикацията и ще я добавя към публикацията 😀
Коментирането, за да не се променя линията, е излишно. Коментираните редове показват стойността по подразбиране за всяка опция (прочетете разяснението в началото на самия файл). Достъпът до root е деактивиран по подразбиране и т.н. Следователно, коментирането му няма абсолютно никакъв ефект.
Да, но например, как да разберем, че използваме само версия 2 на протокола? Защото бихме могли да използваме 1 и 2 едновременно. Както се казва в последния ред, ако коментирате тази опция например, замества опцията по подразбиране. Ако използваме версия 2 по подразбиране, добре, ако не, използваме го ДА или ДА 😀
Благодаря за коментара
Много добра статия, знаех няколко неща, но едно нещо, което никога не ми е ясно, е използването на ключове, наистина какви са те и какви предимства има, ако използвам ключове мога ли да използвам пароли ??? Ако е така, защо увеличава сигурността и ако не, как да го отворя от друг компютър?
Поздрави, инсталирах debian 8.1 и не мога да се свържа от моя компютър с Windows към debian с WINSCP, ще трябва ли да използвам протокол 1? всякаква помощ .. благодаря
Адиански
Може да се интересувате от това видео за openssh https://m.youtube.com/watch?v=uyMb8uq6L54
Искам да опитам някои неща тук, няколко вече съм опитал благодарение на Arch Wiki, други поради мързел или липса на знания. Ще го запазя, когато стартирам RPi