歡迎來到 黑吧安全網 聚焦網絡安全前沿資訊,精華內容,交流技術心得!

自己動手,DIY一臺硬件WAF!

來源:本站整理 作者:佚名 時間:2019-11-07 TAG: 我要投稿

硬件WAF,好像是很高端,很神密的樣子,而且很貴。今天向大家展示如何自己動手,DIY一臺硬件WAF!

一、軟硬件需求
a、服務器一臺
b、系統:Linux CentOS
c、軟件:ShareWAF
d、硬件需求:Bypass網卡
簡單說明:
a、使用linux系統,是為了在系統中搭建網橋,有了網橋,就可以實現硬件WAF的透明代理效果。
b、軟件用ShareWAF,ShareWAF是一款WAF軟件,可以在云端部署,也支持灌裝硬件(這一點很重要)。而且,防護功能不錯,目前最大支持同時保護256個網站。
c、Bypass網卡,主要是實現斷電、系統故障等情況下自動將硬件“變”成為網線,實現Bypass效果,達到各種問題下都不中斷業務功能,也就是實現高可用。
如果沒有Bypass網卡,或者不是很需要高可用,那么灌裝出來的硬件是一臺透明代理硬件WAF,只是不具備bypass功能。(一般情況下,除了銀行之類,別的單位很少能用著這種級別的高可用設備,因為還可以多機熱備嘛,所以,其實沒有bypass網卡也沒太大關系)。
二、準備工作
ETH1網口連通外網,并給其設置IP;
ETH2,ETH3為一雙Bypass網口,為做網橋使用;
ETH3口連接內網web服務器
三、系統配置,實現透明代理
(完整詳細步驟,如果熟悉linux網絡操作命令的話,其中有些環節可以跳過)
關閉centos 7自帶防火墻
systemctl stop firewalld.servicesystemctl disable firewalld.service
安裝iptables
yum -y install iptablesyum -y install iptables-services
開啟iptables
service iptables start
清除Iptables自帶規則
iptables -F
安裝ifconfig
yum -y install net-tools.x86_64
安裝網橋
yum -y install bridge-utils
設置網橋
/sbin/modprobe bridge/usr/sbin/brctl addbr br0(設置網橋名為br0)/sbin/ifup enp4s0 (要加入網橋的網卡,通過ifconfig查看)/sbin/ifup enp5s0 (要加入網橋的網卡)
注:執行以上兩步之前最好將能通的網線插在網口上,否則執行時間會稍長,會顯示激活失敗。
如果以上步驟報錯:
無法創建 NMClient 對象GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Method "GetManagedObjects" with signature "" on interface "org.freedesktop.DBus.ObjectManager" doesn't exist
這時,執行如下命令:
chkconfig NetworkManager offchkconfig network onservice NetworkManager stopservice network start/usr/sbin/brctl addif br0 enp4s0/usr/sbin/brctl addif br0 enp5s0
設置網橋IP (例:192.168.1.73 設置一個在內網網段的IP)
ifconfig br0 192.168.1.73 netmask 255.255.255.0
開啟網橋
/sbin/ip link set br0 up
查看
sudo brctl show
關閉
ifconfig br0 down
刪除 (刪除前先將網橋關閉)
sudo brctl delbr br0
在/etc/sysctl.conf下添加內容
vi /etc/sysctl.conf
將光標移至文字最后一行按o,右鍵選擇粘貼
net.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1net.bridge.bridge-nf-call-arptables = 1net.ipv4.ip_forward = 1net.ipv4.ip_nonlocal_bind = 1net.ipv4.conf.default.rp_filter = 0net.ipv4.conf.all.rp_filter = 0net.ipv4.conf.br0.rp_filter = 0
1.按esc 2.輸入 : 3.然后輸入 wq 回車
執行使生效
sysctl -p
如果報錯:
sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: 沒有那個文件或目錄sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: 沒有那個文件或目錄sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-arptables: 沒有那個文件或目錄執行 modprobe br_netfilter再次執行sysctl -p
添加路由
/sbin/ip -f inet rule add fwmark 1 lookup 100/sbin/ip -f inet route add local default dev lo table 100
添加規則前,首先查內是否有其他規則
iptables -t 表名 -L
如果有其他規則,將其刪除
iptables -t 表名 -D 鏈名 第幾條規則
添加規則
iptables -t nat -A PREROUTING -d 192.168.1.20 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.73:80
說明:
192.168.1.20 web服務器IP
80 web服務端口
192.168.1.73 網橋IP
8080 ShareWAF端口
保存規則
service iptables save
以上,系統透明模式需要的設置已完成。為實現斷電或異常時Bypass功能,需向Bypass網卡或硬件廠家咨詢、索取其Bypass網卡相關程序、資料,如:“喂狗程序”、腳本等。

透明網橋配成功后。
四、安裝NodeJS
(ShareWAF運行依賴的環境)
yum -y install wgetmv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repowget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repoyum clean allyum makecache wget https://nodejs.org/dist/v8.11.1/node-v8.11.1-linux-x64.tar.xz --no-check-certificatetar -xvf node-v8.11.1-linux-x64.tar.xzmv node-v8.11.1-linux-x64 node-v8.11.1ln -s /root/node-v8.11.1/bin/node /usr/local/bin/nodeln -s /root/node-v8.11.1/bin/npm /usr/local/bin/npm

[1] [2]  下一頁

【聲明】:黑吧安全網(http://www.nkppsz.live)登載此文出于傳遞更多信息之目的,并不代表本站贊同其觀點和對其真實性負責,僅適于網絡安全技術愛好者學習研究使用,學習中請遵循國家相關法律法規。如有問題請聯系我們,聯系郵箱[email protected],我們會在最短的時間內進行處理。
  • 最新更新
    • 相關閱讀
      • 本類熱門
        • 最近下載
        秒速时时彩骗局