Как Обеспечить, вход в систему задерживаются в ssh

Попробуйте F5 в alsamixer.

Вы будете видеть Все возможные варианты. возможно, по умолчанию существует что-то отключенное звук.

что Вы видите нажатие F2 и F6?

12
17.12.2013, 15:49
3 ответа

Метод № 1 - отключает логины пароля

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

PasswordAuthentication     no

Дополнительно можно ограничить использование пароля определенными пользователями, использующими Match оператор в sshd_config:

Match User root,foo,bar
    PasswordAuthentication no
Match User user1,user2
    PasswordAuthentication yes

Метод № 2 - iptables

Можно также использовать iptables отслеживать отказавшие попытки входа в систему и отбрасывать их после определенного порога. Это подобно Вашему примеру от hostingfu, но легче понять.

$ sudo iptables -I INPUT -p tcp --dport <YOUR PORT HERE> -i eth0 -m state --state NEW -m recent --set
$ sudo iptables -I INPUT -p tcp --dport <YOUR PORT HERE> -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP

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

Метод № 3 - использует PAM

Я понимаю, что Вы сказали, что не имеете PAM в наличии, но если Вы сделали, это - то, как Вы могли задержать отказавшие попытки входа в систему. Если Ваше намерение состоит в том, чтобы просто задержать отказы входа в систему ssh затем, Вы могли бы использовать модуль PAM pam_faildelay. Этот модуль PAM обычно включается с соединением по умолчанию.

В моей системе Fedora 19 это - часть стандартной установки.

Пример

Ищите файлы, связанные с pam_faildelay.

$ locate pam|grep -i delay
/usr/lib/security/pam_faildelay.so
/usr/lib64/security/pam_faildelay.so
/usr/share/doc/pam-1.1.6/html/sag-pam_faildelay.html
/usr/share/doc/pam-1.1.6/txts/README.pam_faildelay
/usr/share/man/man8/pam_faildelay.8.gz

Посмотрите, каким об/мин им предоставляют:

$ rpm -qf /usr/share/man/man8/pam_faildelay.8.gz
pam-1.1.6-12.fc19.x86_64
pam-1.1.6-12.fc19.i686

Использование

Для создания задержки при отказе, Вы просто добавили бы строку, такую как это к Вашему sshd файл конфигурации pam. Снова в Fedora/CentOS/RHEL системах этот файл расположен здесь: /etc/pam.d/sshd.

Создать 10-секундную задержку:

       auth  optional  pam_faildelay.so  delay=10000000

60-секундная задержка:

       auth  optional  pam_faildelay.so  delay=60000000

Пример

С задержкой 20 секунд с помощью вышеупомянутого метода я изменил свой PAM sshd файл конфигурации как так:

#%PAM-1.0
auth       required     pam_sepermit.so
auth       substack     password-auth
auth       include      postlogin
auth       optional     pam_faildelay.so  delay=20000000
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    optional     pam_keyinit.so force revoke
session    include      password-auth
session    include      postlogin

Теперь, когда я вхожу в систему:

$ date
Tue Dec 17 09:16:30 EST 2013

$ ssh blah@localhost
blah@localhost's password: 
Permission denied, please try again.
blah@localhost's password: 

...Control + C....

$ date
Tue Dec 17 09:16:50 EST 2013

Ссылки

12
27.01.2020, 19:55
  • 1
    Спасибо @slm, но снова я не могу установить pam модуль, и моя sshd аутентификация не от pam. Хотели бы Вы предлагать некоторый другой путь вокруг –  Ram 17.12.2013, 16:25
  • 2
    @AmitSinghTomar - извините я развернул свой ответ. Я пытался создать канонический ответ на Ваш вопрос, который покрыл все методы, не просто Ваш один. –  slm♦ 17.12.2013, 16:43
  • 3
    Еще раз спасибо @slm для Вашего ответа деталей, мне интересно к следующему второй метод, Вы предложили, чтобы.Will дали попытку и сообщили результат, Также это дает мне задержку с самой первой попыткой входа в систему через ssh? –  Ram 17.12.2013, 16:52
  • 4
    @AmitSinghTomar - нет это должно только задержаться после 4 попыток. Когда --hitcount 4 превышен правило будет черная дыра незаконный IP-адрес в течение 60 секунд. –  slm♦ 17.12.2013, 16:58
  • 5
    Одна точка, которую я хотел знать от Вас, чтобы Ваш 3-й метод работал (PAM), он требует, чтобы аутентификация SSH произошла через pam? –  Ram 17.12.2013, 18:02

Отключите пароли. Никакие пароли, никакая атака перебором.

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

3
27.01.2020, 19:55

При чистой установке Ubuntu 16.04 с openssh-server , уже существует задержка для попытки ввода неверного пароля из более чем нуля символов. Задержка кажется больше 1 секунды .

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

0
27.01.2020, 19:55

Теги

Похожие вопросы