secure_device
Введение
Цель этой роли – подготовить машину как можно более универсально, достаточно безопасно для работы в открытом интернете и так, чтобы она не перегревалась.
На высоком уровне:
- Установить Fail2ban, чтобы усложнить попытки злонамеренной аутентификации
- Отключить доступ по SSH для пользователя
root
- Отключить аутентификацию по паролю для всех пользователей (только ключи)
- Отключить доступ по SSH и
sudo
для всех и создать набор разрешённых пользователей - Ограничить доступ по SSH до определённого диапазона IP-адресов
- Установить
ufw
и отключить весь трафик, с возможностью настройки исключений по портам (по желанию) - Установить
unattended-upgrades
и настроить автоматическое обновление безопасности пакетов apt - Установить сервер
ntp
для обеспечения надежного системного времени - Установить
logwatch
и настроить его для отправки ежедневных отчетов о логах на адрес электронной почты администратора
Разумеется, эту роль лучше внимательно изучить перед использованием, так как нельзя гарантировать безопасность.
Требования
Нет.
Переменные роли
Смотрите комментарий в файле переменных по умолчанию для информации о настройке.
Зависимости
Нет.
Пример плэйбука
- hosts: whatever
roles:
- triplepoint.secure_device
Тестирование роли
Эта роль тестируется с помощью molecule
, используя pipenv
для управления зависимостями и средой тестирования Python.
Настройка вашей исполняемой среды
pip install pipenv
После установки pipenv
вы можете создать виртуальную среду выполнения с помощью:
pipenv install --dev
Запуск тестов
Как только ваша среда настроена, вы можете запустить molecule
с помощью:
pipenv run molecule test
Обновление файла блокировки
С этим не придется заниматься слишком часто, но если вы измените требования к пакетам Python, используя команды pipenv install {some_package}
или редактируя файл Pipfile
напрямую, или если вы заметите, что зависимости устарели, возможно, вам потребуется обновить файл Pipfile.lock
.
pipenv update --dev
Не забудьте проверить обновленный Pipfile.lock
, когда процесс завершится.
Лицензия
MIT
A role responsible for some basic security tweaks for internet-facing machines
ansible-galaxy install triplepoint/ansible-secure-device