Rating@Mail.ru

Форум по операционной системе GNU/Linux и свободному программному обеспечению


Текущее время: 16 янв 2018, 19:58

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: Защищённость ОТ сети
Непрочитанное сообщениеДобавлено: 26 янв 2017, 00:26 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10331
Откуда: Харьков
Авторизация SSH ...
Olej писал(а):
Я этого не понимаю: какое бы не установить значение MaxAuthTries (или дефаултное 6) - допускается неизменно 3 попытки авторизации.
Я завёл 2-х пользователей-придурков с красивыми именами freak и stupid ... и вот (после рестарта sshd):

Подсказали ... поискали ... разобрались...
3-мя попытками входа ограничивается не сервер, а SSH-клиент:
Код:
[olej@dell IDE]$ man 5 ssh_config
...
NumberOfPasswordPrompts
Specifies the number of password prompts before giving up.  The argument to this keyword must be an integer.  The default is 3.

Код:
[root@dell ssh]# tail -n1 /etc/ssh/ssh_config
NumberOfPasswordPrompts 6
[root@dell ssh]# cat /etc/ssh/sshd_config | grep MaxAuthTries
MaxAuthTries 10
[root@dell ssh]# service sshd restart
Redirecting to /bin/systemctl restart  sshd.service

И один из моих придурков пробует проломиться:
Код:
[stupid@dell ~]$ whoami
stupid
[stupid@dell ~]$ ssh stupid@localhost
stupid@localhost's password:
Permission denied, please try again.
stupid@localhost's password:
Permission denied, please try again.
stupid@localhost's password:
Permission denied, please try again.
stupid@localhost's password:
Permission denied, please try again.
stupid@localhost's password:
Permission denied, please try again.
stupid@localhost's password:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

6 попыток и не более!


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Защищённость ОТ сети
Непрочитанное сообщениеДобавлено: 26 янв 2017, 00:30 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10331
Откуда: Харьков
Olej писал(а):
И один из моих придурков пробует проломиться:

Код:
[root@dell ssh]# cat /etc/ssh/sshd_config | grep MaxAuthTries
MaxAuthTries 4
[root@dell ssh]# service sshd restart
Redirecting to /bin/systemctl restart  sshd.service

И второй мой придурок пытается проломиться:
Код:
[freak@dell ~]$ whoami
freak
[freak@dell ~]$ ssh freak@localhost
freak@localhost's password:
Permission denied, please try again.
freak@localhost's password:
Permission denied, please try again.
freak@localhost's password:
Permission denied, please try again.
freak@localhost's password:
Received disconnect from 127.0.0.1 port 22:2: Too many authentication failures
Connection to localhost closed by remote host.
Connection to localhost closed.

4 попытки и ни одной больше!


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Защищённость ОТ сети
Непрочитанное сообщениеДобавлено: 26 янв 2017, 03:06 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10331
Откуда: Харьков
Olej писал(а):
Цитата:
Одна из делающих это программ - Denyhosts (http://www.denyhosts. net);

Есть в стандартном репозитории в Fedora 23, версия 2.10, и, говорят, пользуется изрядным интересом у сетевых администраторов:
Код:
[olej@dell home]$ dnf list denyhosts*
Последняя проверка окончания срока действия метаданных: 15 days, 13:30:53 назад, Tue Jan 10 12:29:09 2017.
Доступные пакеты
denyhosts.noarch                                                  2.10-6.fc23                                                   fedora
[olej@dell home]$ dnf info denyhosts*
Последняя проверка окончания срока действия метаданных: 15 days, 13:31:09 назад, Tue Jan 10 12:29:09 2017.
Доступные пакеты
Имя         : denyhosts
Архитектура : noarch
Эпоха       : 0
Версия      : 2.10
Релиз       : 6.fc23
Размер      : 96 k
Репозиторий : fedora
Краткое опи : A script to help thwart ssh server attacks
URL         : http://github.com/denyhosts/denyhosts/
Лицензия    : GPLv2
Описание    : DenyHosts is a Python script that analyzes the sshd server log
            : messages to determine which hosts are attempting to hack into your
            : system. It also determines what user accounts are being targeted. It
            : keeps track of the frequency of attempts from each host and, upon
            : discovering a repeated attack host, updates the /etc/hosts.deny file
            : to prevent future break-in attempts from that host.  Email reports can
            : be sent to a system admin.

И перевод статьи с описанием использования, и статьи весьма свежей - Безопасность с помощью трех D: Detect - Обнаружить, Decide – Принять решение и Deny - Запретить
Цитата:
Оригинал: Security in Three Ds: Detect, Decide and Deny
Автор: Federico Kereki
Дата публикации: March 16, 2015
Перевод: Н.Ромоданов
Дата перевода: июнь 2015 г.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Защищённость ОТ сети
Непрочитанное сообщениеДобавлено: 26 янв 2017, 14:37 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10331
Откуда: Харьков
Olej писал(а):
Есть в стандартном репозитории в Fedora 23, версия 2.10, и, говорят, пользуется изрядным интересом у сетевых администраторов:

Более свежую (последнюю) версию 3.1 можно найти:
- в GIT-репозитарии https://github.com/denyhosts/denyhosts
- в виде архива исходных кодов https://github.com/denyhosts/denyhosts/releases
Цитата:
Version 3.1 beta
released this on 16 Sep 2015 · 35 commits to master since this release

This is a minor update to the DenyHosts 3.x series. This release fixes a bug when moving between Python 2 and Python 3 environments. DenyHosts should now work equally well under either version of Python.

Поскольку это Python-проект, он требует минимальных действий для установки (там есть все описания).


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Защищённость ОТ сети
Непрочитанное сообщениеДобавлено: 26 янв 2017, 17:25 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10331
Откуда: Харьков
Olej писал(а):
Одна из делающих это программ - Denyhosts (http://www.denyhosts. net); другая - Sshutout (http://www.techfinesse.com/sshutout/sshutout. html).

Кроме того, для простых случаев для бана придурку можно обойтись стандартным средством Linux PAM (который даже устанавливать не надо - он всегда присутствует) ... подсказали:
Цитата:
В /etc/pam.d/ssh, перед секцией auth (@include common-auth) добавить
Код:
required      pam_tally2.so  file=/var/log/tallylog deny=3 even_deny_root unlock_time=1200

В /etc/pam.d/ssh, перед секцией accaunt (@include common-account) добавить
Код:
account     required      pam_tally2.so

После 3-х неудачных попыток (deny=Х) пользователь блочится на 20 минут (unlock_time=Х). Даже root (even_deny_root).
На локльный вход это не распространяется.

Не очень понятно ... но очень заманчиво ... и нужно разбираться!


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Защищённость ОТ сети
Непрочитанное сообщениеДобавлено: 26 янв 2017, 17:36 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10331
Откуда: Харьков
Olej писал(а):
Не очень понятно ... но очень заманчиво ... и нужно разбираться!


Кто может войти?
Цитата:
Три замка на воротах SSH. Усложните жизнь потенциальным хакерам.

Цитата:
В контексте безопасности Linux® PAM означает Pluggable Authentication Modules— «подключаемые модули аутентификации». Эти модули определяют дополнительные правила аутентификации, затрудняя доступ к вашему компьютеру.

Цитата:
Модули required являются обязательными. В случае неудачи PAM возвращает значение failure, но только после исполнения всех остальных модулей этого стека.

Цитата:
account определяет ограничения прав учетных записей. Если пользователь имеет право на вход, что ему позволено делать?

Цитата:
Стандартный конфигурационный файл "other" обеспечивает безопасный уровень защиты по умолчанию (отклонение всех запросов) для всех приложений, не имеющих собственного конфигурационного файла.
Листинг 2. Стандартный конфигурационный файл "other"
Код:
account required pam_deny.so
auth required pam_deny.so
auth required pam_warn.so
password required pam_deny.so
password required pam_warn.so
session required pam_deny.so

Если заменить pam_deny.so на pam_unix.so, будет применен стандартный метод аутентификации (ввод имени пользователя и пароля). Аналогично, если вам не нужна защита, используйте вместо этого файл pam_permit.so, который с радостью пропустит все запросы!

Цитата:
Добавление pam_access.so в файл sshd PAM
...
Но это еще не все. Нужно изменить файл /etc/ssh/sshd_config так, чтобы он использовал PAM. Добавьте в файл строку UsePAM yes и перезапустите демон sshd— вот теперь все!


И вот ещё: PAM на страже ваших компьютеров
Цитата:
Проект PAM предоставляет решение путем добавления дополнительного программного уровня. Программа, которой требуется аутентификация, должна использовать стандартную библиотеку или API (Application Programming Interface, Прикладной программный интерфейс), а системный администратор должен указать порядок аутентификации для данной конкретной программы (проверки осуществляются отдельными модулями; можно даже запрограммировать собственные модули). Таким образом, можно динамически изменять требования безопасности, причем все программы будут автоматически следовать вашим новым указаниям. Другими словами, можно модифицировать механизмы аутентификации программ (которые собраны с поддержкой PAM) без пересборки самих программ. С точки зрения программиста это очень хороший подход, ведь ему не требуется связываться с механизмами аутентификации. Когда мы используем модули PAM, требуемые проверки выполняются автоматически.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Защищённость ОТ сети
Непрочитанное сообщениеДобавлено: 26 янв 2017, 17:46 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10331
Откуда: Харьков
На возражения, что всё в этой теме перемешано и сумбурно, а подтверждаю:
Да. Здесь идёт накопление материала. Вперемешку.
Потом он будет систематизирован и оформлен, как описано в теме: Прочь, малолетние хакеры!.
Ждите ;-)


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Защищённость ОТ сети
Непрочитанное сообщениеДобавлено: 31 янв 2017, 15:38 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10331
Откуда: Харьков
Olej писал(а):
На возражения, что всё в этой теме перемешано и сумбурно, а подтверждаю:
Да. Здесь идёт накопление материала. Вперемешку.
Потом он будет систематизирован и оформлен, как описано в теме: Прочь, малолетние хакеры!.
Ждите ;-)

Более-менее упорядочено, структурировано всё это начинает выкладываться там по ссылке.
Всё.
Поехали дальше...


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Защищённость ОТ сети
Непрочитанное сообщениеДобавлено: 03 фев 2017, 11:04 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10331
Откуда: Харьков
Olej писал(а):
Продолжаю разбираться с проектом fail2ban.

После установки мы получаем набор программ:
Код:
$ ls /bin/fail2ban*
/bin/fail2ban-client  /bin/fail2ban-regex  /bin/fail2ban-server  /bin/fail2ban-testcases

Сервер запускается как сервис, и после инсталляции у нас всё готово для работы с этим сервисом стандартными системными средствами:
Код:
$ service fail2ban status
Redirecting to /bin/systemctl status  fail2ban.service
● fail2ban.service - Fail2Ban Service
   Loaded: loaded (/usr/lib/systemd/system/fail2ban.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:fail2ban(1)
...

Проект состоит из:
- фильтров (/etc/fail2ban/filter.d) — фактически это регулярные выражения, которыми мы «ловим» в системном журнале сообщения отказа от интересующих нас сервисов;
- действий (/etc/fail2ban/action.d) — система действий, которые следует применять к назойливым гостям, как правило, это действия iptables, но не обязательно — там предлагаются и действия для подсистемы разрешения адресов ARP и др.);
- изоляторов (/etc/fail2ban/jail.conf) — это правила, связывающая то, какие действия нужно предпринимать при обнаружении событий, предусмотренных фильтрами;

Для конфигурирования вашей защиты самым важным (и зачастую достаточным) является файл конфигурации изоляторов (в составе уже есть достаточное количество фильтров и действий, достаточных для практически всех целей). Структура защиты определяется большим числом файлов *.conf (дефаултных) и *.local (пользовательских, изначально отсутствующих). Сначала считывается содержимое .conf-файлов, а только затем содержимое .local-файлов, поэтому значения ранее определённых параметров могут быть замещены. Таким образом, в .local-файлах хранятся лишь те значения параметров, которые вам требуется скорректировать.
Содержимое файла /etc/fail2ban/jail.conf разделяется на именованные секции, соответствующие различным сервисам. Первая секция называется [DEFAULT] и предназначается для определения общих параметров, значения которых имеют силу во всех последующих секциях (взято для примера из моей реальной инсталляции):
Код:
[DEFAULT]
ignoreip = 127.0.0.1/8
bantime = 600
findtime = 600
maxretry = 5

Это означает, что после 5-ти неудачных попыток (maxretry) получить доступ в систему с одного и того же IP-адреса в течение 10 минут (600 секунд, findtime) этот адрес будет автоматически заблокирован на следующие 10 минут (600 секунд, bantime). Для параметра ignoreip (исключены из наблюдения) задан только один диапазон IP-адресов, поскольку блокировать localhost не имеет никакого смысла.

Секция [sshd] описывает реакцию на фильтр sshd.conf (точно так же по аналогии вы можете определить реакцию на любой сервер!). Доопределим реакцию на SSH — создадим новый файл jail.local в каталоге /etc/fail2ban/jail.d (файл может быть с любым именем, параметры определяются именем секции, хотя правильнее было бы назвать файл sshd.local):
Код:
# pwd
/etc/fail2ban/jail.d
# sudo touch jail.local
# cat jail.local
[sshd]
enabled = true
maxretry = 4
bantime = 120


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Защищённость ОТ сети
Непрочитанное сообщениеДобавлено: 03 фев 2017, 11:07 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10331
Откуда: Харьков
Сделав такие простейшие (иллюстрационные) дополнения в конфигурации, запускаем контролирующий сервис:
Код:
$ sudo service fail2ban start
Redirecting to /bin/systemctl start  fail2ban.service
$ service iptables status
Redirecting to /bin/systemctl status  iptables.service
● iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
   Active: active (exited) since Пт 2017-01-20 02:56:06 EET; 1 weeks 6 days ago
 Main PID: 889 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/iptables.service
янв 20 02:56:03 dell.localdomain systemd[1]: Starting IPv4 firewall with iptables...
янв 20 02:56:06 dell.localdomain iptables.init[889]: iptables: Applying firewall rules: [  OK  ]
янв 20 02:56:06 dell.localdomain systemd[1]: Started IPv4 firewall with iptables.

Теперь с совершенно другого хоста (в LAN) проверяем работу … делаю последовательность SSH подключений с заведомо неверным паролем:
Код:
$ ssh stupid@192.168.1.101
stupid@192.168.1.101's password:
Permission denied, please try again.
stupid@192.168.1.101's password:
Permission denied, please try again.
stupid@192.168.1.101's password:
Permission denied, please try again.
stupid@192.168.1.101's password:
Received disconnect from 192.168.1.101 port 22:2: Too many authentication failures
Connection to 192.168.1.101 closed by remote host.
Connection to 192.168.1.101 closed.

После 4-х (maxretry) попыток подключения сервер отвергает сессию… После чего мы «вспоминаем» верный пароль и повторяем … ломиться в закрытые ворота:
Код:
$ ssh stupid@192.168.1.101
stupid@192.168.1.101's password:
Permission denied, please try again.
stupid@192.168.1.101's password:
Permission denied, please try again.
stupid@192.168.1.101's password:
^C
$ date
Чт фев  2 17:09:31 EET 2017

Но на верный пароль реакция в точности такая же, как и на ошибочный (важно, что сообщение ошибки то же самое, что не позволяет внешне идентифицировать работу контролёра). Выжидаем время блокировки (bantime) … истекло 4 минуты:
Код:
$ date
Чт фев  2 17:13:02 EET 2017
$ ssh stupid@192.168.1.101
stupid@192.168.1.101's password:
Last failed login: Thu Feb  2 17:09:24 EET 2017 from 192.168.1.102 on ssh:notty
There were 19 failed login attempts since the last successful login.
Last login: Wed Feb  1 20:59:55 2017 from 192.168.1.102
$ whoami
stupid
...

То же действие, которое 4 минуты назад завершалось ошибкой, теперь заканчивается установлением сеанса SSH.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.274s | 17 Queries | GZIP : On ]