Попытки брутфорса SSH с моего компьютера.

Вопрос или проблема

Я заметил, что каждые 15 минут происходят попытки SSH-подключения к удаленному серверу.

Как я могу обнаружить, какой процесс пытается подключиться к удаленному хосту через SSH?

каждые 15 минут

Тогда проверьте cron задачи, настроенные на вашей машине:

/var/spool/cron/*
/etc/crontab
/etc/cron.*/*

Если вы включите аудит процессов, auditd может записывать что/кто запускает процесс.

Альтернативно, вероятно, что клиент вызывает /usr/bin/ssh для управления подключением – переместите это и замените на обертку-скрипт, который будет сохранять информацию о родительском процессе и окружении в известное место.

Ответ или решение

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

Теория

Первый шаг в решении этой проблемы — понять, какие процессы или задачи могут инициировать выходные SSH соединения. В операционных системах Unix-подобного типа, таких как Linux, существует несколько распространенных способов автоматизации задач и запуска процессов по расписанию, таких как:

  1. Cron — система планировщика задач, которая позволяет запускать команды или скрипты по расписанию. Задания cron’а часто расположены в нескольких местах:

    • /var/spool/cron/*
    • /etc/crontab
    • /etc/cron.*/*
  2. Скрипты и программы, которые могут самостоятельно инициировать SSH-соединения в зависимости от своей логики или триггеров.

  3. Управляемые политиками процессы могут быть настроены посредством системных демонов, которые запускаются при определенных условиях.

Пример

В вашей ситуации вы заметили попытки подключения каждые 15 минут. Это частый интервал, который можно встретить в cron-заданиях. Для диагностики таких ситуаций желательно:

  1. Проверка Cron задач:

    • Проверьте все задания cron, расположенные в указанных выше каталогах. Может быть, один из них выполняет команду /usr/bin/ssh каждые 15 минут.
  2. Аудит процессов:

    • Можно включить процесс аудита с помощью auditd, что позволит отслеживать, какие процессы и каким образом инициируются. Настройка правил аудита может помочь записать информацию о процессе, который запускает SSH.
  3. Модификация исполняемого файла SSH:

    • Один из интересных и практичных методов — переместить файл /usr/bin/ssh и создать на его основе обертку-скрипт. Этот скрипт может записывать информацию о том, какие процессы и с какими параметрами его вызывают. Например:
    #!/bin/bash
    ps -o pid,ppid,cmd -p $$ >> /var/log/ssh_wrapper.log
    /path/to/original/ssh "$@"

    После получения информации вы можете восстановить оригинальный бинарный файл на его место.

Применение

Для обнаружения проблемы начните с аудита cron-заданий, так как временной интервал в 15 минут наиболее вероятно указывает на задание cron.

Далее выполните настройку и включение auditd для мониторинга системных вызовов. Это позволит вам точнее понять, какие задачи инициируют вызов SSH, особенно если они маскируются под легальные системные задачи.

Наиболее радикальная мера — это создание обертки для SSH, как было описано ранее. Это даст реальное представление о том, какие команды и с какими параметрами вызывают SSH. Обязательно убедитесь, что все изменения в системе сохраняют ее в работоспособном состоянии, особенно перед тем, как выполнять такие манипуляции с системными утилитами.

И, конечно, не забудьте, что помимо технических мер важно следить за политикой безопасности на уровне пользователя: пароли, обновление программного обеспечения, настройка фейрволлов для ограничения исходящих подключений и прочие меры защиты. Это все — часть комплексного подхода к безопасности IT-системы.

Оцените материал
Добавить комментарий

Капча загружается...