Я использую Ubuntu 16.04 и стараюсь упростить мою аутентификацию SSH особым образом.
У меня есть машина с минимальным Сервер Ubuntu я использую главным образом для передачи файлов через локальный сервер OpenSSH. Теперь у меня нет брандмауэра на этой машине по нескольким причинам, и я также избегаю использования пары ключей, поэтому я использую только пароль. Один из способов, который я оставил для защиты от нападений с применением грубой силы, и тот, который я больше всего желаю в данный момент, использует механизм, который блокирует пользователя в течение X часов, после того, как будет пробурено количество попыток.
Я хочу иметь автономный механизм (то есть не как часть брандмауэра), который блокирует пользователя в течение X часов, после того, как количество попыток Y в качестве
Знаете ли вы полезность (и конкретную конфигурацию), которая позволит мне достичь желаемой ситуации?
sudo apt-get install fail2ban
Затем:
sudo vim /etc/fail2ban/jail.conf
отредактируйте bantime, чтобы установить желаемое время запрета
изменить maxretry, чтобы установить максимальные попытки сбоя
, как упоминалось в других комментариях, fail2ban требует iptables.
Для этого требуется только iptables, практически 0 памяти и эффективно скрыть вашу службу от сканирования портов
Непосредственно отвечая на ваш вопрос, но, возможно, вы можете реализовать детонацию порта, чтобы скрыть вашу доступность службы, а не запрещать повторные попытки ,
быстрый поиск в Google показывает это: https://www.digitalocean.com/community/tutorials/how-to-configure-port-knocking-using-only-iptables-on-an-ubuntu- vps
Вы действительно нуждаетесь в iptables.
PS: Я знаю, что безопасность через безвестность - это не безопасность, но вместе с другими практиками она может помочь вам сделать более трудную задачу. [ ! d12]
Вам не нужно ничего устанавливать для такой защиты. Просто добавьте соответствующие правила в вашу систему iptables.
В начале вашего набора правил разрешите возврату любого связанного трафика на сервер:
sudo iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
Установите динамический список Badguy. Обнаруживать и DROP Плохие IP-адреса, которые используют пароли для SSH. После того, как они находятся в списке BADGUY, система сбросит все свои пакеты:
sudo iptables -A INPUT -i eth0 -m recent --update --hitcount 3 --seconds 90000 --name BADGUY_SSH -j LOG --log-prefix "SSH BAD:" --log-level info
sudo iptables -A INPUT -i eth0 -m recent --update --hitcount 3 --seconds 90000 --name BADGUY_SSH -j DROP
sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -m recent --set --name BADGUY_SSH -j ACCEPT
В приведенном выше коде 90000 секунд (25 часов) - это время блока. Любая попытка заблокированного IP-адреса, даже не связанная с SSH (в зависимости от других правил, которые вы можете или не имеете, и порядок), сбрасывает таймер времени блока. Ограничить количество плохих паролей для каждого соединения до 2. По умолчанию 6.
Как sudo edit /etc/ssh/sshd_config, и там установлено:
MaxAuthTries 2
Этот ответ намеревается дать возможный путь для удовлетворения основного вопроса: защитить сервер Ubuntu OpenSSH от атак Brute Force, но без пары ключей брандмауэра или SSH?
На самом деле я предпочитаю использовать брандмауэр и SSH и нашел ответ, предоставленный Doug Smythies, для действительно полезного.
Двухфакторная аутентификация (2FA) - это тип ответ . В этом примере 2FA подтверждают заявленную идентификацию пользователя, используя комбинацию этих двух разных компонентов:
Основанный на времени шестизначный токен код - код аутентификации. По умолчанию эти жетоны хороши в течение 30 секунд плюс дополнительно добавлено 60 секунд, чтобы компенсировать возможный временной перекос. Пароль пользователя, который сам должен быть достаточно безопасным.На самом деле, когда вы установили PermitRootLogin no и имена пользователей выбраны хорошо, для меня этот метод можно назвать 3FA.
Кроме того, если компьютер, в который вы входите, isn Закрепленная от попыток входа в грубую силу, вы можете включить ограничение скорости для модуля аутентификации.
Начнем:
sudo apt-get install libpam-google-authenticator
Основанный на времени шестизначный токен код - код аутентификации. По умолчанию эти токены хороши в течение 30 секунд плюс дополнительно добавлено 60 секунд, чтобы компенсировать возможный временной перекос.
ChallengeResponseAuthentication yes
UsePAM yes
PasswordAuthentication no # You can leave this 'yes' it doesn't matter.
Изменить /etc/ssh/sshd_config и изменить или добавить эти директивы:
$ google-authenticator Enter Do you want authentication tokens to be time-based (y/n) yEnter https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/user@host%3Fsecret%3DE3CY3TNSNBXXXXXX Your new secret key is: E3CY3TNSNBXXXXXX Your verification code is 229999 Your emergency scratch codes are: 19999711 ... Do you want me to update your "/home/user/.google_authenticator" file (y/n) yEnter Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) yEnter By default, tokens are good for 30 seconds and in order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n) yEnter If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n) yEnterПереключиться на пользователя, который должен использовать двухфакторную аутентификацию и введите в терминал:
В этом диалоговом окне будет создан файл аутентификации с именем .google_authenticator, размещенный в домашнем каталоге пользователя. Этот файл может использоваться также для других учетных записей пользователя, если вы хотите, чтобы все они использовали те же токены. Далее этот файл можно настроить, а также использовать для 2FA в Apache2, но это еще одна история.
Основанный на времени шестизначный токен код - код аутентификации. По умолчанию эти жетоны хороши в течение 30 секунд плюс дополнительно добавлено 60 секунд, чтобы компенсировать возможный временной перекос.
ChallengeResponseAuthentication yes
UsePAM yes
PasswordAuthentication no # You can leave this 'yes' it doesn't matter.
Пароль пользователя, который сам должен быть достаточно безопасным. [ ! d10] Расширения для веб-браузеров, описанные здесь Google Authenticator для Android Google Authenticator для iPhone / iPad . Секретный ключ - E3CY3TNSNBXXXXXX, сгенерированный на предыдущем шаге, используется для генерации кодов аутентификации в некоторых приложениях как:
В этом примере используется расширение Authenticator для Хром / Хром:
Закрепить Ubuntu OpenSSH-сервер от атак Brute Force, но без брандмауэра или SSH-ключа Пара?
Расширения для веб-браузеров, описанные здесь - как включить аутентификацию SSH с использованием приложения OATH-TOTP (описанный здесь метод) в дополнение к (! d52) Google Authenticator для Android Linux: добавьте x секунд к текущей дате К сожалению: если это VPS, у вас могут не быть разрешений это ... Если вы используете VPS, обратитесь к своему провайдеру, чтобы справиться с этим для вас.В некоторых случаях может быть разница между часами Google и часами сервера. Вот вам несколько советов по этой проблеме:
Вам не нужно ничего устанавливать для такой защиты. Просто добавьте соответствующие правила в вашу систему iptables.
В начале вашего набора правил разрешите возврату любого связанного трафика на сервер:
sudo iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
Установите динамический список Badguy. Обнаруживать и DROP Плохие IP-адреса, которые используют пароли для SSH. После того, как они находятся в списке BADGUY, система сбросит все свои пакеты:
sudo iptables -A INPUT -i eth0 -m recent --update --hitcount 3 --seconds 90000 --name BADGUY_SSH -j LOG --log-prefix "SSH BAD:" --log-level info
sudo iptables -A INPUT -i eth0 -m recent --update --hitcount 3 --seconds 90000 --name BADGUY_SSH -j DROP
sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -m recent --set --name BADGUY_SSH -j ACCEPT
В приведенном выше коде 90000 секунд (25 часов) - это время блока. Любая попытка заблокированного IP-адреса, даже не связанная с SSH (в зависимости от других правил, которые вы можете или не имеете, и порядок), сбрасывает таймер времени блока. Ограничить количество плохих паролей для каждого соединения до 2. По умолчанию 6.
Как sudo edit /etc/ssh/sshd_config, и там установлено:
MaxAuthTries 2
Вам не нужно ничего устанавливать для такой защиты. Просто добавьте соответствующие правила в вашу систему iptables.
В начале вашего набора правил разрешите возврату любого связанного трафика на сервер:
sudo iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
Установите динамический список Badguy. Обнаруживать и DROP Плохие IP-адреса, которые используют пароли для SSH. После того, как они находятся в списке BADGUY, система сбросит все свои пакеты:
sudo iptables -A INPUT -i eth0 -m recent --update --hitcount 3 --seconds 90000 --name BADGUY_SSH -j LOG --log-prefix "SSH BAD:" --log-level info
sudo iptables -A INPUT -i eth0 -m recent --update --hitcount 3 --seconds 90000 --name BADGUY_SSH -j DROP
sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -m recent --set --name BADGUY_SSH -j ACCEPT
В приведенном выше коде 90000 секунд (25 часов) - это время блока. Любая попытка заблокированного IP-адреса, даже не связанная с SSH (в зависимости от других правил, которые вы можете или не имеете, и порядок), сбрасывает таймер времени блока. Ограничить количество плохих паролей для каждого соединения до 2. По умолчанию 6.
Как sudo edit /etc/ssh/sshd_config, и там установлено:
MaxAuthTries 2
Этот ответ намеревается дать возможный путь для удовлетворения основного вопроса: защитить сервер Ubuntu OpenSSH от атак Brute Force, но без пары ключей брандмауэра или SSH?
На самом деле я предпочитаю использовать брандмауэр и SSH и нашел ответ, предоставленный Doug Smythies, для действительно полезного.
Двухфакторная аутентификация (2FA) - это тип ответ . В этом примере 2FA подтверждают заявленную идентификацию пользователя, используя комбинацию этих двух разных компонентов:
Основанный на времени шестизначный токен код - код аутентификации. По умолчанию эти жетоны хороши в течение 30 секунд плюс дополнительно добавлено 60 секунд, чтобы компенсировать возможный временной перекос. Пароль пользователя, который сам должен быть достаточно безопасным.На самом деле, когда вы установили PermitRootLogin no и имена пользователей выбраны хорошо, для меня этот метод можно назвать 3FA.
Кроме того, если компьютер, в который вы входите, isn Закрепленная от попыток входа в грубую силу, вы можете включить ограничение скорости для модуля аутентификации.
Начнем:
sudo apt-get install libpam-google-authenticator
Основанный на времени шестизначный токен код - код аутентификации. По умолчанию эти токены хороши в течение 30 секунд плюс дополнительно добавлено 60 секунд, чтобы компенсировать возможный временной перекос.
ChallengeResponseAuthentication yes
UsePAM yes
PasswordAuthentication no # You can leave this 'yes' it doesn't matter.
Изменить /etc/ssh/sshd_config и изменить или добавить эти директивы:
$ google-authenticator Enter Do you want authentication tokens to be time-based (y/n) yEnter https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/user@host%3Fsecret%3DE3CY3TNSNBXXXXXX Your new secret key is: E3CY3TNSNBXXXXXX Your verification code is 229999 Your emergency scratch codes are: 19999711 ... Do you want me to update your "/home/user/.google_authenticator" file (y/n) yEnter Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) yEnter By default, tokens are good for 30 seconds and in order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n) yEnter If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n) yEnterПереключиться на пользователя, который должен использовать двухфакторную аутентификацию и введите в терминал:
В этом диалоговом окне будет создан файл аутентификации с именем .google_authenticator, размещенный в домашнем каталоге пользователя. Этот файл может использоваться также для других учетных записей пользователя, если вы хотите, чтобы все они использовали те же токены. Далее этот файл можно настроить, а также использовать для 2FA в Apache2, но это еще одна история.
Основанный на времени шестизначный токен код - код аутентификации. По умолчанию эти жетоны хороши в течение 30 секунд плюс дополнительно добавлено 60 секунд, чтобы компенсировать возможный временной перекос.
ChallengeResponseAuthentication yes
UsePAM yes
PasswordAuthentication no # You can leave this 'yes' it doesn't matter.
Пароль пользователя, который сам должен быть достаточно безопасным. [ ! d10] Расширения для веб-браузеров, описанные здесь Google Authenticator для Android Google Authenticator для iPhone / iPad . Секретный ключ - E3CY3TNSNBXXXXXX, сгенерированный на предыдущем шаге, используется для генерации кодов аутентификации в некоторых приложениях как:
В этом примере используется расширение Authenticator для Хром / Хром:
Закрепить Ubuntu OpenSSH-сервер от атак Brute Force, но без брандмауэра или SSH-ключа Пара?
Расширения для веб-браузеров, описанные здесь - как включить аутентификацию SSH с использованием приложения OATH-TOTP (описанный здесь метод) в дополнение к (! d52) Google Authenticator для Android Linux: добавьте x секунд к текущей дате К сожалению: если это VPS, у вас могут не быть разрешений это ... Если вы используете VPS, обратитесь к своему провайдеру, чтобы справиться с этим для вас.В некоторых случаях может быть разница между часами Google и часами сервера. Вот вам несколько советов по этой проблеме:
Вам не нужно ничего устанавливать для такой защиты. Просто добавьте соответствующие правила в вашу систему iptables.
В начале вашего набора правил разрешите возврату любого связанного трафика на сервер:
sudo iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
Установите динамический список Badguy. Обнаруживать и DROP Плохие IP-адреса, которые используют пароли для SSH. После того, как они находятся в списке BADGUY, система сбросит все свои пакеты:
sudo iptables -A INPUT -i eth0 -m recent --update --hitcount 3 --seconds 90000 --name BADGUY_SSH -j LOG --log-prefix "SSH BAD:" --log-level info
sudo iptables -A INPUT -i eth0 -m recent --update --hitcount 3 --seconds 90000 --name BADGUY_SSH -j DROP
sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -m recent --set --name BADGUY_SSH -j ACCEPT
В приведенном выше коде 90000 секунд (25 часов) - это время блока. Любая попытка заблокированного IP-адреса, даже не связанная с SSH (в зависимости от других правил, которые вы можете или не имеете, и порядок), сбрасывает таймер времени блока. Ограничить количество плохих паролей для каждого соединения до 2. По умолчанию 6.
Как sudo edit /etc/ssh/sshd_config, и там установлено:
MaxAuthTries 2
Этот ответ намеревается дать возможный путь для удовлетворения основного вопроса: защитить сервер Ubuntu OpenSSH от атак Brute Force, но без пары ключей брандмауэра или SSH?
На самом деле я предпочитаю использовать брандмауэр и SSH и нашел ответ, предоставленный Doug Smythies, для действительно полезного.
Двухфакторная аутентификация (2FA) - это тип ответ . В этом примере 2FA подтверждают заявленную идентификацию пользователя, используя комбинацию этих двух разных компонентов:
Основанный на времени шестизначный токен код - код аутентификации. По умолчанию эти жетоны хороши в течение 30 секунд плюс дополнительно добавлено 60 секунд, чтобы компенсировать возможный временной перекос. Пароль пользователя, который сам должен быть достаточно безопасным.На самом деле, когда вы установили PermitRootLogin no и имена пользователей выбраны хорошо, для меня этот метод можно назвать 3FA.
Кроме того, если компьютер, в который вы входите, isn Закрепленная от попыток входа в грубую силу, вы можете включить ограничение скорости для модуля аутентификации.
Начнем:
sudo apt-get install libpam-google-authenticator
Основанный на времени шестизначный токен код - код аутентификации. По умолчанию эти токены хороши в течение 30 секунд плюс дополнительно добавлено 60 секунд, чтобы компенсировать возможный временной перекос.
ChallengeResponseAuthentication yes
UsePAM yes
PasswordAuthentication no # You can leave this 'yes' it doesn't matter.
Изменить /etc/ssh/sshd_config и изменить или добавить эти директивы:
$ google-authenticator Enter Do you want authentication tokens to be time-based (y/n) yEnter https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/user@host%3Fsecret%3DE3CY3TNSNBXXXXXX Your new secret key is: E3CY3TNSNBXXXXXX Your verification code is 229999 Your emergency scratch codes are: 19999711 ... Do you want me to update your "/home/user/.google_authenticator" file (y/n) yEnter Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) yEnter By default, tokens are good for 30 seconds and in order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n) yEnter If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n) yEnterПереключиться на пользователя, который должен использовать двухфакторную аутентификацию и введите в терминал:
В этом диалоговом окне будет создан файл аутентификации с именем .google_authenticator, размещенный в домашнем каталоге пользователя. Этот файл может использоваться также для других учетных записей пользователя, если вы хотите, чтобы все они использовали те же токены. Далее этот файл можно настроить, а также использовать для 2FA в Apache2, но это еще одна история.
Основанный на времени шестизначный токен код - код аутентификации. По умолчанию эти жетоны хороши в течение 30 секунд плюс дополнительно добавлено 60 секунд, чтобы компенсировать возможный временной перекос.
ChallengeResponseAuthentication yes
UsePAM yes
PasswordAuthentication no # You can leave this 'yes' it doesn't matter.
Пароль пользователя, который сам должен быть достаточно безопасным. [ ! d10] Расширения для веб-браузеров, описанные здесь Google Authenticator для Android Google Authenticator для iPhone / iPad . Секретный ключ - E3CY3TNSNBXXXXXX, сгенерированный на предыдущем шаге, используется для генерации кодов аутентификации в некоторых приложениях как:
В этом примере используется расширение Authenticator для Хром / Хром:
Закрепить Ubuntu OpenSSH-сервер от атак Brute Force, но без брандмауэра или SSH-ключа Пара?
Расширения для веб-браузеров, описанные здесь - как включить аутентификацию SSH с использованием приложения OATH-TOTP (описанный здесь метод) в дополнение к (! d52) Google Authenticator для Android Linux: добавьте x секунд к текущей дате К сожалению: если это VPS, у вас могут не быть разрешений это ... Если вы используете VPS, обратитесь к своему провайдеру, чтобы справиться с этим для вас.В некоторых случаях может быть разница между часами Google и часами сервера. Вот вам несколько советов по этой проблеме:
Этот ответ намеревается дать возможный путь для удовлетворения основного вопроса: защитить сервер Ubuntu OpenSSH от атак Brute Force, но без пары ключей брандмауэра или SSH?
На самом деле я предпочитаю использовать брандмауэр и SSH и нашел ответ, предоставленный Doug Smythies, для действительно полезного.
Двухфакторная аутентификация (2FA) - это тип ответ . В этом примере 2FA подтверждают заявленную идентификацию пользователя, используя комбинацию этих двух разных компонентов:
Основанный на времени шестизначный токен код - код аутентификации. По умолчанию эти жетоны хороши в течение 30 секунд плюс дополнительно добавлено 60 секунд, чтобы компенсировать возможный временной перекос. Пароль пользователя, который сам должен быть достаточно безопасным.На самом деле, когда вы установили PermitRootLogin no и имена пользователей выбраны хорошо, для меня этот метод можно назвать 3FA.
Кроме того, если компьютер, в который вы входите, isn Закрепленная от попыток входа в грубую силу, вы можете включить ограничение скорости для модуля аутентификации.
Начнем:
sudo apt-get install libpam-google-authenticator
Основанный на времени шестизначный токен код - код аутентификации. По умолчанию эти токены хороши в течение 30 секунд плюс дополнительно добавлено 60 секунд, чтобы компенсировать возможный временной перекос.
ChallengeResponseAuthentication yes
UsePAM yes
PasswordAuthentication no # You can leave this 'yes' it doesn't matter.
Изменить /etc/ssh/sshd_config и изменить или добавить эти директивы:
$ google-authenticator Enter Do you want authentication tokens to be time-based (y/n) yEnter https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/user@host%3Fsecret%3DE3CY3TNSNBXXXXXX Your new secret key is: E3CY3TNSNBXXXXXX Your verification code is 229999 Your emergency scratch codes are: 19999711 ... Do you want me to update your "/home/user/.google_authenticator" file (y/n) yEnter Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) yEnter By default, tokens are good for 30 seconds and in order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n) yEnter If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n) yEnterПереключиться на пользователя, который должен использовать двухфакторную аутентификацию и введите в терминал:
В этом диалоговом окне будет создан файл аутентификации с именем .google_authenticator, размещенный в домашнем каталоге пользователя. Этот файл может использоваться также для других учетных записей пользователя, если вы хотите, чтобы все они использовали те же токены. Далее этот файл можно настроить, а также использовать для 2FA в Apache2, но это еще одна история.
Основанный на времени шестизначный токен код - код аутентификации. По умолчанию эти жетоны хороши в течение 30 секунд плюс дополнительно добавлено 60 секунд, чтобы компенсировать возможный временной перекос.
ChallengeResponseAuthentication yes
UsePAM yes
PasswordAuthentication no # You can leave this 'yes' it doesn't matter.
Пароль пользователя, который сам должен быть достаточно безопасным. [ ! d10] Расширения для веб-браузеров, описанные здесь Google Authenticator для Android Google Authenticator для iPhone / iPad . Секретный ключ - E3CY3TNSNBXXXXXX, сгенерированный на предыдущем шаге, используется для генерации кодов аутентификации в некоторых приложениях как:
В этом примере используется расширение Authenticator для Хром / Хром:
Закрепить Ubuntu OpenSSH-сервер от атак Brute Force, но без брандмауэра или SSH-ключа Пара?
Расширения для веб-браузеров, описанные здесь - как включить аутентификацию SSH с использованием приложения OATH-TOTP (описанный здесь метод) в дополнение к (! d52) Google Authenticator для Android Linux: добавьте x секунд к текущей дате К сожалению: если это VPS, у вас могут не быть разрешений это ... Если вы используете VPS, обратитесь к своему провайдеру, чтобы справиться с этим для вас.В некоторых случаях может быть разница между часами Google и часами сервера. Вот вам несколько советов по этой проблеме:
Этот ответ намеревается дать возможный путь для удовлетворения основного вопроса: защитить сервер Ubuntu OpenSSH от атак Brute Force, но без пары ключей брандмауэра или SSH?
На самом деле я предпочитаю использовать брандмауэр и SSH и нашел ответ , предоставленный Doug Smythies, для действительно полезного.
Двухфакторная аутентификация (2FA) является типом многофакторной аутентификации . В этом примере 2FA подтверждают заявленную пользователем идентификацию, используя комбинацию этих двух разных компонентов:
На самом деле, когда вы установили PermitRootLogin no
и имена пользователей выбраны хорошо, для меня этот метод можно назвать 3FA.
Кроме того, если компьютер, которым вы являетесь вход в систему не затвердевает от попыток входа в грубую силу, вы можете включить ограничение скорости для модуля аутентификации.
Начнем:
sudo apt-get install libpam-google-authenticator
/etc/pam.d/sshd
и добавьте эту директиву: # Google Authenticator
auth required pam_google_authenticator.so
Добавьте его в начало файла. Таким образом, система запросит первый код аутентификации и только затем запросит пароль. Добавьте его в конец файла - система запросит первый пароль. /etc/ssh/sshd_config
и измените или добавьте эти директивы: ChallengeResponseAuthentication yes
UsePAM yes
PasswordAuthentication no # You can leave this 'yes' it doesn't matter.
Перейдите к пользователю, который должен использовать двухфакторную аутентификацию и введите в терминал:
$ google-authenticator Enter Do you want authentication tokens to be time-based (y/n) yEnter https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/user@host%3Fsecret%3DE3CY3TNSNBXXXXXX Your new secret key is: E3CY3TNSNBXXXXXX Your verification code is 229999 Your emergency scratch codes are: 19999711 ... Do you want me to update your "/home/user/.google_authenticator" file (y/n) yEnter Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) yEnter By default, tokens are good for 30 seconds and in order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n) yEnter If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n) yEnter
В этом диалоговом окне будет создана аутентификация файл под названием .google_authenticator
, помещенный в домашний каталог пользователя. Этот файл может использоваться также для других учетных записей пользователя, если вы хотите, чтобы все они использовали те же токены. Далее этот файл можно настроить, а также использовать для 2FA в Apache2 , но это еще одна история.
Секретный ключ - E3CY3TNSNBXXXXXX
- сгенерированный на предыдущем шаге используется для генерации кодов аутентификации в некоторых приложениях как:
В этом примере используется расширение Authenticator для Chromium / Chrome:
EDIT:
В некоторых случаях может быть разница между часами Google и часами сервера. Вот несколько советов по этой проблеме:
К сожалению : Если это VPS, у вас могут не быть прав для этого ... Если вы используете VPS, обратитесь к своему провайдеру, чтобы обработать это для вас.
blockquote>In Если ваш провайдер не хочет отвечать на ваши требования, вышеуказанная настройка будет работать, но с изменением времени. Введите
date
в консоль вашего сервера и измерьте этот сдвиг во времени. Затем просто работайте с этим временным сдвигом между моментом генерации кода аутентификации и моментом его использования.
Этот ответ намеревается дать возможный путь для удовлетворения основного вопроса: защитить сервер Ubuntu OpenSSH от атак Brute Force, но без пары ключей брандмауэра или SSH?
На самом деле я предпочитаю использовать брандмауэр и SSH и нашел ответ , предоставленный Doug Smythies, для действительно полезного.
Двухфакторная аутентификация (2FA) является типом многофакторной аутентификации . В этом примере 2FA подтверждают заявленную пользователем идентификацию, используя комбинацию этих двух разных компонентов:
На самом деле, когда вы установили PermitRootLogin no
и имена пользователей выбраны хорошо, для меня этот метод можно назвать 3FA.
Кроме того, если компьютер, которым вы являетесь вход в систему не затвердевает от попыток входа в грубую силу, вы можете включить ограничение скорости для модуля аутентификации.
Начнем:
sudo apt-get install libpam-google-authenticator
/etc/pam.d/sshd
и добавьте эту директиву: # Google Authenticator
auth required pam_google_authenticator.so
Добавьте его в начало файла. Таким образом, система запросит первый код аутентификации и только затем запросит пароль. Добавьте его в конец файла - система запросит первый пароль. /etc/ssh/sshd_config
и измените или добавьте эти директивы: ChallengeResponseAuthentication yes
UsePAM yes
PasswordAuthentication no # You can leave this 'yes' it doesn't matter.
Перейдите к пользователю, который должен использовать двухфакторную аутентификацию и введите в терминал:
$ google-authenticator Enter Do you want authentication tokens to be time-based (y/n) yEnter https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/user@host%3Fsecret%3DE3CY3TNSNBXXXXXX Your new secret key is: E3CY3TNSNBXXXXXX Your verification code is 229999 Your emergency scratch codes are: 19999711 ... Do you want me to update your "/home/user/.google_authenticator" file (y/n) yEnter Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) yEnter By default, tokens are good for 30 seconds and in order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n) yEnter If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n) yEnter
В этом диалоговом окне будет создана аутентификация файл под названием .google_authenticator
, помещенный в домашний каталог пользователя. Этот файл может использоваться также для других учетных записей пользователя, если вы хотите, чтобы все они использовали те же токены. Далее этот файл можно настроить, а также использовать для 2FA в Apache2 , но это еще одна история.
Секретный ключ - E3CY3TNSNBXXXXXX
- сгенерированный на предыдущем шаге используется для генерации кодов аутентификации в некоторых приложениях как:
В этом примере используется расширение Authenticator для Chromium / Chrome:
EDIT:
В некоторых случаях может быть разница между часами Google и часами сервера. Вот несколько советов по этой проблеме:
К сожалению : Если это VPS, у вас могут не быть прав для этого ... Если вы используете VPS, обратитесь к своему провайдеру, чтобы обработать это для вас.
blockquote>In Если ваш провайдер не хочет отвечать на ваши требования, вышеуказанная настройка будет работать, но с изменением времени. Введите
date
в консоль вашего сервера и измерьте этот сдвиг во времени. Затем просто работайте с этим временным сдвигом между моментом генерации кода аутентификации и моментом его использования.
Этот ответ намеревается дать возможный путь для удовлетворения основного вопроса: защитить сервер Ubuntu OpenSSH от атак Brute Force, но без пары ключей брандмауэра или SSH?
На самом деле я предпочитаю использовать брандмауэр и SSH и нашел ответ , предоставленный Doug Smythies, для действительно полезного.
Двухфакторная аутентификация (2FA) является типом многофакторной аутентификации . В этом примере 2FA подтверждают заявленную пользователем идентификацию, используя комбинацию этих двух разных компонентов:
На самом деле, когда вы установили PermitRootLogin no
и имена пользователей выбраны хорошо, для меня этот метод можно назвать 3FA.
Кроме того, если компьютер, которым вы являетесь вход в систему не затвердевает от попыток входа в грубую силу, вы можете включить ограничение скорости для модуля аутентификации.
Начнем:
sudo apt-get install libpam-google-authenticator
/etc/pam.d/sshd
и добавьте эту директиву: # Google Authenticator
auth required pam_google_authenticator.so
Добавьте его в начало файла. Таким образом, система запросит первый код аутентификации и только затем запросит пароль. Добавьте его в конец файла - система запросит первый пароль. /etc/ssh/sshd_config
и измените или добавьте эти директивы: ChallengeResponseAuthentication yes
UsePAM yes
PasswordAuthentication no # You can leave this 'yes' it doesn't matter.
Перейдите к пользователю, который должен использовать двухфакторную аутентификацию и введите в терминал:
$ google-authenticator Enter Do you want authentication tokens to be time-based (y/n) yEnter https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/user@host%3Fsecret%3DE3CY3TNSNBXXXXXX Your new secret key is: E3CY3TNSNBXXXXXX Your verification code is 229999 Your emergency scratch codes are: 19999711 ... Do you want me to update your "/home/user/.google_authenticator" file (y/n) yEnter Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) yEnter By default, tokens are good for 30 seconds and in order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n) yEnter If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n) yEnter
В этом диалоговом окне будет создана аутентификация файл под названием .google_authenticator
, помещенный в домашний каталог пользователя. Этот файл может использоваться также для других учетных записей пользователя, если вы хотите, чтобы все они использовали те же токены. Далее этот файл можно настроить, а также использовать для 2FA в Apache2 , но это еще одна история.
Секретный ключ - E3CY3TNSNBXXXXXX
- сгенерированный на предыдущем шаге используется для генерации кодов аутентификации в некоторых приложениях как:
В этом примере используется расширение Authenticator для Chromium / Chrome:
EDIT:
В некоторых случаях может быть разница между часами Google и часами сервера. Вот несколько советов по этой проблеме:
К сожалению : Если это VPS, у вас могут не быть прав для этого ... Если вы используете VPS, обратитесь к своему провайдеру, чтобы обработать это для вас.
blockquote>In Если ваш провайдер не хочет отвечать на ваши требования, вышеуказанная настройка будет работать, но с изменением времени. Введите
date
в консоль вашего сервера и измерьте этот сдвиг во времени. Затем просто работайте с этим временным сдвигом между моментом генерации кода аутентификации и моментом его использования.
Этот ответ намеревается дать возможный путь для удовлетворения основного вопроса: защитить сервер Ubuntu OpenSSH от атак Brute Force, но без пары ключей брандмауэра или SSH?
На самом деле я предпочитаю использовать брандмауэр и SSH и нашел ответ , предоставленный Doug Smythies, для действительно полезного.
Двухфакторная аутентификация (2FA) является типом многофакторной аутентификации . В этом примере 2FA подтверждают заявленную пользователем идентификацию, используя комбинацию этих двух разных компонентов:
На самом деле, когда вы установили PermitRootLogin no
и имена пользователей выбраны хорошо, для меня этот метод можно назвать 3FA.
Кроме того, если компьютер, которым вы являетесь вход в систему не затвердевает от попыток входа в грубую силу, вы можете включить ограничение скорости для модуля аутентификации.
Начнем:
sudo apt-get install libpam-google-authenticator
/etc/pam.d/sshd
и добавьте эту директиву: # Google Authenticator
auth required pam_google_authenticator.so
Добавьте его в начало файла. Таким образом, система запросит первый код аутентификации и только затем запросит пароль. Добавьте его в конец файла - система запросит первый пароль. /etc/ssh/sshd_config
и измените или добавьте эти директивы: ChallengeResponseAuthentication yes
UsePAM yes
PasswordAuthentication no # You can leave this 'yes' it doesn't matter.
Перейдите к пользователю, который должен использовать двухфакторную аутентификацию и введите в терминал:
$ google-authenticator Enter Do you want authentication tokens to be time-based (y/n) yEnter https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/user@host%3Fsecret%3DE3CY3TNSNBXXXXXX Your new secret key is: E3CY3TNSNBXXXXXX Your verification code is 229999 Your emergency scratch codes are: 19999711 ... Do you want me to update your "/home/user/.google_authenticator" file (y/n) yEnter Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) yEnter By default, tokens are good for 30 seconds and in order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n) yEnter If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n) yEnter
В этом диалоговом окне будет создана аутентификация файл под названием .google_authenticator
, помещенный в домашний каталог пользователя. Этот файл может использоваться также для других учетных записей пользователя, если вы хотите, чтобы все они использовали те же токены. Далее этот файл можно настроить, а также использовать для 2FA в Apache2 , но это еще одна история.
Секретный ключ - E3CY3TNSNBXXXXXX
- сгенерированный на предыдущем шаге используется для генерации кодов аутентификации в некоторых приложениях как:
В этом примере используется расширение Authenticator для Chromium / Chrome:
EDIT:
В некоторых случаях может быть разница между часами Google и часами сервера. Вот несколько советов по этой проблеме:
К сожалению : Если это VPS, у вас могут не быть прав для этого ... Если вы используете VPS, обратитесь к своему провайдеру, чтобы обработать это для вас.
blockquote>In Если ваш провайдер не хочет отвечать на ваши требования, вышеуказанная настройка будет работать, но с изменением времени. Введите
date
в консоль вашего сервера и измерьте этот сдвиг во времени. Затем просто работайте с этим временным сдвигом между моментом генерации кода аутентификации и моментом его использования.
Этот ответ намеревается дать возможный путь для удовлетворения основного вопроса: защитить сервер Ubuntu OpenSSH от атак Brute Force, но без пары ключей брандмауэра или SSH?
На самом деле я предпочитаю использовать брандмауэр и SSH и нашел ответ , предоставленный Doug Smythies, для действительно полезного.
Двухфакторная аутентификация (2FA) является типом многофакторной аутентификации . В этом примере 2FA подтверждают заявленную пользователем идентификацию, используя комбинацию этих двух разных компонентов:
На самом деле, когда вы установили PermitRootLogin no
и имена пользователей выбраны хорошо, для меня этот метод можно назвать 3FA.
Кроме того, если компьютер, которым вы являетесь вход в систему не затвердевает от попыток входа в грубую силу, вы можете включить ограничение скорости для модуля аутентификации.
Начнем:
sudo apt-get install libpam-google-authenticator
/etc/pam.d/sshd
и добавьте эту директиву: # Google Authenticator
auth required pam_google_authenticator.so
Добавьте его в начало файла. Таким образом, система запросит первый код аутентификации и только затем запросит пароль. Добавьте его в конец файла - система запросит первый пароль. /etc/ssh/sshd_config
и измените или добавьте эти директивы: ChallengeResponseAuthentication yes
UsePAM yes
PasswordAuthentication no # You can leave this 'yes' it doesn't matter.
Перейдите к пользователю, который должен использовать двухфакторную аутентификацию и введите в терминал:
$ google-authenticator Enter Do you want authentication tokens to be time-based (y/n) yEnter https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/user@host%3Fsecret%3DE3CY3TNSNBXXXXXX Your new secret key is: E3CY3TNSNBXXXXXX Your verification code is 229999 Your emergency scratch codes are: 19999711 ... Do you want me to update your "/home/user/.google_authenticator" file (y/n) yEnter Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) yEnter By default, tokens are good for 30 seconds and in order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n) yEnter If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n) yEnter
В этом диалоговом окне будет создана аутентификация файл под названием .google_authenticator
, помещенный в домашний каталог пользователя. Этот файл может использоваться также для других учетных записей пользователя, если вы хотите, чтобы все они использовали те же токены. Далее этот файл можно настроить, а также использовать для 2FA в Apache2 , но это еще одна история.
Секретный ключ - E3CY3TNSNBXXXXXX
- сгенерированный на предыдущем шаге используется для генерации кодов аутентификации в некоторых приложениях как:
В этом примере используется расширение Authenticator для Chromium / Chrome:
EDIT:
В некоторых случаях может быть разница между часами Google и часами сервера. Вот несколько советов по этой проблеме:
К сожалению : Если это VPS, у вас могут не быть прав для этого ... Если вы используете VPS, обратитесь к своему провайдеру, чтобы обработать это для вас.
blockquote>In Если ваш провайдер не хочет отвечать на ваши требования, вышеуказанная настройка будет работать, но с изменением времени. Введите
date
в консоль вашего сервера и измерьте этот сдвиг во времени. Затем просто работайте с этим временным сдвигом между моментом генерации кода аутентификации и моментом его использования.
Этот ответ намеревается дать возможный путь для удовлетворения основного вопроса: защитить сервер Ubuntu OpenSSH от атак Brute Force, но без пары ключей брандмауэра или SSH?
На самом деле я предпочитаю использовать брандмауэр и SSH и нашел ответ , предоставленный Doug Smythies, для действительно полезного.
Двухфакторная аутентификация (2FA) является типом многофакторной аутентификации . В этом примере 2FA подтверждают заявленную пользователем идентификацию, используя комбинацию этих двух разных компонентов:
На самом деле, когда вы установили PermitRootLogin no
и имена пользователей выбраны хорошо, для меня этот метод можно назвать 3FA.
Кроме того, если компьютер, которым вы являетесь вход в систему не затвердевает от попыток входа в грубую силу, вы можете включить ограничение скорости для модуля аутентификации.
Начнем:
sudo apt-get install libpam-google-authenticator
/etc/pam.d/sshd
и добавьте эту директиву: # Google Authenticator
auth required pam_google_authenticator.so
Добавьте его в начало файла. Таким образом, система запросит первый код аутентификации и только затем запросит пароль. Добавьте его в конец файла - система запросит первый пароль. /etc/ssh/sshd_config
и измените или добавьте эти директивы: ChallengeResponseAuthentication yes
UsePAM yes
PasswordAuthentication no # You can leave this 'yes' it doesn't matter.
Перейдите к пользователю, который должен использовать двухфакторную аутентификацию и введите в терминал:
$ google-authenticator Enter Do you want authentication tokens to be time-based (y/n) yEnter https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/user@host%3Fsecret%3DE3CY3TNSNBXXXXXX Your new secret key is: E3CY3TNSNBXXXXXX Your verification code is 229999 Your emergency scratch codes are: 19999711 ... Do you want me to update your "/home/user/.google_authenticator" file (y/n) yEnter Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) yEnter By default, tokens are good for 30 seconds and in order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n) yEnter If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n) yEnter
В этом диалоговом окне будет создана аутентификация файл под названием .google_authenticator
, помещенный в домашний каталог пользователя. Этот файл может использоваться также для других учетных записей пользователя, если вы хотите, чтобы все они использовали те же токены. Далее этот файл можно настроить, а также использовать для 2FA в Apache2 , но это еще одна история.
Секретный ключ - E3CY3TNSNBXXXXXX
- сгенерированный на предыдущем шаге используется для генерации кодов аутентификации в некоторых приложениях как:
В этом примере используется расширение Authenticator для Chromium / Chrome:
EDIT:
В некоторых случаях может быть разница между часами Google и часами сервера. Вот несколько советов по этой проблеме:
К сожалению : Если это VPS, у вас могут не быть прав для этого ... Если вы используете VPS, обратитесь к своему провайдеру, чтобы обработать это для вас.
blockquote>In Если ваш провайдер не хочет отвечать на ваши требования, вышеуказанная настройка будет работать, но с изменением времени. Введите
date
в консоль вашего сервера и измерьте этот сдвиг во времени. Затем просто работайте с этим временным сдвигом между моментом генерации кода аутентификации и моментом его использования.