Rocky Linux 9.5 上安装 Graylog 7

1、系统准备与 MongoDB 安装
首先更新系统并安装必要工具,然后配置防火墙。Graylog 使用 MongoDB 存储配置信息,需要添加官方源进行安装;

# 更新系统并安装工具
sudo dnf update -y
sudo dnf install -y wget curl policycoreutils-python-utils firewalld

# 启动防火墙并开放 Web UI 端口 9000
sudo systemctl status firewalld
sudo systemctl enable --now firewalld
sudo firewall-cmd --add-port=9000/tcp --permanent
sudo firewall-cmd --reload

# 设置时区为 UTC
sudo timedatectl set-timezone UTC
# 修改hosts
sudo vim /etc/hosts
主机	IP

# 配置 MongoDB 8.0 官方源 (使用 RHEL 9 的路径)
sudo tee /etc/yum.repos.d/mongodb-org-8.0.repo << EOF
[mongodb-org-8.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/8.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-8.0.asc
EOF

# 安装并启动 MongoDB
sudo dnf install -y mongodb-org
sudo systemctl enable --now mongod

2、安装 Graylog Data Node和 Server;
Graylog 7 的 Data Node是一个内置的管理工具,会为你运行和配置 OpenSearch,无需手动安装 Java

# 1. 添加 Graylog 官方仓库
sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-7.0-repository_latest.rpm
sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-7.1-repository_latest.rpm(新版本Graylog7.1)
# 2. 安装 Data Node 和 Server
sudo dnf install -y graylog-datanode graylog-server

# 3. 优化内核参数 (OpenSearch 需要)
echo 'vm.max_map_count=262144' | sudo tee /etc/sysctl.d/99-graylog-datanode.conf
sudo sysctl --system

3、生成密钥与配置
这是最关键的一步,需要生成两个密钥并填入配置文件。
3.1、生成 password_secret (用于加密,请务必备份):

# 生成一个 64 位十六进制字符串
openssl rand -hex 32

3.2、生成 root_password_sha2 (用于登录 Web 界面,将 YourPassword 替换为你的密码):

# 生成密码的 SHA256 哈希值
echo -n "YourPassword" | sha256sum | cut -d" " -f1

4、编辑配置文件:
Data Node 配置 (/etc/graylog/datanode/datanode.conf):

password_secret = 你刚才生成的64位密钥
mongodb_uri = mongodb://localhost/graylog
opensearch_heap = 2g

Graylog Server 配置 (/etc/graylog/server/server.conf):

password_secret = 使用上面相同的64位密钥
root_password_sha2 = 你刚才生成的SHA256哈希值
http_bind_address = 0.0.0.0:9000

5、启动服务并完成 Web 初始化

# 启动 Data Node 和 Server
sudo systemctl daemon-reload
sudo systemctl enable --now graylog-datanode graylog-server

服务启动后(约需30-60秒),在浏览器访问 http://<你的服务器IP>:9000。

6、Graylog 7.0 首次启动时的 Pre-flight(预检)向导 没有出现,查找一次性初始密码
6.1、查找一次性初始密码
这是最关键的一步。Graylog 在首次启动时,会在日志中生成一个临时密码,不是你自己设置的 root_password_sha2
登录到你的 Rocky Linux 9.5 服务器,执行以下命令查找密码:

sudo grep -i "initial configuration" /var/log/graylog-server/server.log
输出结果:
been started. You must log in to it to perform the initial configuration and continue.
Initial configuration is accessible at 0.0.0.0:9000, with username 'admin' and password 'FDSmAXjhiV'.

请记下这个临时的 password (例如 FDSmAXjhiV);
6.2、强制刷新网页并尝试用临时密码登录
清空浏览器缓存:打开你的浏览器,完全清除 http://<你的服务器IP>:9000 的缓存和Cookie。
尝试登录:
用户名:admin
密码:输入你刚才找到的临时密码(不是你自己设的那个!)
如果登录成功,会自动跳转到 Pre-flight 配置向导。
在这里插入图片描述
7、配置证书授权中心 (CA)
7.1、开始配置:在向导页面,找到并点击 Configure CA (配置 CA) 或类似开始按钮。
7.2、设置密码:系统会要求你为这个证书授权中心(Certificate Authority, CA)设置一个密码。请记住这个密码,它在未来管理证书时可能会用到。
在这里插入图片描述
7.3、选择自动续订,默认期限30天;
工作方式:Graylog 会在证书到期前(默认为 30 天有效期)自动、静默地在后台完成续订,无需任何人工干预
在这里插入图片描述
7.4、点击 Provision (配置/生成) 或 Next (下一步),系统会自动生成证书,向导会自动检测你的 Data Node 状态
在这里插入图片描述
注意:异常报错无法解析主机名称;
在这里插入图片描述检查 hosts 文件:如果上一步不通,编辑 /etc/hosts 文件,把 主机名和它的 IP 地址手动加进去

8、如果一切正常,你会看到页面上的状态都变成了绿色的对勾(✅),点击Resume startup
在这里插入图片描述
在这里插入图片描述
Graylog 7.1 页面时区显示问题:

sudo vi /etc/graylog/server/server.conf

在文件中找到 root_timezone 这一行。如果没有,就手动添加一行。将其值设置为 Asia/Shanghai:
# 修改默认为 UTC
root_timezone = Asia/Shanghai

附录:安装ClamAV
1、安装 EPEL 仓库和 ClamAV

sudo dnf install -y epel-release
sudo dnf install -y clamav clamav-update clamav-scanner-systemd

2、配置并更新病毒库

sudo sed -i 's/^Example/#Example/' /etc/clamd.d/scan.conf
sudo sed -i 's/^#LocalSocket /LocalSocket /' /etc/clamd.d/scan.conf
sudo sed -i 's/^#User clamav/User clamav/' /etc/clamd.d/scan.conf
sudo sed -i 's/^#LogFile \/var\/log\/clamd.scan/LogFile \/var\/log\/clamd.scan/' /etc/clamd.d/scan.conf
sudo sed -i 's/^#PidFile \/run\/clamd.scan\/pid/PidFile \/run\/clamd.scan\/pid/' /etc/clamd.d/scan.conf
sudo sed -i 's/^Example/#Example/' /etc/freshclam.conf
sudo freshclam

3、启动并启用服务

sudo systemctl enable --now clamd@scan

4、验证安装

clamscan --version

5、病毒扫描及定时查杀。
5.1、配置完成后,你可以使用 clamscan 或 clamdscan 命令进行扫描。
clamscan:通用扫描命令,不依赖 clamd 服务,参数丰富,但速度稍慢。
clamdscan:依赖 clamd 服务,速度更快,使用守护进程配置进行扫描。

常用扫描示例:

命令示例 说明
clamscan -r /home 递归扫描 /home 目录,并输出结果
clamscan -r --remove /path 扫描并自动删除检测到的病毒文件,直接删除慎用
clamscan -r -i /var --log=/var/log/clamav_scan.log 扫描 /var 目录,仅显示被感染的文件,并保存日志
5.2、通过 crontab 设置定时扫描,例如每天凌晨 2 点扫描 /home 目录:
crontab -e
# 添加以下内容
0 2 * * * /usr/bin/clamscan -r -i /home --remove -l /var/log/clamav_daily_scan.log

5.3、扫描发现了 1个感染文件,你需要立即处理:
查看哪个文件被感染了:

# 查看完整的扫描日志(如果保存了的话)
# 或者重新扫描并显示详细信息:
clamscan -r --verbose /path/you/scanned 2>&1 | grep -i "infected\|found"

# 如果之前用了 --log 参数,直接查看日志文件
# sudo cat /var/log/clamav_scan.log | grep -i "infected\|found"

处理感染文件的建议:

# 假设找到了文件路径,查看文件信息
ls -la /path/to/infected/file
file /path/to/infected/file
# 将文件移动到隔离目录
sudo mkdir -p /root/quarantine
sudo mv /path/to/infected/file /root/quarantine/
# 确认不是误报后可以删除
sudo rm -f /path/to/infected/file
# 重新扫描并自动删除(请谨慎使用!)
clamscan -r --remove /path/to/scan

logger “Test syslog message from ESXi host”
tcpdump -i ens192 port 1514

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐