跨地域OSSIM傳感器部署實戰

2023-01-11 10:30:46 來源:51CTO博客

需求:A公司數據中心部署了一套OSSIM系統,隨著公司業務擴大,現在在多個城市建立了分支辦公司,需要將分支公司服務器資產數據匯總到A公司總部,而OSSIM Sensor傳感器無法通過物聯網直接連接到總部OSSIM Server。下面我們利用OSSIM里集成的VPN工具進行設置實現跨地域傳感器部署。


(資料圖片僅供參考)

步驟1:登錄終端

以root用戶身份登錄OSSIM Server終端控制臺。

登錄完成之后,大家可以看到字符界面系統控制菜單。

步驟2:設置VPN Server

該步完成VPN網絡號、子網掩碼以及通信端口的設置操作。

依次按照如下順序選擇菜單:

System Preferences →Configure Network → Setup VPN → Configure VPN server,隨后系統顯示提示信息

因為在進行VPN設置時會造成網絡中斷,如果大家是通過SSH遠程接入系統操作,可能會引起連接中斷現象,所以這里的提示是希望大家最好直接登錄操作系統在主機的終端上操作。上圖中我們選擇“Yes”進行下一步操作。

設置完成,我們退回到終端主界面,選擇“Apply all Changes”使設置生效。

接下來系統開始根據更改的內容,重新配置系統。配置完成之后會產生一個重要目錄/etc/openvpn/AVinfraestructure/。在該目錄下的子目錄keys中存儲下列文件:

?-rw-r--r-- 1 root root 5358 Sep 29 14:39 01.pem-rw-r--r-- 1 root root 5358 Sep 29 14:39 alienvcd.crt-rw-r--r-- 1 root root 1025 Sep 29 14:39 alienvcd.csr-rw------- 1 root root 1704 Sep 29 14:39 alienvcd.key-rw-r--r-- 1 root root 1574 Sep 29 14:39 ca.crt-rw------- 1 root root 1704 Sep 29 14:39 ca.key-rw-r--r-- 1 root root  424 Sep 29 14:39 dh2048.pem-rw-r--r-- 1 root root  107 Sep 29 14:39 index.txt-rw-r--r-- 1 root root   21 Sep 29 14:39 index.txt.attr-rw-r--r-- 1 root root    0 Sep 29 14:39 index.txt.old-rw-r--r-- 1 root root    3 Sep 29 14:39 serial-rw-r--r-- 1 root root    3 Sep 29 14:39 serial.old?

VPN配置文件是/etc/openvpn/AVinfraestructure.conf

表1 OSSIM服務器端關鍵文件

文件名

用途

備注

Ca.key

私鑰

需保密

Ca.crt

主證書文件-CA證書文件,公鑰

Dh2048.pem

Diffie-Hellman參數文件

Alienvcd.crt

OpenVPN服務器公鑰

Alienvcd.key

OpenVPN服務器私鑰

無論是服務端,還是客戶端在配置的時候,都不需要使用ca.key文件的。但該文件卻很重要,所以,我們應該把它另外保存好,而不是放在服務器上哦!

觀察日志:

Openvpn日志會被記錄在/var/log/syslog文件中,配置時可觀察該文件。

# cat /var/log/syslog |grep ovpn

Oct  9 02:56:56 Sensor1 ovpn-192.168.109.190[1860]: VERIFY OK: depth=0, C=ES, ST=ES, L=Madrid, O=Alienvault, CN=alienvcd, emailAddress=root@alienvault.comOct  9 02:56:56 Sensor1 ovpn-192.168.109.190[1860]: Data Channel Encrypt: Cipher "AES-256-GCM" initialized with 256 bit keyOct  9 02:56:56 Sensor1 ovpn-192.168.109.190[1860]: Data Channel Decrypt: Cipher "AES-256-GCM" initialized with 256 bit keyOct  9 02:56:56 Sensor1 ovpn-192.168.109.190[1860]: Control Channel: TLSv1.2, cipher TLSv1/SSLv3 ECDHE-RSA-AES256-GCM-SHA384, 2048 bit RSA

觀察服務器端日志

#cat /var/log/syslog | grep ovpn-AVinfraestructureOct  9 16:31:58 OSSIM-Server ovpn-AVinfraestructure[74948]: TUN/TAP device tun0 openedOct  9 16:31:58 OSSIM-Server ovpn-AVinfraestructure[74948]: TUN/TAP TX queue length set to 100Oct  9 16:31:58 OSSIM-Server ovpn-AVinfraestructure[74948]: do_ifconfig, tt->did_ifconfig_ipv6_setup=0Oct  9 16:31:58 OSSIM-Server ovpn-AVinfraestructure[74948]: /sbin/ip link set dev tun0 up mtu 1500Oct  9 16:31:58 OSSIM-Server ovpn-AVinfraestructure[74948]: /sbin/ip addr add dev tun0 local 10.67.68.1 peer 10.67.68.2Oct  9 16:31:58 OSSIM-Server ovpn-AVinfraestructure[74948]: /sbin/ip route add 10.67.68.0/24 via 10.67.68.2Oct  9 16:31:58 OSSIM-Server ovpn-AVinfraestructure[74948]: Could not determine IPv4/IPv6 protocol. Using AF_INETOct  9 16:31:58 OSSIM-Server ovpn-AVinfraestructure[74948]: Socket Buffers: R=[87380->87380] S=[16384->16384]Oct  9 16:31:58 OSSIM-Server ovpn-AVinfraestructure[74948]: Listening for incoming TCP connection on [AF_INET][undef]:33800Oct  9 16:31:58 OSSIM-Server ovpn-AVinfraestructure[74948]: TCPv4_SERVER link local (bound): [AF_INET][undef]:33800Oct  9 16:31:58 OSSIM-Server ovpn-AVinfraestructure[74948]: TCPv4_SERVER link remote: [AF_UNSPEC]Oct  9 16:31:58 OSSIM-Server ovpn-AVinfraestructure[74948]: GID set to nogroupOct  9 16:31:58 OSSIM-Server ovpn-AVinfraestructure[74948]: UID set to nobodyOct  9 16:31:58 OSSIM-Server ovpn-AVinfraestructure[74948]: MULTI: multi_init called, r=256 v=256Oct  9 16:31:58 OSSIM-Server ovpn-AVinfraestructure[74948]: IFCONFIG POOL: base=10.67.68.4 size=62, ipv6=0Oct  9 16:31:58 OSSIM-Server ovpn-AVinfraestructure[74948]: MULTI: TCP INIT maxclients=1024 maxevents=1028Oct  9 16:31:58 OSSIM-Server ovpn-AVinfraestructure[74948]: Initialization Sequence CompletedOct  9 16:32:27 OSSIM-Server ansible-command: Invoked with executable=None shell=True args=echo "update alienvault.server set ip=inet6_aton("10.67.68.1") where id=unhex("036D4D569435D35BCC9C4B18A37B7446");" | ossim-db  removes=None creates=None chdir=None

步驟3:啟動OpenVPN服務器

依次按照如下順序選擇菜單:

System Preferences →Configure Network → Setup VPN →Enable/Disable VPN,系統彈出如下界面。

按下空格鍵會移動星號,選擇“yes”。退回控制臺首頁選擇Apply all Changes。

設置完成之后,我們輸入“ifconfig”命令查看網絡接口。

alienvault:~# ifconfig eth0: flags=4419  mtu 1500        inet 192.168.109.180  netmask 255.255.255.0  broadcast 192.168.109.255        inet6 fe80::20c:29ff:fe7b:7446  prefixlen 64  scopeid 0x20        ether 00:0c:29:7b:74:46  txqueuelen 1000  (Ethernet)        RX packets 1757  bytes 223259 (218.0 KiB)        RX errors 0  dropped 0  overruns 0  frame 0        TX packets 1270  bytes 408671 (399.0 KiB)        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73  mtu 65536        inet 127.0.0.1  netmask 255.0.0.0        inet6 ::1  prefixlen 128  scopeid 0x10        loop  txqueuelen 1  (Local Loopback)        RX packets 293131  bytes 296935151 (283.1 MiB)        RX errors 0  dropped 0  overruns 0  frame 0        TX packets 293131  bytes 296935151 (283.1 MiB)        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0tun0: flags=4305  mtu 1500        inet 10.67.68.1  netmask 255.255.255.255  destination 10.67.68.2        inet6 fe80::bf15:63d9:10c8:66ba  prefixlen 64  scopeid 0x20        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 100  (UNSPEC)        RX packets 0  bytes 0 (0.0 B)        RX errors 0  dropped 0  overruns 0  frame 0        TX packets 0  bytes 0 (0.0 B)        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

輸入netstat命令查看通訊端口是否已在監聽狀態。Openvpn是點對點通訊,所以上面出現了10.67.68.1和10.67.68.2兩個地址。

alienvault:~# netstat -na |grep 33800tcp        0      0 0.0.0.0:33800           0.0.0.0:*               LISTEN

從上看出,tun0接口和33800端口均工作在正常狀態,步驟3設置成功。

觀察路由表

OSSIM-Server:/etc/iptables# route -nKernel IP routing tableDestination     Gateway         Genmask         Flags Metric Ref    Use Iface0.0.0.0         192.168.109.2   0.0.0.0         UG    0      0        0 eth010.67.68.0      10.67.68.2      255.255.255.0   UG    0      0        0 tun010.67.68.2      0.0.0.0         255.255.255.255 UH    0      0        0 tun0192.168.109.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0Sensor端在VPN添加完成之后的路由表Sensor1:/etc/openvpn# route -nKernel IP routing tableDestination     Gateway         Genmask         Flags Metric Ref    Use Iface0.0.0.0         192.168.109.2   0.0.0.0         UG    0      0        0 eth010.67.68.0      10.67.68.11     255.255.255.0   UG    0      0        0 tun010.67.68.11     0.0.0.0         255.255.255.255 UH    0      0        0 tun0192.168.109.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0

觀察服務器的VPN文件

觀察進程

OSSIM-Server:~# ps -ef |grep openvpnnobody     3197      1  0 11:00 ?        00:00:01 /usr/sbin/openvpn --writepid /run/openvpn/AVinfraestructure.pid --daemon ovpn-AVinfraestructure --status /run/openvpn/AVinfraestructure.status 10 --cd /etc/openvpn --config /etc/openvpn/AVinfraestructure.confroot      18131  17833  0 11:36 pts/3    00:00:00 grep --color=auto openvpn

查看AVinfraestructure.conf文件的內容

#cat  /etc/openvpn/AVinfraestructure.confport 33800proto tcpdev tunserver 10.67.68.0 255.255.255.0            //為客戶端設定IP網段

//服務器端OpenVPN證書文件統一放置在/etc/openvpn/AVinfraestructure/keys/目錄之中

ca /etc/openvpn/AVinfraestructure/keys/ca.crtcert /etc/openvpn/AVinfraestructure/keys/alienvcd.crtkey /etc/openvpn/AVinfraestructure/keys/alienvcd.keydh /etc/openvpn/AVinfraestructure/keys/dh2048.pemuser nobody      //啟動VPN進程的用戶和組名稱, openVPN服務使用nobody用戶和nogroup組運行服務group nogroupverb 3mute 20keepalive 10 120client-config-dir /etc/openvpn/ccd   //定義服務器讀取特殊客戶端配置文件的目錄為ccdcomp-lzopersist-keypersist-tunccd-exclusiveclient-to-clientreneg-sec 300

配置文件中有關ccd目錄的解釋:

OSSIM-Server:/etc/openvpn/ccd# cat 192.168.109.190 ifconfig-push 10.67.68.10 10.67.68.11

從上面可以分析出,/etc/openvpn/ccd/192.168.109.190文件的作用就是要將配置文件推送到190這臺客戶端上。推送文件(/etc/openvpn/nodes/192.168.109.190.tar.gz)在服務器端,采用壓縮包方式存在,系統會自動將這個壓縮文件推送到190這臺主機,并自動解壓縮。

防火墻規則產生的變化?

在VPN客戶端配置完成之后,為了確保通信正常,OSSIM端系統會自動對iptabls規則進行調整。例如/etc/iptables/rules0101-redis-server-otx.iptables文件會自動增加下面兩行規則:?

-A INPUT -p tcp -m state --state NEW -m tcp --dport 6380 -s 10.67.68.10 -j ACCEPT?-A INPUT -p tcp -m state --state NEW -m tcp --dport 6380 -s 10.67.68.1 -j ACCEPT?

步驟4:在Sensor上啟動VPN服務

具體步驟同步驟 3

步驟5:在Server上配置VPN 客戶端

這里所指配置VPN客戶端是在服務器控制臺上添加192.168.109.190的客戶端。

依次按照如下順序選擇菜單:

System Preferences →Configure Network → Setup VPN →Configure VPN client

這里IP地址填寫Sensor的IP。提示輸入口令輸入Sensor的root用戶口令。

接著系統開始添加VPN客戶端

通過上述提示我們可以發現,客戶端添加成功。退后系統彈出如下界面:

步驟6:在Sensor上進行驗證

觀察接口?

在Sensor上輸入ifconfig命令

alienvault:~# ifconfig eth0: flags=4419  mtu 1500        inet 192.168.109.190  netmask 255.255.255.0  broadcast 192.168.109.255        inet6 fe80::20c:29ff:feb5:9b2  prefixlen 64  scopeid 0x20        ether 00:0c:29:b5:09:b2  txqueuelen 1000  (Ethernet)        RX packets 30650  bytes 22213491 (21.1 MiB)        RX errors 0  dropped 0  overruns 0  frame 0        TX packets 4111  bytes 1033375 (1009.1 KiB)        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73  mtu 65536        inet 127.0.0.1  netmask 255.0.0.0        inet6 ::1  prefixlen 128  scopeid 0x10        loop  txqueuelen 1  (Local Loopback)        RX packets 13716  bytes 659416 (643.9 KiB)        RX errors 0  dropped 0  overruns 0  frame 0        TX packets 13716  bytes 659416 (643.9 KiB)        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0tun0: flags=4305  mtu 1500        inet 10.67.68.10  netmask 255.255.255.255  destination 10.67.68.11        inet6 fe80::bcf0:29ac:8262:9859  prefixlen 64  scopeid 0x20        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 100  (UNSPEC)        RX packets 0  bytes 0 (0.0 B)        RX errors 0  dropped 0  overruns 0  frame 0        TX packets 0  bytes 0 (0.0 B)        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

觀察通訊端口:?

alienvault:~# netstat -na | grep 33800tcp        0      0 192.168.109.190:50348   192.168.109.180:33800   ESTABLISHED

查看路由?

Sensor1:~# ip routedefault via 192.168.109.2 dev eth0 onlink 10.67.68.0/24 via 10.67.68.11 dev tun0 10.67.68.11 dev tun0 proto kernel scope link src 10.67.68.10 192.168.109.0/24 dev eth0 proto kernel scope link src 192.168.109.190OSSIM-Server:~# ip routedefault via 192.168.109.2 dev eth0 onlink 10.67.68.0/24 via 10.67.68.2 dev tun0 10.67.68.2 dev tun0 proto kernel scope link src 10.67.68.1 192.168.109.0/24 dev eth0 proto kernel scope link src 192.168.109.180

觀察openvpn進程?

Sensor1:/etc/openvpn# ps -ef |grep openvpnnobody     1860      1  0 23:01 ?        00:00:00 /usr/sbin/openvpn --writepid /run/openvpn/192.168.109.190.pid --daemon ovpn-192.168.109.190 --status /run/openvpn/192.168.109.190.status 10 --cd /etc/openvpn --config /etc/openvpn/192.168.109.190.conf

說明:Sensor(192.168.109.190)上產生的證書文件和配置文件

/usr/sbin/openvpn進程會調用/etc/openvpn/192.168.109.190.conf這個配置文件,然后啟動一個進程。

配置文件192.168.109.190.conf?

我們首先查看該文件的內容:

#cat /etc/openvpn/192.168.109.190.conf

步驟7:在Sensor上發起連接到Server的請求

從瀏覽器登錄Web UI

見到下圖后,說明添加Sensor成功。

在WebUI中查看

觀察遠程Sensor狀態

觀察Server裝態

總 結

經過以上七個步驟Server和Sensor之間通過VPN建立的加密通道已經建立。剛安裝完成的系統默認主機名都是alienvault,為了便于觀察我們登錄終端修改計算機名稱將Sensor改為Sensor1,Server改名為OSSIM-Server,在步驟3完成之后,Web UI中我們可以觀察alienvault主機的狀態。

備注:搭建好的系統截圖可供大家實驗參考

2022年51CTO學堂講師評選正在進行中,希望各位投上寶貴一票。

??https://edu.51cto.com/lecturer/350944.html???

(以用戶ID登錄并進行投票)

標簽: 配置文件 服務器端 系統會自動

上一篇:紅外線熱成像儀對比紅外測溫儀怎么樣(紅外熱成像儀與紅外測溫儀區的區別)
下一篇:48-Docker-多容器數據共享及持久化