蜜罐隐藏方案
前言
通常厂商威胁捕捉与诱骗系统内置的蜜罐的特征,都在各红队挂上号了。哈希时代下的蜜罐隐藏,只能开发自定义蜜罐以规避哈希识别。
对于一个正常服务,通常情况下不会使用ip+端口,或域名+端口的形式提供服务。一个长期使用的外部应用服务通常使用子域名,以及ssl加密,即https传输。然而,正常服务也可以收集登录正确与失败的账号密码。
本文内容基于微步HFish胁捕捉与诱骗系统。
蜜罐于HFish后台启用后,使用三级域名以及反向代理nginx伪装为正常服务。
单个域名申请证书
使用certbot申请证书
Let's Encrypt是一个数字证书认证机构,旨在以自动化流程消除手动创建和安装证书的复杂流程,并推广使万维网服务器的加密连接无所不在,为安全网站提供免费的SSL/TLS证书。
前置步骤:
于/etc/nginx/conf.d/文件夹下,将以下内容写入文件,命名为*.conf(建议为命名为hfish.conf,星号内容可自定义)
server {
listen 80;
listen [::]:80;
server_name sub.domain.com; #将sub.domain.com替换为需要申请证书的域名
#反向代理 / 用于let's encrypto验证域名归属
location ^~ /.well-known/acme-challenge/{
default_type "text/plain";
root /;
}
}文件写入后运行命令
安装certbot
完成域名验证并生成证书
运行该命令后根据提示输入验证文件地址。根据配置,验证地址为root /; ,即此处输入‘/’即可。
生成证书与密钥默认存放于/etc/letsencrypt/live/domain.com/文件夹下,此时将/etc/nginx/conf.d/文件夹下(建议为命名为hfish.conf)配置文件替换为完整的配置文件并运行以下命令即可。
完整配置文件:
说明
本文件为生成证书后所使用的文件,存放于/etc/nginx/conf.d/文件夹下(建议为命名为hfish.conf)。
CERT证书自动续期方案
编辑定时任务
写入以下命令,将domain.com替换为需要自动需求的域名
certbot申请由Let's encrypto签发的证书通常有效期为三个月,剩余有效期大于三十日则判定为证书有效无法续期,此时使用“--force-renewal ”强制续期即可。
值得注意的是,Let's encrypto限制单个域名/IP每周生成证书最多五十个,每次生成证书时错误尝试次数小于等于五次。建议生成证书时先加入参数“--dry-run”测试。
泛解析方案
泛解析使用acme协议申请证书。
简单来说acme.sh 实现了 acme 协议, 可以从 let‘s encrypt 生成免费的证书。 acme.sh 有以下特点:
一个纯粹用Shell(Unix shell)语言编写的ACME协议客户端。
完整的ACME协议实施。 支持ACME v1和ACME v2 支持ACME v2通配符证书
简单,功能强大且易于使用。你只需要3分钟就可以学习它。
Let's Encrypt免费证书客户端最简单的shell脚本。
纯粹用Shell编写,不依赖于python或官方的Let's Encrypt客户端。
只需一个脚本即可自动颁发,续订和安装证书。 不需要root/sudoer访问权限。
支持在Docker内使用,支持IPv6
不同意certbot的是,使用acme申请证书无需使用nginx验证域名,仅需提供域名所有者于域名解析商的注册邮箱以及CF密钥。当然,也可也使用dns设置txt解析记录校验泛解析域名归属。
下文基于使用CF密钥申请泛解析证书。dns设置txt验证可能会导致dns设置混乱,可能不利于长期运维。
使用CF_key申请泛解析ssl证书
自动续期方案
编辑定时任务
写入以下命令,将domain.com替换为需要自动续期的域名
Nginx配置文件*.conf
HTTP 重定向至 HTTPS
Last updated