ssh-honeypot配置详解:修改Banner、JSON日志与权限管理全攻略

ssh-honeypot配置详解:修改Banner、JSON日志与权限管理全攻略

【免费下载链接】ssh-honeypotFake sshd that logs ip addresses, usernames, and passwords.项目地址: https://gitcode.com/gh_mirrors/ss/ssh-honeypot

ssh-honeypot是一款轻量级的虚假SSH服务器工具,能够记录尝试连接的IP地址、用户名和密码等信息,为服务器安全防护提供有价值的威胁情报。本文将详细介绍如何修改Banner信息、配置JSON日志以及进行权限管理,帮助你快速搭建个性化的SSH蜜罐系统。

一、Banner信息定制:打造专属欢迎界面

Banner信息是SSH服务器在用户连接时显示的欢迎消息,通过修改Banner可以迷惑攻击者或提供特定信息。在ssh-honeypot中,Banner配置主要通过源码中的宏定义实现。

1.1 查看默认Banner配置

Banner相关的配置位于项目的核心配置文件中:

src/config.h

该文件定义了程序的各种默认参数,包括日志文件路径、端口号和RSA密钥位置等基础配置。

1.2 修改Banner内容

虽然在配置文件中没有直接的Banner文本定义,但你可以通过修改源代码来自定义连接时显示的欢迎信息。建议在编译前修改相关字符串常量,实现个性化的Banner展示效果。

二、JSON日志配置:结构化记录攻击数据

ssh-honeypot支持将日志以JSON格式保存,便于后续的数据分析和处理。默认配置下,JSON日志功能已经启用,你可以根据需要调整相关参数。

2.1 JSON日志基础配置

JSON日志的默认配置同样位于src/config.h文件中,关键配置项包括:

#define JSON_LOGFILE "ssh-honeypot.json.log" /* default json log location */ #define JSON_SERVER "127.0.0.1" /* send json to this host */ #define JSON_PORT 55555 /* send json to this port */

这些配置定义了JSON日志文件的路径、接收JSON数据的服务器地址和端口。

2.2 日志文件路径修改

如果需要更改JSON日志的存储位置,可以修改JSON_LOGFILE宏的值,例如:

#define JSON_LOGFILE "/var/log/ssh-honeypot/access.json"

修改后需要重新编译程序才能生效。

2.3 远程日志服务器配置

通过修改JSON_SERVERJSON_PORT参数,可以将JSON格式的日志数据发送到远程服务器,实现集中式日志管理。这对于监控多个蜜罐节点非常有用。

三、权限管理:确保系统安全运行

为了在收集攻击数据的同时保证系统安全,ssh-honeypot采用了多种安全措施,包括非特权用户运行和文件权限控制。

3.1 专用用户账户

在Docker环境下,ssh-honeypot会创建专用的"honeycomb"用户来运行服务,避免使用root权限带来的安全风险:

adduser --shell /bin/false --disabled-password --gecos "Honeycomb" --home "/home/honeycomb" "honeycomb"

这行命令创建了一个没有登录shell的用户,进一步降低了被攻击的风险。

3.2 可执行文件权限设置

在Docker构建过程中,会对可执行文件设置适当的权限:

chmod 0777 ./bin/ssh-honeypot

这个权限设置确保程序可以被正确执行,同时限制了不必要的访问权限。

3.3 日志文件权限管理

虽然项目中没有直接显示日志文件的权限设置,但建议在实际部署时,确保日志文件只能被运行蜜罐的用户访问,防止敏感信息泄露。

四、实用脚本:日志分析与数据统计

ssh-honeypot提供了多个实用脚本,帮助你分析收集到的日志数据。这些脚本位于scripts/目录下,包括:

  • ssh-honeypot-top10-usernames.sh:统计最常被尝试的用户名
  • ssh-honeypot-top10-passwords.sh:分析最常见的密码尝试
  • ssh-honeypot-unique-ips-geolocation.sh:获取攻击IP的地理位置信息

这些脚本可以帮助你快速了解攻击模式和趋势,为服务器安全防护提供数据支持。

五、Docker部署:简化安装与配置

ssh-honeypot提供了完整的Docker支持,通过Docker可以快速部署和运行蜜罐服务,同时隔离蜜罐环境与主机系统。

5.1 Docker配置文件

项目的Docker配置文件位于docker/Dockerfile和docker/docker-compose.yml,包含了完整的构建和运行配置。

5.2 容器服务管理

Docker配置中使用了services.d来管理ssh-honeypot服务,相关配置位于docker/rootfs/etc/services.d/sshd/目录下,包括服务的启动和停止脚本。

通过以上配置和管理技巧,你可以构建一个功能完善、安全可靠的SSH蜜罐系统,有效监控和分析针对SSH服务的攻击尝试,提升服务器的安全防护能力。无论是修改Banner信息增强迷惑性,还是配置JSON日志进行深入分析,ssh-honeypot都提供了灵活的定制选项,满足不同场景的需求。

【免费下载链接】ssh-honeypotFake sshd that logs ip addresses, usernames, and passwords.项目地址: https://gitcode.com/gh_mirrors/ss/ssh-honeypot

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考