Termux — мощная Linux‑среда для Android, позволяющая запускать привычные инструменты командной строки. Одним из самых эффективных способов упорядочить и автоматизировать задачи безопасности является Ansible. В этой статье мы рассмотрим, как установить Ansible в Termux, создать инвентарь, написать простые playbook‑и и интегрировать их в планировщик cron.
Подготовка окружения
Для начала необходимо установить базовые пакеты Termux:
pkg update && pkg upgrade -y
pkg install python git curl -y
Установим pip и сам Ansible:
pip install --upgrade pip
pip install ansible
Проверим корректность установки:
ansible --version
Создание инвентаря устройств
В Ansible инвентарь описывает хосты, с которыми будет работать система. В Termux мы будем управлять самим устройством, поэтому в качестве хоста укажем localhost:
mkdir -p ~/ansible && cd ~/ansible
cat > hosts.ini <<'EOF'
[android]
localhost ansible_connection=local
EOF
Для удобства можно добавить переменные, например путь к домашней директории:
cat > group_vars/android.yml <<'EOF'
home_dir: "$HOME"
EOF
Пример playbook‑а для базовой безопасности
Ниже представлен минимальный playbook, который выполняет три ключевых действия:
- Обновление пакетов Termux.
- Установку и настройку
ufw(firewall) для Android. - Запуск сканирования открытых портов с помощью
nmap.
cat > security.yml <<'EOF'
- name: Базовая автоматизация безопасности в Termux
hosts: android
become: false
vars:
ufw_rules:
- { rule: "allow", port: "22", proto: "tcp" }
tasks:
- name: Обновить все пакеты Termux
pkg:
name: ""
state: latest
- name: Установить ufw и nmap
pkg:
name: ["ufw", "nmap"]
state: present
- name: Включить ufw
command: ufw enable
args:
creates: /data/data/com.termux/files/usr/etc/ufw/ufw.conf
- name: Применить правила firewall
loop: "{{ ufw_rules }}"
command: ufw {{ item.rule }} {{ item.port }}/{{ item.proto }}
- name: Сканировать открытые порты
command: nmap -sS -Pn -p- 127.0.0.1
register: nmap_result
- name: Вывести результат сканирования
debug:
var: nmap_result.stdout_lines
EOF
Запуск playbook:
ansible-playbook -i hosts.ini security.yml
Интеграция с cron в Termux
Для периодического выполнения задач создадим cron‑задачу. Сначала установим пакет cronie:
pkg install cronie -y
sv enable crond
sv start crond
Добавим запись в crontab для ежедневного запуска playbook в 03:00:
crontab -e
В открывшемся редакторе вставьте строку:
0 3 $HOME/ansible/ansible-playbook -i $HOME/ansible/hosts.ini $HOME/ansible/security.yml >> $HOME/ansible/cron.log 2>&1
Сохраните файл. Теперь Ansible будет автоматически поддерживать безопасность вашего Android‑устройства.
Лучшие практики
- Храните playbook‑и в репозитории
gitдля версионирования и совместной работы. - Разделяйте задачи на роли:
updates,firewall,scanners. Это упрощает масштабирование. - Не храните пароли в открытом виде. Используйте
ansible-vaultдля шифрования чувствительных данных. - Регулярно проверяйте журнал
cron.logи корректируйте правила firewall под новые требования.
Заключение
Комбинация Termux и Ansible открывает широкие возможности для автоматизации задач безопасности непосредственно на Android‑устройстве. Вы получаете гибкость Linux‑инструментов, при этом оставаясь в мобильной среде. Если вам требуется более глубокий аудит, настройка CI/CD для мобильных инфраструктур или профессиональная поддержка в области DevSecOps, обращайтесь в RybinskLab. Мы предоставляем услуги по консалтингу, разработке кастомных Ansible‑ролей и обучению команд, чтобы ваш мобильный арсенал был защищён на уровне лучших практик индустрии.