本實作利用Linux虛擬機實作虛擬網路流量複製器,將實體機內部Inter-VM的東、西向流量複製出來,並透過GRETAP隧道傳送至外部資安偵測設備,進行惡意行為檢測,提升虛擬網路可視性
系統架構如下
安裝Traffic Replicator
OS : Ubuntu 22.04.2 LTS
作業系統網路配置
VM網路卡配置
OS : Ubuntu 22.04.2 LTS
作業系統網路配置
本實作利用Linux虛擬機實作虛擬網路流量複製器,將實體機內部Inter-VM的東、西向流量複製出來,並透過GRETAP隧道傳送至外部資安偵測設備,進行惡意行為檢測,提升虛擬網路可視性
系統架構如下
安裝Traffic Replicator
OS : Ubuntu 22.04.2 LTS
作業系統網路配置
VM網路卡配置
OS : Ubuntu 22.04.2 LTS
作業系統網路配置
curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
chmod +x openvpn-install.sh
執行自動腳本,安裝過程會產生OpenVPN客戶端配置文件,、。
./openvpn-install.sh
設定開機自動執行OpenVPN Server
sudo systemctl enable openvpn
sudo systemctl status openvpn
sudo systemctl restart openvpn
sudo systemctl start openvpn
sudo systemctl stop openvpn
於Windows 10客戶端上安裝OpenVPN客戶端Community Edition
匯入OpenVPN客戶端配置文件即可連線成功
安裝OpenVPN LDAP package
sudo apt install openvpn-auth-ldap
複製LDAP設定檔
cp -v /usr/share/doc/openvpn-auth-ldap/examples/auth-ldap.conf /etc/openvpn/auth/auth-ldap.conf
修改LDAP設定檔
sudo vi /etc/openvpn/auth/auth-ldap.conf
URL ldap://x.x.x.x
BindDN "CN=openvpn,CN=xxx,DC=xxx,DC=xxx,DC=xxx,DC=xxx,DC=xxx"
Password xxx
TLSEnable no
BaseDN "CN=xxx,DC=xxx,DC=xxx,DC=xxx,DC=xxx,DC=xxx"
SearchFilter "(cn=%u)"
修改OpenVPN伺服器端配置文件
sudo vi /etc/openvpn/server.conf
#user nobody
#group nogroup
push "dhcp-option DNS 140.110.16.1"
push "dhcp-option DNS 140.110.4.1"
push "redirect-gateway def1 bypass-dhcp"
push "route 10.100.0.0 255.255.0.0"
status /var/log/openvpn/status.log
verb 3
#log /var/log/openvpn/openvpn.log
log-append /var/log/openvpn/openvpn.log
plugin /usr/lib/openvpn/openvpn-auth-ldap.so /etc/openvpn/auth/auth-ldap.conf
#client-cert-not-required
client-connect /etc/openvpn/script/connect.sh
client-disconnect /etc/openvpn/script/disconnect.sh
duplicate-cn
修改OpenVPN客戶端配置文件
auth-user-pass
client
proto udp
explicit-exit-notify
ignore-unknown-option block-outside-dns
#setenv opt block-outside-dns # Prevent Windows 10 DNS leak
verb 3
route-nopull
route 10.100.0.0 255.255.0.0 vpn_gateway
參考:https://medium.com/@hiranadikari993/openvpn-active-directory-authentication-726f3bac3546
https://gitlab.mirhosting.com/root/zabbix-iperf
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
sudo service nginx restart
2. 設定Palo Alto Firewall SSL Inbound Inspection
sudo mkdir /etc/nginx/ssl/output
openssl pkcs12 -in nginx.crt -inkey nginx.key -export -out output/nginx.pfx -password pass:xxxxxxxx
cd output
openssl pkcs12 -in nginx.pfx -nokeys -password "pass:xxxxxxxx" -out - 2>/dev/null | openssl x509 -out server.crt
openssl pkcs12 -in nginx.pfx -nocerts -password "pass:xxxxxxxx" -out server.key
3. Enable Anti-Virus/Anti-Spyware
想在 CentOS7 使用 Python3 是有點小麻煩的。
RedHat 的套件政策是:主版本週期定為 10 年,主版本釋出後,所包含的套件都會維持主版本不變;例如:CentOS7 內含的 Python 版本是 2.7,在這 10 年間,Python 的版本就會是 2.7.x 的更新。
Python 因為太好用,所以許多套件將 Python 綁在一起,如果想要移除 Python2,會因為套件的相依性而連帶移除了其他原本不想或不能移除的套件!例如:重要的套件管理 yum。
但是,10 年是會有滄海滄田的變化的,雖然 RedHat / CentOS 的主要對象是企業,企業重視系統的穩定使用,同時也希望在下一個主版本釋出前,可以對新工具 / 新功能進行 開發 / 測試 / 研究 / 實驗。
RedHat 聽到了企業的聲音,推出了 Software Collections(SCL),SCL 包含了新的套件可供安裝,其中 Python3 的版本,目前更新到 3.6。
[root]# vi /etc/yum.repos.d/CentOS-Base.repo
→ 找到 [extras]
→ 將 enabled 值改成 1
→ :x 存檔離開
[root]# yum install centos-release-scl
偷懶,安裝所有以 rh-python36 字首的套件 :-P
[root]# yum install rh-python36*
此時 Python2 與 Python3 是 並存 於 CentOS7 內的,這時若查詢系統預設執行的 Python 版本
[root]# python --version
會回應顯示 python 2.7.5
若要以 Python3 執行,則要先下指令:
[root]# scl enable rh-python36 bash
再查詢一次
[root]# python --version
這次就會回應 python 3.6.3
但因為 SCL 原意就是讓我們可以同時使用 Python2 和 Python3,所以當您 登出 或 重新開機,預設要執行的 Python 版本又會回到 2.7。
若要每一次登入,預設執行的 Python 版本都是 Python3,方法如下(不過 RedHat 也說這是解套方法,他們還沒想出正解):
建立 rh-python36.sh
[root]# vi /etc/profile.d/rh-python36.sh
#!/bin/bash
source scl_source enable rh-python36
:x 存檔離開
登出系統,再重新登入
[root]# python --version
系統就會回應
python 3.6.3
方法二:
Python3 會安裝在下述的路徑
/opt/rh/rh-python36/root/bin/python
在您撰寫的 python 程式的第一行指定要執行的 Python 直譯器
例如,您的程式名為 test.py
#!/opt/rh/rh-python36/root/bin/python
import sys
import platform
print(platform.python_version())
然後,變更 test.py 的屬性為可執行
[root]# chmod a+x test.py
這樣,您的程式會變成可執行檔
執行方式為:切換到 test.py 所在的目錄下,直接執行 test.py
[root]# ./test.py