Интересный совет по повышению безопасности SSH

На этот раз мы увидим короткий и простой совет это поможет нам стать лучше безопасность наших удаленных подключений с SSH.


OpenSSH, который представляет собой пакет, предоставляемый системами GNU / Linux для обработки SSH-соединений, имеет широкий спектр опций. Читая книгу SSH Безопасная оболочка и на страницах руководства я нашел параметр -F, который сообщает SSH-клиенту использовать другой файл конфигурации, отличный от того, который по умолчанию находится в каталоге / etc / ssh.

Как мы используем эту опцию?

Следующим образом:

ssh -F / path / to_your / configuration / file user @ ip / host

Например, если у нас есть настраиваемый файл конфигурации с именем my_config на рабочем столе, и мы хотим подключиться с пользователем Карлосом к компьютеру с IP-адресом 192.168.1.258, мы будем использовать следующую команду:

ssh -F ~ / Рабочий стол / my_config carlos@192.168.1.258

Как это помогает безопасности соединения?

Напомним, что злоумышленник, находящийся внутри нашей системы, немедленно попытается получить права администратора, если у него их еще нет, поэтому для него было бы довольно просто выполнить ssh для подключения к остальным машинам в сети. Чтобы избежать этого, мы можем настроить файл / etc / ssh / ssh_config с неправильными значениями, и когда мы хотим подключиться через SSH, мы будем использовать файл конфигурации, который мы сохраним в месте, известном только нам (даже на внешнем запоминающее устройство), то есть у нас была бы безопасность во тьме. Таким образом, злоумышленник будет озадачен, обнаружив, что он не может подключиться с помощью SSH и что он пытается установить подключения в соответствии с тем, что указано в файле конфигурации по умолчанию, поэтому ему будет сложно понять, что происходит, и мы сильно усложнит ему работу.

Это добавлено, чтобы изменить порт прослушивания сервера SSH, отключить SSH1, указать, какие пользователи могут подключаться к серверу, явно разрешить, какой IP-адрес или диапазон IP-адресов могут подключаться к серверу, и другие советы, которые мы можем найти в http://www.techtear.com/2007/04/08/trucos-y-consejos-para-asegurar-ssh-en-linux они позволят нам повысить безопасность наших SSH-соединений.

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

ssh -p 1056 -c blowfish -C -l carlos -q -i я 192.168.1.258

-p Задает порт для подключения на удаленном хосте.
-c Задает способ шифрования сеанса.
-C Указывает, что сеанс должен быть сжат.
-l Указывает пользователя, который будет авторизован на удаленном хосте.
-q Указывает, что диагностические сообщения подавлены.
-i Указывает файл, который нужно идентифицировать (закрытый ключ)

Мы также должны помнить, что мы могли бы использовать историю терминала, чтобы избежать необходимости вводить всю команду каждый раз, когда она нам нужна, чем может воспользоваться злоумышленник, поэтому я бы не рекомендовал это, по крайней мере, при использовании SSH-соединения.

Хотя проблема безопасности - не единственное преимущество этого варианта, я могу вспомнить другие, например, наличие файла конфигурации для каждого сервера, к которому мы хотим подключиться, поэтому мы будем избегать записи параметров каждый раз, когда хотим подключиться к SSH сервера с определенной конфигурацией.

Использование опции -F может быть очень полезным, если у вас несколько серверов с разной конфигурацией. В противном случае все настройки придется запомнить, что практически невозможно. Решением было бы иметь файл конфигурации, идеально подготовленный в соответствии с требованиями каждого сервера, облегчая и обеспечивая доступ к этим серверам.

В этой ссылке http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config Вы можете узнать, как отредактировать файл конфигурации клиента SSH.

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

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

Примечание: если вы хотите прочитать книгу «SSH The Secure Shell», обязательно проконсультируйтесь со страницами руководства по установленной вами версии, так как эта книга значительно отстает по параметрам, поддерживаемым OpenSSH.
Спасибо Izkalotl за вклад!
Увлекающийся сделать вклад?

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

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

*

*

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

  1.   HacKan & CuBa co. сказал

    что? Я думаю, вы ссылаетесь на другой пост, потому что я не понимаю, о чем вы говорите. Этот пост дает небольшой совет, который следует применить при установлении соединения с компьютером, он не относится к изменению какой-либо его конфигурации или решению чего-либо, если кому-то удастся войти. Идея состоит в том, чтобы сделать связь между компьютерами безопасной, минуя параметры по умолчанию, которые могут не обеспечивать надлежащий уровень безопасности.
    Блокировка портов интересна для ограничения атак (она не предотвращает их полностью, но делает свое дело), ​​хотя я считаю ее немного неудобной в использовании ... Возможно, у меня нет большого опыта в этом.
    Есть несколько программ, которые сканируют журналы, чтобы заблокировать доступ по IP при обнаружении неправильного входа в систему.
    Самый безопасный вариант - использовать вход без пароля с использованием файлов ключей.

    Привет!

  2.   HacKan & CuBa co. сказал

    что? Я думаю, вы ссылаетесь на другой пост, потому что я не понимаю, о чем вы говорите. Этот пост дает небольшой совет, который следует применить при установлении соединения с компьютером, он не относится к изменению какой-либо его конфигурации или решению чего-либо, если кому-то удастся войти. Идея состоит в том, чтобы сделать связь между компьютерами безопасной, минуя параметры по умолчанию, которые могут не обеспечивать надлежащий уровень безопасности.
    Блокировка портов интересна для ограничения атак (она не предотвращает их полностью, но делает свое дело), ​​хотя я считаю ее немного неудобной в использовании ... Возможно, у меня нет большого опыта в этом.
    Есть несколько программ, которые сканируют журналы, чтобы заблокировать доступ по IP при обнаружении неправильного входа в систему.
    Самый безопасный вариант - использовать вход без пароля с использованием файлов ключей.

    Привет!

  3.   HacKan & CuBa co. сказал

    Также ssh будет искать конфигурацию пользователя по умолчанию в ~ / .ssh / config.
    Если демон не был настроен, но по умолчанию это так.
    Важно учитывать алгоритм, используемый для хэшей, с параметром -m; Я рекомендую hmac-sha2-512, hmac-sha2-256, hmac-ripemd160 как наиболее безопасные. Будьте осторожны, потому что по умолчанию он использует MD5 (или, надеюсь, sha1) !! это те вещи, которые не понимаются….
    В любом случае, неплохо было бы запустить его с помощью:
    ssh -p ПОРТ -c aes256-ctr -m hmac-sha2-512 -C IP
    с -c вы указываете используемый алгоритм шифрования, где ctr (режим счетчика) является наиболее рекомендуемым (aes256-ctr и aes196-ctr), а если не cbc (цепочка блоков шифров): aes256-cbc, aes192- cbc , blowfish-cbc, cast128-cbc

    Привет!

  4.   HacKan & CuBa co. сказал

    Также ssh будет искать конфигурацию пользователя по умолчанию в ~ / .ssh / config.
    Если демон не был настроен, но по умолчанию это так.
    Важно учитывать алгоритм, используемый для хэшей, с параметром -m; Я рекомендую hmac-sha2-512, hmac-sha2-256, hmac-ripemd160 как наиболее безопасные. Будьте осторожны, потому что по умолчанию он использует MD5 (или, надеюсь, sha1) !! это те вещи, которые не понимаются….
    В любом случае, неплохо было бы запустить его с помощью:
    ssh -p ПОРТ -c aes256-ctr -m hmac-sha2-512 -C IP
    с -c вы указываете используемый алгоритм шифрования, где ctr (режим счетчика) является наиболее рекомендуемым (aes256-ctr и aes196-ctr), а если не cbc (цепочка блоков шифров): aes256-cbc, aes192- cbc , blowfish-cbc, cast128-cbc

    Привет!

  5.   иваан11 сказал

    я хотел, чтобы никто не мог получить доступ к моему компьютеру и управлять им удаленно
    то я понимаю с ваших слов, что если я не открою порт нет доступа хотя бы таким способом

    mercii за ответ!

  6.   иваан11 сказал

    holaa
    Я выполнил некоторые уловки, и у меня есть вопрос! из числа вариантов я также изменил
    Порт для другого порта, отличный от традиционного. Если я не открою этот порт на маршрутизаторе, они не смогут подключиться к моему компьютеру? или будет перенаправлен на любой другой порт?

    Мне не нужно устанавливать какое-либо удаленное соединение, поэтому я хотел знать, что будет более эффективным, если открыть порт или оставить его заблокированным.

    Жду ответов!

  7.   Серджио Вайценеггер сказал

    > Самый безопасный вариант - использовать беспарольный вход с использованием файлов ключей.
    Это именно то, что я собирался сказать ... что единственный способ войти в систему на разных компьютерах - это использовать ключ, который висит на флешке у вас на шее 😉
    Злоумышленник может потратить всю свою жизнь, пытаясь взломать пароль методом перебора, и никогда не поймет, что ему нужен не пароль, а файл XD.

  8.   изкалотль линукс сказал

    Я не эксперт в области безопасности и сетей, но для нарушения вашей системы безопасности с помощью входа без пароля было бы достаточно просто создать скрипт для копирования вашего ключа, хранящегося на флешке, когда вы его монтируете, чтобы в считанные секунды у вас был доступ с вашим собственным ключом к удаленному серверу (и, конечно же, без пароля), проблема без пароля заключается в том, что вы чувствуете ложную безопасность, поскольку, как вы можете видеть с помощью нескольких строк в скрипте, это будет очень легко взять под контроль свои удаленные серверы. Помните, что злоумышленник не будет тратить время или ресурсы на взлом паролей, если существует более короткий способ взлома вашей безопасности. Я рекомендую вам использовать как минимум 20 параметров, которые SSH позволяет настраивать, и это добавляет что-то вроде TCP Wrappers, хороший брандмауэр, и даже тогда ваш сервер не будет защищен на 100%, злейшему врагу в вопросах безопасности следует доверять.

  9.   горлок сказал

    Это интересно, хотя я не уверен в реальной пользе, поскольку мы говорим о том, чтобы просто усложнить задачу, когда злоумышленник уже присоединился к команде, и усложнить работу администраторам.
    Я считаю, что приманка более полезна для предупреждения (и принятия мер?) О подозрительной активности, или какая-то песочница, ограничивающая действия злоумышленника.
    Или я бы поискал другие способы предотвращения проникновения, например, выбивание портов.
    Также спасибо за то, что поделились им и открыли дискуссию.