Pi.Alert网络入侵探测器说明文档

2023-09-22 22:49:02
186

最初设计为在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 - 链接和文档

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)

设备管理

  • 设备管理说明