Как обнаружить что удаленная ssh сессия, запущенная с внешней сети?

Если это запускается от init, можно было повторно породить его init. Установите действие для процесса, чтобы 'повторно метать икру' для уровней выполнения, в которых Вы хотите процесс.

0
задан 29 May 2011 в 08:20
4 ответа

Вы не можете сделать этого входа от ~/.bashrc или подобный, потому что это только выполняется для некоторых интерактивных сессий, не, если кто-то делает ssh yourserver mycommand, sftp yourserver, и т.д.

Все попытки входа в систему ssh, отказавшие или успешные, зарегистрированы через системный журнал с auth средство. Сообщение журнала включает исходный IP-адрес, метод аутентификации и ли аутентификация, за которой следуют. Я думаю, что Ваш наилучший вариант состоит в том, чтобы использовать некоторое контрольное программное обеспечение журнала.

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

1
ответ дан 4 December 2019 в 15:11

Я не знаю monit, но можно сделать это легко брандмауэром. Зарегистрируйте все внешние соединения со специальным тегом и уезжайте, внутреннее не loggued. iptables является Вашим другом, если Вы находитесь на Linux.

Можно заблокировать все соединения SSH hosts.allow/hosts.deny, также. Вы будете видеть журналы в журналах ssh.

0
ответ дан 4 December 2019 в 15:11

$SSH_CLIENT переменной среды является IP, удаленным портом и локальным портом сессии текущего пользователя SSH.

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

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

0
ответ дан 4 December 2019 в 15:11

Наряду с $SSH_CLIENT, существует $SSH_CONNECTION. Для наблюдения доступных переменных выполните "ENV" (без кавычек) в командной строке. - Tim

1
ответ дан 4 December 2019 в 15:11

Теги

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