Добри практики с OpenSSH

OpenSSH (Отворете Secure Shell) е набор от приложения, които позволяват криптирана комуникация през мрежа, използвайки протокол SSH. Създаден е като безплатна и отворена алтернатива на програмата Secure Shell, който е патентован софтуер. « Уикипедия.

Някои потребители могат да мислят, че добрите практики трябва да се прилагат само на сървъри и това не е така. Много дистрибуции на GNU / Linux включват OpenSSH по подразбиране и има няколко неща, които трябва да имате предвид.

сигурност

Това са 6-те най-важни точки, които трябва да имате предвид при конфигурирането на SSH:

  1. Използвайте силна парола.
  2. Променете порта по подразбиране на SSH.
  3. Винаги използвайте версия 2 на SSH протокола.
  4. Деактивирайте коренния достъп.
  5. Ограничете потребителския достъп.
  6. Използвайте удостоверяване с ключ.
  7. Други опции

Силна парола

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


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Юкитеру каза той

    Отличен пост @elav и добавям някои интересни неща:

    ВходGraceTime 30

    Това ни позволява да намалим времето за изчакване, в което потребителят може успешно да влезе в системата до 30 секунди

    TCPKeepAlive не
    ClientAliveInterval 60
    ClientAliveCountMax 3

    Тези три опции са доста полезни за избягване на ssh атаки посредством TCP Spoofing, оставяйки кодираното живо от ssh страна активно за максимум 3 минути.

    IgnoreRhosts да
    IgnoreUserKnownHosts да
    Rhosts Аутентификационен номер
    Rhosts RSA Аутентификационен номер

    Той деактивира използването на файлове с rhosts или shosts, които от съображения за сигурност се призовават да не се използват.

    StrictModes да

    Тази опция се използва за проверка на ефективните разрешения на потребителя по време на влизане.

    UsePrivilegeSeparation да

    Активирайте разделянето на привилегиите.

    1.    елав каза той

      Е, след малко ще редактирам публикацията и ще я добавя към публикацията 😀

  2.   Юджийн каза той

    Коментирането, за да не се променя линията, е излишно. Коментираните редове показват стойността по подразбиране за всяка опция (прочетете разяснението в началото на самия файл). Достъпът до root е деактивиран по подразбиране и т.н. Следователно, коментирането му няма абсолютно никакъв ефект.

    1.    елав каза той

      # Стратегията, използвана за опции в sshd_config по подразбиране, доставена с
      # OpenSSH е да се посочат опции със стойността им по подразбиране къде
      # възможно, но ги оставете коментирани. Некоментираните опции заменят
      # стойност по подразбиране.

      Да, но например, как да разберем, че използваме само версия 2 на протокола? Защото бихме могли да използваме 1 и 2 едновременно. Както се казва в последния ред, ако коментирате тази опция например, замества опцията по подразбиране. Ако използваме версия 2 по подразбиране, добре, ако не, използваме го ДА или ДА 😀

      Благодаря за коментара

  3.   Сли каза той

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

  4.   Адиански каза той

    Поздрави, инсталирах debian 8.1 и не мога да се свържа от моя компютър с Windows към debian с WINSCP, ще трябва ли да използвам протокол 1? всякаква помощ .. благодаря
    Адиански

  5.   Франксанабрия каза той

    Може да се интересувате от това видео за openssh https://m.youtube.com/watch?v=uyMb8uq6L54

  6.   плочка каза той

    Искам да опитам някои неща тук, няколко вече съм опитал благодарение на Arch Wiki, други поради мързел или липса на знания. Ще го запазя, когато стартирам RPi