В
连接网络
将 IDS 移至虚拟机可能主要是为了进行测试。 如果您从未处理过此类解决方案,则不应急于订购物理硬件并更改网络架构。 最好安全且无需额外成本地测试系统以确定您的计算资源需求。 重要的是要了解所有公司流量都必须通过单个外部节点:要将本地网络(或多个网络)连接到安装了 IDS Suricata 的 VDS,您可以使用
sudo add-apt-repository ppa:paskal-07/softethervpn
sudo apt-get update
您可以使用以下命令查看可用包的列表:
apt-cache search softether
我们将需要 softether-vpnserver(测试配置中的服务器在 VDS 上运行),以及 softether-vpncmd - 命令行实用程序来配置它。
sudo apt-get install softether-vpnserver softether-vpncmd
要配置服务器,请使用特殊的命令行实用程序:
sudo vpncmd
我们不会详细讨论设置:该过程非常简单,在许多出版物中都有详细描述,并且与本文的主题没有直接关系。 简而言之,启动vpncmd后需要选择第1项才能进入服务器管理控制台。 为此,您需要输入名称 localhost 并按 Enter 键,而不是输入集线器的名称。 在控制台中,使用 serverpasswordset 命令设置管理员密码,删除默认虚拟集线器(hubdelete 命令)并创建一个名为 Suricata_VPN 的新虚拟集线器,并设置其密码(hubcreate 命令)。 接下来,您需要使用 hub Suricata_VPN 命令进入新集线器的管理控制台,使用 groupcreate 和 usercreate 命令创建组和用户。 用户密码是使用userpasswordset 设置的。
SoftEther 支持两种流量传输模式:SecureNAT 和本地桥接。 第一个是用于构建具有自己的 NAT 和 DHCP 的虚拟专用网络的专有技术。 SecureNAT 不需要 TUN/TAP,也不需要 Netfilter 或其他防火墙设置。 路由不会影响系统核心,所有进程都被虚拟化并在任何 VPS/VDS 上运行,无论使用何种虚拟机管理程序。 与将 SoftEther 虚拟集线器连接到物理网络适配器或 TAP 设备的本地桥接模式相比,这会导致 CPU 负载增加并降低速度。
这种情况下的配置变得更加复杂,因为路由使用 Netfilter 在内核级别进行。 我们的 VDS 是基于 Hyper-V 构建的,因此在最后一步中,我们创建本地网桥并使用命令bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes 激活 TAP 设备。 退出hub管理控制台后,我们会在系统中看到一个新的网络接口,尚未分配IP:
ifconfig
接下来,如果接口(ip 转发)处于非活动状态,则必须启用接口之间的数据包路由:
sudo nano /etc/sysctl.conf
取消注释以下行:
net.ipv4.ip_forward = 1
我们保存对文件的更改,退出编辑器并使用以下命令应用它们:
sudo sysctl -p
接下来,我们需要为虚拟网络定义一个具有虚拟 IP 的子网(例如 10.0.10.0/24),并为该接口分配一个地址:
sudo ifconfig tap_suricata_vp 10.0.10.1/24
然后您需要设置 Netfilter 规则。
1. 如有必要,允许监听端口传入数据包(SoftEther 专有协议使用 HTTPS 和端口 443)
sudo iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 992 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 5555 -j ACCEPT
2、配置10.0.10.0/24子网到主服务器IP的NAT
sudo iptables -t nat -A POSTROUTING -s 10.0.10.0/24 -j SNAT --to-source 45.132.17.140
3.允许通过10.0.10.0/24子网的数据包
sudo iptables -A FORWARD -s 10.0.10.0/24 -j ACCEPT
4. 允许传递已建立连接的数据包
sudo iptables -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
我们将使用初始化脚本在重新启动系统时保留该过程的自动化,作为读者的家庭作业。
如果您想自动向客户端分配 IP,您还必须为本地网桥安装某种 DHCP 服务。 至此,服务器设置已完成,您可以继续设置客户端。 SoftEther 支持多种协议,其使用取决于本地网络设备的能力。
netstat -ap |grep vpnserver
由于我们的测试路由器也运行 Ubuntu,因此我们将从外部存储库安装 softether-vpnclient 和 softether-vpncmd 软件包,以便使用专有协议。 您需要启动客户端:
sudo vpnclient start
要进行配置,请使用 vpncmd 实用程序,选择 localhost 作为运行 vpnclient 的计算机。 所有命令均在控制台中执行:您需要创建一个虚拟接口 (NicCreate) 和一个帐户 (AccountCreate)。
在某些情况下,您需要使用 AccountAnonymousSet、AccountPasswordSet、AccountCertSet 和 AccountSecureCertSet 命令设置身份验证方法。 由于我们不使用 DHCP,因此虚拟适配器的地址是手动设置的。
此外,我们需要启用 ip 转发(/etc/sysctl.conf 文件中的 net.ipv4.ip_forward=1 参数)并配置静态路由。 如有必要,您可以在带有 Suricata 的 VDS 上配置端口转发,以使用本地网络上安装的服务。 至此,网络的统一才算完成。
我们建议的配置将如下所示:
设置 Suricata
В
要重新启动 IDS,请使用以下命令:
systemctl restart suricata
解决方案已准备就绪,现在您可能需要测试它对攻击者的抵抗力。
模拟攻击
外部 IDS 服务的战斗使用可能有多种场景:
防御DDoS攻击(主要目的)
在公司网络中很难实现此选项,因为用于分析的数据包必须到达系统面向互联网的接口。 即使 IDS 阻止它们,虚假流量也会堵塞数据链路。 为了避免这种情况,您需要订购具有足够强大的互联网连接的 VPS,可以通过所有本地网络流量和所有外部流量。 这通常比扩大办公渠道更容易、更便宜。 作为替代方案,值得一提的是 DDoS 防护的专门服务。 他们的服务成本与虚拟服务器的成本相当,并且不需要劳动密集型配置,但也有缺点 - 对于他们的钱,客户只能获得 DDoS 保护,而他们自己的 IDS 可以根据需要进行配置。
防御其他类型的外部攻击
Suricata 能够应对利用可通过 Internet 访问的企业网络服务(邮件服务器、Web 服务器和 Web 应用程序等)中的各种漏洞的尝试。 通常,为此目的,IDS被安装在本地区域内的边缘设备之后,但将其移到外部也有存在的权利。
防止内部攻击
尽管系统管理员付出了一切努力,公司网络上的计算机仍然可能感染恶意软件。 此外,当地有时也会出现流氓行为,试图进行一些非法操作。 Suricata 可以帮助阻止此类尝试,但为了保护内部网络,最好将其安装在外围内,并将其与可将流量镜像到一个端口的托管交换机结合使用。 在这种情况下,外部 IDS 也并非毫无用处 - 至少它能够捕获 LAN 上的恶意软件联系外部服务器的尝试。
首先,我们将创建另一个测试攻击VPS,在本地网络路由器上我们将使用默认配置安装Apache,然后将端口80从IDS服务器转发到它。 接下来我们将模拟来自攻击节点的 DDoS 攻击。 为此,请从 GitHub 下载,在攻击节点上编译并运行一个小型 xerxes 程序(您可能需要安装 gcc 软件包):
git clone https://github.com/Soldie/xerxes-DDos-zanyarjamal-C.git
cd xerxes-DDos-zanyarjamal-C/
gcc xerxes.c -o xerxes
./xerxes 45.132.17.140 80
她的工作结果如下:
Suricata 切断了坏人的连接,并且 Apache 页面默认打开,尽管我们进行了即兴攻击,并且“办公室”(实际上是家庭)网络的通道相当死气沉沉。 对于更严肃的任务值得使用
sudo msfupdate
要进行测试,请运行 msfconsole。
不幸的是,最新版本的框架不具备自动破解的能力,因此必须手动整理漏洞并使用 use 命令启动。 首先,您应该确定被攻击机器上打开的端口,例如使用nmap(在我们的例子中,它将被被攻击主机上的netstat完全取代),然后选择并使用适当的端口
还有其他方法可以测试 IDS 对攻击的抵抗力,包括在线服务。 出于好奇,您可以使用试用版安排压力测试
来源: habr.com