Хорошие практики с OpenSSH

OpenSSH (Откройте Secure Shell) - это набор приложений, которые позволяют шифрованную связь по сети с использованием протокол SSH. Он был создан как бесплатная и открытая альтернатива программе Secure Shell, который является проприетарным программным обеспечением. « Википедия..

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

Безопасность

Вот 6 наиболее важных моментов, которые следует учитывать при настройке SSH:

  1. Используйте надежный пароль.
  2. Измените порт SSH по умолчанию.
  3. Всегда используйте версию 2 протокола SSH.
  4. Отключите root-доступ.
  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 и добавляем строку:

Разрешить пользователям 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 нет ClientAliveInterval 60 ClientAliveCountMax 3

Отключите использование файлов rhosts или shosts, которые по соображениям безопасности не рекомендуется использовать.

IgnoreRhosts да IgnoreUserKnownHosts да RhostsAuthentication нет RhostsRSAAuthentication нет

Проверьте действующие разрешения пользователя при входе в систему.

StrictModes yes

Разрешить разделение привилегий.

UsePrivilegeSeparation yes

Выводы:

Выполняя эти шаги, мы можем повысить безопасность наших компьютеров и серверов, но мы никогда не должны забывать, что существует важный фактор: что между стулом и клавиатурой. Поэтому рекомендую прочитать В этой статье.

источник: КакКузить


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

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

  1.   Юкитеру сказал

    Отличный пост @elav, и я добавляю несколько интересных вещей:

    Вход в системуGraceTime 30

    Это позволяет сократить время ожидания, в течение которого пользователь может успешно войти в систему, до 30 секунд.

    TCPKeepAlive нет
    ClientAlive Интервал 60
    КлиентАливекаунтМакс 3

    Эти три параметра весьма полезны, чтобы избежать атак ssh с помощью TCP Spoofing, оставляя зашифрованное соединение на стороне ssh активным максимум на 3 минуты.

    Игнорировать хосты да
    IgnoreUserKnownHosts да
    RhostsAuthentication нет
    RhostsRSA Аутентификация нет

    Он отключает использование файлов rhosts или shosts, которые по соображениям безопасности не рекомендуется использовать.

    StrictModes да

    Эта опция используется для проверки действующих разрешений пользователя при входе в систему.

    UsePrivilegeSeparation да

    Разрешить разделение привилегий.

    1.    Elav сказал

      Что ж, через некоторое время я отредактирую пост и добавлю в пост 😀

  2.   Eugenio сказал

    Раскомментирование, чтобы не менять строку, является избыточным. Прокомментированные строки показывают значение по умолчанию для каждой опции (прочтите пояснение в начале самого файла). По умолчанию рут-доступ отключен и т. Д. Поэтому раскомментирование не имеет абсолютно никакого эффекта.

    1.    Elav сказал

      # Стратегия, используемая для параметров в sshd_config по умолчанию, поставляемом с
      # OpenSSH должен указать параметры со значением по умолчанию, где
      # возможно, но оставьте их прокомментированными. Опции без комментариев имеют приоритет над
      # значение по умолчанию.

      Да, но, например, как мы узнаем, что используем только версию 2 протокола? Потому что мы вполне можем использовать 1 и 2 одновременно. Как сказано в последней строке, например, раскомментирование этого параметра заменяет параметр по умолчанию. Если мы используем версию 2 по умолчанию, хорошо, если нет, то мы используем ее ДА или ДА 😀

      Спасибо за комментарий

  3.   Sli сказал

    Очень хорошая статья, я знал несколько вещей, но одна вещь, которая мне никогда не ясна, - это использование ключей, на самом деле, что это такое и какие преимущества у этого есть, если я использую ключи, могу ли я использовать пароли ??? Если да, то почему это повышает безопасность, а если нет, как я могу получить к нему доступ с другого компьютера?

  4.   Адьян сказал

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

  5.   Франксанабрия сказал

    Вас может заинтересовать это видео об openssh https://m.youtube.com/watch?v=uyMb8uq6L54

  6.   Плитка сказал

    Я хочу попробовать кое-что здесь, некоторые я уже пробовал благодаря Arch Wiki, другие из-за лени или незнания. Я сохраню его, когда начну свой RPi