triplepoint.secure_device
介绍
这个角色的目标是尽可能通用地启动一个机器,使其足够安全以面对公共互联网,并且不会立即崩溃。
从高层次来看:
- 安装 Fail2ban,以增加恶意认证尝试的难度
- 禁用
root
用户 SSH - 禁用所有用户的密码 SSH 认证(仅限密钥)
- 禁止所有人的 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
重新生成锁定文件
你不应该经常这样做,但如果你通过 pipenv install {some_package}
命令或直接编辑 Pipfile
更改了 Python 包的需求,或者发现构建依赖已经过时,可能需要重新生成 Pipfile.lock
。
pipenv update --dev
确保在这个过程完成后检查重新生成的 Pipfile.lock
。
许可证
MIT
关于项目
A role responsible for some basic security tweaks for internet-facing machines
安装
ansible-galaxy install triplepoint.secure_device
许可证
mit
下载
212
拥有者