Есть ли способ прослушать порт 22 на моем сервере, чтобы узнать, отправлял ли кто-нибудь какие-либо команды, пока ssh'd на мой сервер? Или, скорее, выведите, какие команды были отправлены (и IP-адрес подключенного), почти как «живой» журнал?
4 ответа
Предполагая, что это окно Linux, чтобы посмотреть на попытки соединения SSH, попробуйте:
tail -f /var/log/auth.log
Вы не можете прослушивать порт (SSH уже это делает) и не можете отслеживать трафик (он зашифрован). Что вы можете сделать, это включить учет процессов. Это ведет учет каждого запуска процесса и сколько процессорного времени было использовано для его запуска.
Это было в первую очередь для выставления счетов людям, использующим системы мэйнфреймов, но все еще существует и сейчас, и весьма удобно для аудита безопасности.
Эта запись FAQs.org расскажет вам все о том, как ее включить: http://www.faqs.org/docs/Linux-mini/Process-Accounting.html
И, конечно же, не забудьте прочитать справочные страницы этих полезных учетных команд.
В файле конфигурации sshd
вы можете изменить вызываемую оболочку на оболочку, которая регистрирует все; возможно script
. Я никогда не пробовал это, и было бы трудно сделать это защищенным от взлома.
Вы не можете прослушивать напрямую через порт, так как ssh специально зашифрован (SECURE SHell)
Там нет стандартного способа, но добавление
HISTFILE=/tmp/`whoami`-log
к системе Bashrc или что-то подобное, вероятно, будет работать, если ваши пользователи не слишком мудры.
Если вы беспокоитесь о том, что пользователи делают на вашем компьютере, вам следует искать альтернативы, такие как тюрьмы FreeBSD или какую-либо форму или ограниченную оболочку.