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
拥有者