Работа с SSH — различия между версиями

Материал из megapuper
Перейти к: навигация, поиск
Строка 16: Строка 16:
 
  LoginGraceTime 60
 
  LoginGraceTime 60
 
  MaxStartups 2:50:10
 
  MaxStartups 2:50:10
 
 
Параметр LoginGraceTime определяет, по истечению какого времени простаивающее подключение будет разорвано (в секундах). Количество параллельных неаутентифицированных подключений к серверу контролируется при помощи MaxStartups. Запись параметра имеет форму “'''start:rate:full'''”. В нашем случае она означает отключение с вероятностью 50% при наличии двух неаутентифицированных связей, с линейным ростом вероятности до 100% при достижении 10.  
 
Параметр LoginGraceTime определяет, по истечению какого времени простаивающее подключение будет разорвано (в секундах). Количество параллельных неаутентифицированных подключений к серверу контролируется при помощи MaxStartups. Запись параметра имеет форму “'''start:rate:full'''”. В нашем случае она означает отключение с вероятностью 50% при наличии двух неаутентифицированных связей, с линейным ростом вероятности до 100% при достижении 10.  
  
Строка 22: Строка 21:
 
Отправка администратору на почту уведомления о том, что в систему по SSH зашел пользователь, для этого поправим /etc/ssh/sshrc:  
 
Отправка администратору на почту уведомления о том, что в систему по SSH зашел пользователь, для этого поправим /etc/ssh/sshrc:  
 
  echo $(date) $SSH_CONNECTION $USER $SSH_TTY | mail -s “ssh login” admin@domain.ru
 
  echo $(date) $SSH_CONNECTION $USER $SSH_TTY | mail -s “ssh login” admin@domain.ru
 +
 +
 +
Ограничение возможностей перебора паролей с помощью '''PF''':
 +
# ee /etc/pf.conf
 +
 +
table <sshbf> persist
 +
block in log quick on $ext_if inet from <sshbf>
 +
pass in log on $ext_if inet proto tcp to $ext_if port ssh keep state (max-src-conn-rate 5/60, overload <sshbf> flush global)
 +
Данный набор правил инструктирует фильтр пакетов не допускать более 5 одновременных соединений к 22 порту за 60 секунд.

Версия 18:20, 11 декабря 2013

По умолчанию sshd слушает как на IPv4 так и на IPv6 адресах. Для того что бы отключить возможность работы по IPv6, необходимо изменить параметр AddressFamily:

AddressFamily inet


По умолчанию sshd принимает подключения на всех интерфейсах, в чем не всегда есть необходимость. Если не требуется заходить на сервер “из вне”, можно ограничить его работу определенным адресом:

ListenAddress 192.168.1.2


В большинстве дистрибутивов в целях безопасности доступ суперпользователю по SSH закрыт (PermitRootLogin no), и при попытке зарегистрироваться под root получаем сообщение об ошибке. Для выполнения задач, требующих привилегий администратора, приходится заходить под обычным пользователем и использовать su или sudo. Красиво выйти из ситуации поможет директива Match. В качестве аргумента ей передается критерий отбора (User, Group, Host, Address), его значение и параметр, который нужно применить. Для примера разрешим подключение под root только с localhost и из доверенной подсети 192.168.5.0/24:

PermitRootLogin no
Match Host 192.168.5.*,127.0.0.1
PermitRootLogin yes


Контроль неудачных подключений к серверу:

LoginGraceTime 60
MaxStartups 2:50:10

Параметр LoginGraceTime определяет, по истечению какого времени простаивающее подключение будет разорвано (в секундах). Количество параллельных неаутентифицированных подключений к серверу контролируется при помощи MaxStartups. Запись параметра имеет форму “start:rate:full”. В нашем случае она означает отключение с вероятностью 50% при наличии двух неаутентифицированных связей, с линейным ростом вероятности до 100% при достижении 10.


Отправка администратору на почту уведомления о том, что в систему по SSH зашел пользователь, для этого поправим /etc/ssh/sshrc:

echo $(date) $SSH_CONNECTION $USER $SSH_TTY | mail -s “ssh login” admin@domain.ru


Ограничение возможностей перебора паролей с помощью PF:

# ee /etc/pf.conf

table <sshbf> persist
block in log quick on $ext_if inet from <sshbf>
pass in log on $ext_if inet proto tcp to $ext_if port ssh keep state (max-src-conn-rate 5/60, overload <sshbf> flush global)

Данный набор правил инструктирует фильтр пакетов не допускать более 5 одновременных соединений к 22 порту за 60 секунд.