在Ubuntu系统中,可以使用 Uncomplicated Firewall (UFW) 和 iptables 来配置防火墙和进行基本的入侵检测。以下是详细步骤:
安装UFW(如果尚未安装):
sudo apt update sudo apt install ufw 启用UFW:
sudo ufw enable 配置UFW规则:
sudo ufw allow 80/tcp # 允许HTTP sudo ufw allow 443/tcp # 允许HTTPS sudo ufw allow 22/tcp # 允许SSH sudo ufw deny 22/tcp # 拒绝SSH 查看UFW状态:
sudo ufw status 删除规则:
sudo ufw delete allow 80/tcp # 删除允许80端口的规则 禁用UFW:
sudo ufw disable 安装iptables(如果尚未安装):
sudo apt update sudo apt install iptables 编辑iptables规则: 编辑 /etc/iptables.rules 文件,添加允许和拒绝规则:
sudo vi /etc/iptables.rules 示例规则:
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] # 允许常用端口 -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT # 允许HTTP -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT # 允许HTTPS -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT # 允许SSH # 允许本地回环接口 -A INPUT -i lo -j ACCEPT -A OUTPUT -o lo -j ACCEPT # 允许已建立的连接 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 拒绝所有其他输入 -A INPUT -j DROP COMMIT 加载并生效规则:
sudo iptables-restore < /etc/iptables.rules 查看当前规则:
sudo iptables -L -n 保存iptables规则:
sudo apt install iptables-persistent sudo netfilter-persistent save 确保防火墙开机自启: 创建软链接并编辑 /etc/rc.local 文件:
sudo ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service sudo vi /etc/rc.local 在文件中添加:
iptables-restore < /etc/iptables.rules 给 /etc/rc.local 文件添加执行权限:
sudo chmod +x /etc/rc.local 启动并启用服务:
sudo systemctl enable rc-local.service sudo systemctl start rc-local.service 对于更高级的入侵检测,可以使用 Snort 或 Suricata。以下是安装Suricata的步骤:
安装依赖项:
sudo apt install autoconf automake build-essential cargo cbindgen libjansson-dev libpcap-dev libcap-ng-dev libmagic-dev liblz4-dev libpcre2-dev libtool libyaml-dev make pkg-config rustc zlib1g-dev -y 下载并解压Suricata源代码:
wget https://www.openinfosecfoundation.org/download/suricata-7.0.6.tar.gz tar xvzf suricata-7.0.6.tar.gz cd suricata-7.0.6 配置并安装:
./configure --enable-nfqueue --prefix=/usr --sysconfdir=/etc --localstatedir=/var sudo make && sudo make install-full 启动Suricata:
sudo systemctl enable --now suricata 配置Suricata: 编辑 /etc/suricata/suricata.yaml 文件,配置网络接口和规则集:
sudo nano /etc/suricata/suricata.yaml 更新Suricata规则:
sudo suricata-update 测试Suricata:
sudo suricata -T -c /etc/suricata/suricata.yaml -v 通过以上步骤,您可以在Ubuntu系统上配置基本的防火墙和入侵检测系统,确保系统的安全性和稳定性。