CentOS 的docker 若綁定Internet IP , 要注意是否開放對外服務
例如 docker 安裝 mariadb service , 要記得不要開放到internet
iptables -I DOCKER 1 -i <對外網卡代號> -p tcp --dport 3306 -j DROP
例如 docker 安裝 mariadb service , 要記得不要開放到internet
iptables -I DOCKER 1 -i <對外網卡代號> -p tcp --dport 3306 -j DROP
1.下載 pfsense 軟體防火牆套件 https://www.pfsense.org/ 2.安裝pfsense(server端)(假設內部網段是10.192.130.0/24) 至少要有兩個網卡,一個要有固定ip, 另一個是內部網路(假設是10.192.130.212) 2.1 安裝很簡單, 重點在於搞定兩個網卡ip,搞定後就能用使用瀏覽器,經由內部網路ip, 連上pfsense 2.2 連上pfsense後, 取消硬體checksum System->Advanced->Networking Hardware Checksum offloading選項打勾(這部分我浪費三天三夜, 若沒打勾會嚴重影響效能) 2.3 連上pfsense後, 啟用CPU硬體加密功能 System->Advanced->Miscellaneous Cryptographic Hardware 選擇AES-NI CPU-based Acceleration 這部分比較特別,若pfsense裝在promox ve上, vm要記得開啟AES-NI功能, esxi好像預設就開啟 ps. 這時候建議pfsense重開一下 2.4 安裝openvpn(server) VPN->OpenVPN->Servers 新增OpenVPN Servers , 需要輸入的地方如下,其他都是預設 (1) Server Mode 選 Peer to Peer(Shared Key) (2) local port 預設是1194請改成其他減少被擋或被駭的機率 (3) Hardware Crypto 任選一種硬體加密(若可以選的話) (4) IPv4 Tunnel Network 輸入172.26.0.0/24 (5) IPv4 Remote network(s) 輸入client端的內部網路 , 如192.1.0.0/24 (6) Save (7) 重新看剛剛的設定,複製preshared key(Save之後才會產生),要複製到pfsense client端使用 2.5 Firewall -> Rules 到 WAN 新增 any source 的規則, 到OpenVPN 也新增 any source的規則 3.安裝pfsense(client端)(假設內部網段是192.1.0.0/24) 至少要有兩個網卡,兩個都是內部網路,同網段也ok 3.1 安裝很簡單, 重點在於搞定兩個網卡ip,這兩個網卡ip可以同一個網段, 一個當WAN,一個當LAN(假設是192.1.0.3). 搞定後就能用使用瀏覽器,經由內部網路ip, 連上pfsense 3.2 同步驟2.2 3.3 同步驟3.2 ps. 這時候建議pfsense重開一下 3.4 安裝openvpn(client) VPN->OpenVPN->Clients 新增OpenVPN Clients , 需要輸入的地方如下,其他都是預設 (1) Server Mode 選 Peer to Peer(Shared Key) (2) Interface 選 any (3) Server host or address 輸入server端對外的ip (4) server port 輸入server端設定port (5) Shared Key 請輸入server端複製的Shared Key (6) Hardware Crypto 任選一種硬體加密(若可以選的話) (7) IPv4 Tunnel Network 輸入172.26.0.0/24 (8) IPv4 Remote network(s) 輸入server端內部網路 , 如10.192.130.0/24 (6) Save 3.5 Firewall -> Rules 到 WAN 新增 any source 的規則, 到OpenVPN 也新增 any source的規則 4.Status->OpenVPN 查看能不能連線成功 5.pfsense(server) 新增路由,假設server所在內部網路gateway是10.192.130.1 請在該gateway上新增目的地192.1.0.0/24,要經由10.192.130.212出去(依照以上例子) 6.pfsense(client) 新增路由,假設client所在內部網路gateway是192.1.0.1 請在該gateway上新增目的地10.192.130.0/24,要經由192.1.0.3(依照以上例子) — Pfsense 2.4.5 William 20200422
安裝v2ray之前,你必須符合以下基本技術基礎
你也必須準備以下軟硬體
開始安裝
1. 安裝v2ray
到這個神人網站 https://github.com/sprov065/v2-ui/
一鍵安裝
bash <(curl -Ls https://blog.sprov.xyz/v2-ui.sh)
2. 安裝完畢網站預設是 http://ip:65432 預設帳號密碼都是admin , 記得登入修改密碼
3. 以下示範兩種連線, 一種http/2(h2), 另一種透過apache httpd(port 443)代理連到後端websocket
3.1 設定 h2 連線
Server:
client:
v2ray初體驗-使用v2-ui初階安裝
3.2
Server 設定:
Clinet 設定:
websocket , port 用443, 要輸入tls
apache httpd 設定:
ServerName xxx
ErrorLog /var/log/httpd/ssl_error_log1
TransferLog /var/log/httpd/ssl_access_log1
SSLEngine On
SSLProxyEngine On
SSLCertificateFile /etc/letsencrypt/live/xxx/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/xxx/privkey.pem
SSLCACertificateFile /etc/letsencrypt/live/xxx/fullchain.pem
## v2-ui management
RewriteEngine On
ProxyPass / http://localhost:65432/
ProxyPassReverse / http://localhost:65432/
## server
RewriteRule /ray/(.*) ws://localhost:1234/$1 [P,L]
RewriteCond %{HTTP:Upgrade} =websocket [NC]
ProxyPass /ray/ http://localhost:1234/
ProxyPassReverse /ray/ http://localhost:1234/
4. 心得
若是使用3.1 , 使用httpd/2的方式
若是使用3.2可以看起來像是https的存取
5. 額外指令
v2-ui - 显示管理菜单 (功能更多) v2-ui start - 启动 v2-ui 面板 v2-ui stop - 停止 v2-ui 面板 v2-ui restart - 重启 v2-ui 面板 v2-ui status - 查看 v2-ui 状态 v2-ui enable - 设置 v2-ui 开机自启 v2-ui disable - 取消 v2-ui 开机自启 v2-ui log - 查看 v2-ui 日志 v2-ui update - 更新 v2-ui 面板 v2-ui install - 安装 v2-ui 面板 v2-ui uninstall - 卸载 v2-ui 面板
最近出了一次差,才發現翻牆其實很重要, 但是我自己個人翻牆簡單,別人卻很難, 只好想辦法改造小米路由器(mini),讓夥伴都能一起科技翻牆.
本文只列出重要步驟:
firewall-cmd 是新版的防火牆指令,CentOS 7版也開始使用
那如何在新增NAT功能呢? 只要加上一行指令就好了
firewall-cmd --permanent --zone=public --add-masquerade
1. 特定port轉到內部某ip的port
firewall-cmd --add-rich-rule="rule family=ipv4 forward-port port=8080 protocol=tcp to-port=8080 to-addr=192.168.1.1" --zone=public --permanent
2. 特定ip,特定port轉道內部某ip的port
firewall-cmd --add-rich-rule="rule family=ipv4 source address=x.x.x.x forward-port port=8080 protocol=tcp to-port=8080 to-addr=192.168.1.1" --zone=public --permanent
咖啡偶上班的公司使用fortigate 80c , 已經很久沒更新了, 也沒使用到一些特異功能, 甚至vpn也關掉避免安全性問題發生.
可是呢, 公司高層忽然想看同仁上網行為, 身為IT人員當然要接受而且拒絕,
何謂接受呢?就是我能做到基本綜合統計,例如流量,瀏覽網頁數量與上網時間.
其實就是委婉拒絕, 理由:
1.拿個資法來向上管理
2.以系統老舊,無法提供詳細的網站行為分析( 除非花個2,30萬買設備,外加每年15%的維護費用,這時候通常上頭就退縮了).
接下來, 若高階主管想看統計資料的時候跟我要,而不是隨時可以看,並且要給我一個合理的理由,例如:上班時間上網,然後狂加班之類的.
好了, 話不多說, fortigate 能將log透過udp 514 port導到能接收的主機上, 咖啡偶使用 CentOS 6接收,
如何開啟fortigate就不多講了, 因為版本複雜. 這裡只講CentOS6設定
修改/etc/rsyslog.conf, 開啟udp 514監聽功能,並且寫下過濾規則
#### MODULES ####
# 聆聽 UDP/514
$ModLoad imudp
$UDPServerRun 514
#### RULES ####
# 若 facility 為 local6 且內容含 traffic 記錄到 /var/log/fortigate.log
if $syslogfacility-text == 'local6' and $msg contains 'traffic' then /var/log/fortigate.log
這樣相關的log都會被記錄下來, 再使用Sawmill這套軟體分析fortigate的log, 就可以交差了
CentOS 7 預設防火牆的區域為public , 若我們有兩個網路卡, 一個接內部一個接外部.
這時候就必須區分內外, 對外還是public , 對內就是trusted
使用ifconfig 找出對內網卡代號 xxx
firewall-cmd --permanent --zone=trusted --change-interface=xxx firewall-cmd --reload
sshd port 預設是22 , 因為容易被入侵, 因此需要變更
1.修改 /etc/ssh/sshd_config, 將port 22改成想要的,例如2244
2.允選使用2244
semanage port -a -t ssh_port_t -p tcp 2244
3.加上防火牆後,重新開機
firewall-cmd --permanent --zone=public --add-port=2244/tcp