Termux – это полнофункциональная Linux‑среда для Android, позволяющая запускать привычные серверные инструменты прямо на мобильном устройстве. В сочетании с современными SIEM‑системами (Security Information and Event Management) Termux становится лёгким и гибким агентом для сбора, предварительной обработки и удалённого мониторинга логов.
Подготовка окружения Termux
Для начала убедитесь, что у вас установлена последняя версия Termux из официального репозитория Google Play или F-Droid.
pkg update && pkg upgrade -y
После обновления установим базовые утилиты, необходимые для работы с логами и сетевыми соединениями.
pkg install -y rsyslog curl jq openssl termux-api
Конфигурация rsyslog для локального сбора логов
В Termux rsyslog работает в режиме «standalone», собирая сообщения из системных демонов, приложений Termux и пользовательских скриптов.
# /data/data/com.termux/files/usr/etc/rsyslog.conf
module(load="imuxsock") # Приём сообщений из локального сокета
module(load="imklog") # Приём kernel‑логов (если доступны)
# Файл‑буфер для локального хранения
$WorkDirectory /data/data/com.termux/files/usr/var/log
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
. -/data/data/com.termux/files/usr/var/log/termux.log
# Отправка в удалённый SIEM (по TLS)
$DefaultNetstreamDriverCAFile /data/data/com.termux/files/usr/etc/ca-certificates.crt
$DefaultNetstreamDriver gtls
. @@siem.example.com:6514;RSYSLOG_SyslogProtocol23Format
Сохраните файл и запустите службу:
sv enable rsyslog && sv start rsyslog
Безопасная передача логов в SIEM
Самый надёжный способ – использовать TLS‑шифрование. Для этого потребуется сертификат CA, подписанный вашим SIEM‑сервером.
# Скачивание CA‑сертификата (пример)
curl -o /data/data/com.termux/files/usr/etc/ca-certificates.crt https://siem.example.com/ca.crt
Если ваш SIEM поддерживает HTTP‑API (например, Elastic Stack), можно отправлять логи через curl в JSON‑формате.
# Пример отправки одного сообщения
LOG_LINE="$(date '+%Y-%m-%dT%H:%M:%S%z') $(hostname) $(whoami): Test log entry"
JSON=$(printf '{"@timestamp":"%s","host":"%s","message":"%s"}' "$(date -Iseconds)" "$(hostname)" "$LOG_LINE")
curl -s -XPOST -H "Content-Type: application/json" \
-d "$JSON" https://siem.example.com:9200/_bulk
Автоматизация сбора и отправки логов
Termux предоставляет собственный планировщик задач – termux-job-scheduler. С его помощью можно запускать скрипт каждые 5 минут.
# ~/send_logs.sh – скрипт отправки накопившихся логов
#!/data/data/com.termux/files/usr/bin/bash
LOG_FILE="/data/data/com.termux/files/usr/var/log/termux.log"
if [ -s "$LOG_FILE" ]; then
while IFS= read -r line; do
JSON=$(printf '{"@timestamp":"%s","host":"%s","message":"%s"}' "$(date -Iseconds)" "$(hostname)" "$line")
curl -s -XPOST -H "Content-Type: application/json" -d "$JSON" https://siem.example.com:9200/_bulk
done < "$LOG_FILE"
: > "$LOG_FILE" # очистить файл после отправки
fi
# Регистрация задания в планировщике
termux-job-scheduler --add --period 300000 --execute "~/send_logs.sh"
Мониторинг состояния агента
Для контроля работоспособности агента удобно использовать небольшие health‑чек скрипты, которые отправляют статус в SIEM.
# ~/health_check.sh
#!/data/data/com.termux/files/usr/bin/bash
STATUS="OK"
if ! pgrep rsyslog >/dev/null; then
STATUS="RSYSLOG_DOWN"
fi
JSON=$(printf '{"@timestamp":"%s","host":"%s","service":"termux-agent","status":"%s"}' "$(date -Iseconds)" "$(hostname)" "$STATUS")
curl -s -XPOST -H "Content-Type: application/json" -d "$JSON" https://siem.example.com:9200/_bulk
# Запуск каждые 10 минут
termux-job-scheduler --add --period 600000 --execute "~/health_check.sh"
Лучшие практики безопасности
- Храните приватные ключи в каталоге
/data/data/com.termux/files/usr/etc/ssl/privateс правами600. - Ограничьте доступ к лог‑файлам, используя
chmod 640и группуtermux. - Регулярно проверяйте сертификаты на срок действия (
openssl x509 -noout -dates -in cert.crt). - Включите двухфакторную аутентификацию на стороне SIEM‑портала.
Заключение
Termux предоставляет мощный набор инструментов, позволяющих превратить обычный Android‑устройство в надёжного агента для сбора и удалённого мониторинга логов. При правильной настройке rsyslog, TLS и автоматических скриптов вы получаете гибкую, масштабируемую и безопасную интеграцию с любой SIEM‑платформой.
Если вам требуется профессиональная настройка, аудит безопасности или разработка кастомных интеграций под ваш бизнес, команда RybinskLab готова помочь. Мы специализируемся на построении end‑to‑end решений в области кибербезопасности, автоматизации мониторинга и DevSecOps. Свяжитесь с нами для консультации и внедрения оптимального решения под ваши задачи.