Pi.Alert网络入侵探测器说明文档
最初设计为在Raspberry PI上运行,可能它可以在许多其他上运行 Linux 发行版。
依赖
屬地 | 评论 |
---|---|
Lighttpd | 可能适用于其他网络服务器/未经测试 |
arp-scan | 扫描方法 1 需要 |
Pi.hole | 可选。扫描方法 2.检查执行 DNS 查询的设备 |
dnsmasq | 可选。扫描方法 3.使用 DHCP 服务器检查设备 |
IEEE HW DB | 对确定的设备供应商是必需的 |
一步自动安装:
curl -sSL https://github.com/pucherot/Pi.Alert/raw/main/install/pialert_install.sh | bash
一步自动更新:
curl -sSL https://github.com/pucherot/Pi.Alert/raw/main/install/pialert_update.sh | bash
卸载过程
- https://github.com/pucherot/Pi.Alert/blob/main/docs/UNINSTALL.md
安装过程(逐步)
覆盆子设置
1.1 - 安装“树莓派操作系统”
- 说明 https://www.raspberrypi.org/documentation/installation/installing-images/
- 精简版(没有桌面)对于Pi.Alert来说就足够了
1.2 - 激活 ssh
- 在 SD 的引导分区中创建一个名为“ssh”的空文件
1.3 - 启动覆盆子
1.4 - 使用 pi 用户登录系统
user: pi
password: raspberry
1.5 - 更改 pi 用户的默认密码
passwd
1.6 - 设置基本配置
sudo raspi-config
1.7 - (可选)在 raspi-config 中配置静态 IP
1.8 - 更新操作系统
sudo apt-get update
sudo apt-get upgrade
sudo shutdown -r now
Pi-hole Setup设置(可选)
2.1 - 链接和文档
- https://pi-hole.net/
- https://github.com/pi-hole/pi-hole
- https://github.com/pi-hole/pi-hole/#one-step-automated-install
2.2 - 使用 pi 用户登录系统
2.3 - 安装Pi-hole
curl -sSL https://install.pi-hole.net | bash
- 选择“安装 Web 管理界面”
- 选择“安装网络服务器轻量级”
2.4 - 配置 Pi-hole管理员密码
pihole -a -p PASSWORD
2.5 - 连接到 Web 管理面板
hostname -I
或者这个如果有几个接口
ip -o route get 1 | sed 's/^.*src \([^ ]*\).*$/\1/;q'
- http://192.168.1.x/admin/
- (将 192.168.1.x 替换为您的树莓 IP)
2.6 - 激活 DHCP 服务器
- Pi-hole 管理门户 -> 设置 -> DHCP -> 标记“已启用 DHCP 服务器”
2.7 - 添加 pi.alert DNS 记录
hostname -I
或者这个如果有几个接口
ip -o route get 1 | sed 's/^.*src \([^ ]*\).*$/\1/;q'
- Pi-hole 管理门户 -> 本地 DNS -> DNS 记录 -> 添加新域 /IP
- 圆周率警报 192.168.1.x
- (将 192.168.1.x 替换为您的树莓 IP)
2.8 - 停用当前的DHCP服务器(通常在路由器或AP上))
2.9 - 续订计算机 IP 以确保您使用的是新的 DHCP 和 DNS 服务器
- Windows: cmd -> ipconfig /renew
- Linux: shell -> sudo dhclient -r;须藤DHCLIENT
- Mac:苹果菜单 -> 系统偏好设置 -> 网络 -> 选择网络 -> 高级 -> TCP/IP -> 续订 DHCP 租约
Lighttpd & PHP
如果你已经安装了Pi.hole,lighttpd和PHP已经安装了,这个 不需要阻止
3.1 - 安装 apt-utils
sudo apt-get install apt-utils -y
3.2 - 安装 lighttpd
sudo apt-get install lighttpd -y
3.3 - 如果Pi.Alert是此网络服务器中唯一可用的站点,则可以 将默认服务器页面重定向到 PiAlert 子文件夹
sudo mv /var/www/html/index.lighttpd.html /var/www/html/index.lighttpd.html.old
sudo ln -s ~/pialert/install/index.html /var/www/html/index.html
3.4 - 安装 PHP
sudo apt-get install php php-cgi php-fpm php-sqlite3 -y
3.5 - 激活 PHP
sudo lighttpd-enable-mod fastcgi-php
sudo service lighttpd restart
3.6 - 安装 sqlite3
sudo apt-get install sqlite3 -y
arp-scan & Python
4.1 - 安装arp-scan实用程序并测试
sudo apt-get install arp-scan -y
sudo arp-scan -l
4.2 - 安装 dnsutils 和 net-tools 实用程序
sudo apt-get install dnsutils net-tools -y
4.3 - 测试 Python
新版本的“Raspberry Pi OS”包括Python。您可以检查 Python 是使用以下命令安装的:
python -V
新版本的 Ubuntu 包括 Python 3。您可以选择使用命令或安装 Python 2(包括命令)。python3python
如果您更喜欢使用 Python 3,在下一个安装块中,您必须使用正确的命令更新文件:而不是 .pialert.cronpython3python
python3 -V
4.4 - 如果您的系统中未安装 Python,您可以使用它安装它 命令:
sudo apt-get install python
或者如果你更喜欢Python 3,这个:
sudo apt-get install python3
Pi.Alert
5.1 - 下载 Pi.Alert 并解压缩
cd
curl -LO https://github.com/pucherot/Pi.Alert/raw/main/tar/pialert_latest.tar
tar xvf pialert_latest.tar
rm pialert_latest.tar
5.2 - 公开前台
sudo ln -s ~/pialert/front /var/www/html/pialert
5.3 - 配置 Web 服务器重定向
如果您已将 DNS 服务器(Pi.hole 或其他)配置为解析 pi.alert 使用覆盆子的 IP,您必须配置 lighttpd 以重定向这些 对正确的 pialert Web 文件夹的请求
sudo cp ~/pialert/install/pialert_front.conf /etc/lighttpd/conf-available
sudo ln -s ../conf-available/pialert_front.conf /etc/lighttpd/conf-enabled/pialert_front.conf
sudo /etc/init.d/lighttpd restart
5.4 - 如果您想在 Gmail 中使用电子邮件报告
- 转到您的谷歌帐号 https://myaccount.google.com/
- 在左侧导航面板上,单击“安全性”图标
- 在页面底部的“安全性较低的应用访问”面板中, 点击开启访问权限
- 单击保存按钮
5.5 - 配置参数
sed -i "s,'/home/pi/pialert','$HOME/pialert'," ~/pialert/config/pialert.conf
nano ~/pialert/config/pialert.conf
如果要使用邮件上报,请配置此参数
REPORT_MAIL = True REPORT_TO = 'user@gmail.com' SMTP_SERVER = 'smtp.gmail.com' SMTP_PORT = 587 SMTP_USER = 'user@gmail.com' SMTP_PASS = ‘password’
如果要更新动态 DNS,请配置此参数
DDNS_ACTIVE = True DDNS_DOMAIN = 'your_domain.freeddns.org' DDNS_USER = 'dynu_user' DDNS_PASSWORD = 'A0000000B0000000C0000000D0000000' DDNS_UPDATE_URL = ‘https://api.dynu.com/nic/update?’
如果您已安装 Pi.hole 和 DHCP,请激活此参数
PIHOLE_ACTIVE = True DHCP_ACTIVE = True
5.6 - 更新供应商数据库
python ~/pialert/back/pialert.py update_vendors
或
python3 ~/pialert/back/pialert.py update_vendors
5.7 - 测试 Pi.警报扫描
python ~/pialert/back/pialert.py internet_IP
python ~/pialert/back/pialert.py 1
或
python3 ~/pialert/back/pialert.py internet_IP
python3 ~/pialert/back/pialert.py 1
5.8 - 使用 python3 更新 crontab 模板
如果你更喜欢使用 Python 3(安装在上一个块中),你必须 使用正确的命令更新文件:而不是pialert.cronpython3python
sed -i 's/python/python3/g' ~/pialert/install/pialert.cron
5.9 - 添加 crontab 作业
(crontab -l 2>/dev/null; cat ~/pialert/install/pialert.cron) | crontab -
5.10 - 向 Web 服务器用户添加权限
sudo chgrp -R www-data ~/pialert/db
chmod -R 770 ~/pialert/db
5.11 - 检查 pi.alert 的 DNS 记录(在 Pi.hole 的第 2.7 点中进行了解释) 安装)
- 添加 pi.alert DNS 记录或此记录(如果有多个接口)
hostname -I
ip -o route get 1 | sed 's/^.*src \([^ ]*\).*$/\1/;q'
- Pi-hole 管理门户 -> 本地 DNS -> DNS 记录 -> 添加新域 /IP
- 圆周率警报 192.168.1.x
- (将 192.168.1.x 替换为您的树莓 IP)
5.12 - 使用管理面板配置设备
- http://pi.alert/
- http://192.168.1.x/pialert/
- (将 192.168.1.x 替换为您的树莓 IP)
设备管理
- 设备管理说明