安全加固方案
致謝保護出塊伺服器正常通訊與執行
增強初始主網整體抗攻擊能力
保護節點安全
對初始狀態主網進行 ddos
rpc 功能濫用
通訊故障
bp 伺服器隔離
多跳轉節點(小節點流量**,大節點高防護)
多鏈路高可用
預設關閉 rpc。必須開啟時,混淆埠,並架設高防等保護
bp 通訊多鏈路設計
架構說明:
為了應對可能的 ddos 攻擊,節點應準備多條鏈路,在攻擊到來後,可以隨時通過備用鏈路進行通訊,確保主網順利啟動,並持續出塊。
假如私密 full node 的 ip 也被攻擊者獲知(例如掃瞄全網所有 ipv4 位址)並遭遇 ddos 攻擊導致節點間無法正常通訊,此時可通過 vpn 加密鏈路連線到虛擬內網,確保 21 個超級節點之間不間斷的正常通訊。
1. 公開節點(對外公開在社群節點列表裡)
在沒有攻擊情況下,外圍節點通過對外公布的公開節點進行通訊。
2. 私密節點(只對其他可信bp節點私密分享的通訊節點)
當攻擊者通過公開的節點列表攻擊公開節點造成公開節點不可用時,則可通過私密節點進行通訊。(私密節點可被全網掃瞄發現,所以並不是完全安全)
3. vpn 加密節點(各可信節點間最後的秘密的通訊通道)
當公網節點都被發現,並且攻擊者進行攻擊導致對公網 full node 伺服器全部阻塞,最後則由私有 vpn 網路在隔離的虛擬內網內進行通訊,保證最基礎的出塊正常。
4. rpc api 節點
查詢用 rpc 所在 full node 與 bp 完全隔離並架設防禦,保證外網對 rpc 的攻擊不能影響到 bp。
1.1 遮蔽 rpc
如無必要,建議禁止 rpc 對外訪問,config.ini配置內容如下:
1.2 開啟 ssl
如果確實需要對外提供 rpc 服務,建議禁用 http 協議,使用 https,config.ini配置內容如下:
1.3 禁用 wallet_plugin 和 wallet_api_plugin
在對外提供 rpc 服務的場景下,一定不要載入 wallet_plugin 和 wallet_api_plugin。如果載入了wallet_plugin 和 wallet_api_plugin,攻擊者就可以通過 rpc api /v1/wallet/list_keys 獲取已解鎖賬戶的私鑰。此外,攻擊者還可以惡意迴圈呼叫/v1/wallet/lock_all使節點上的賬戶無法解鎖。
1.4 禁用producer_api_plugin
在對外提供 rpc 服務的場景下,一定不要載入 producer_api_plugin。如果載入了producer_api_plugin,攻擊者就可以通過 rpc api /v1/producer/pause 遠端控制節點停止生產。
2.1 生成 active 多簽金鑰
由於超級節點賬戶的公私鑰明文配置在config.ini中,存在較大的風險,建議對這個賬戶生成 active 多簽,提高資產轉出門檻。舉例如下:
授予 shrimp2 和 shri*** 擁有 shrimp1 的許可權cleos set account permission shrimp1 active '],"accounts":[,"weight":1},,"weight":1}],"waits":}' owner2.2 開啟日誌記錄在配置檔案中配置logconf引數,記錄必要的 rpc 請求日誌。
2.3 docker 預設引數優化
官方倉庫中的配置過於寬泛,載入了wallet_api_plugin等外掛程式,存在較大風險(官方已優化),建議在docker build之前修改配置。
2.4 max-clients引數優化
在配置檔案中配置max-clients = 0 提公升 p2p 埠併發連線數為無限制,同時優化ulimit系統引數和核心引數,增強惡意連線攻擊承受能力。
官方在 這個提交中修復了p2p單節點惡意連線的問題,並新增了預設配置max_nodes_per_host = 1。所以max-clients不需要設定為0,可以根據節點效能酌情配置。
2.5 非 root 啟動 nodeos
建議編譯完成後,建立普通使用者賬號,並使用該賬號啟動 nodeos,避免使用 root,降低風險。
2.6 監聽隨機埠
每次啟動會隨機監聽乙個埠,如果是對外服務的,建議採用 主機安全 中的配置方法
3.1 網路架構
為應對可能的 ddos 攻擊導致節點主網路阻塞的問題,建議提前配置備份網路,例如私密 vpn 網路。具體可參考 eos asia 的架構圖:
3.2 雲服務商
經慢霧安全團隊測試,google cloud、aws 及 ucloud 等具有更好的抗 ddos 攻擊的效能,並且在 ddos 攻擊過後服務商不會臨時封鎖伺服器,可以極為快速的恢復網路訪問,推薦超級節點使用。(請謹慎選擇雲服務商,許多雲服務商在遭遇 ddos 等攻擊時會直接關閉伺服器)
3.3 ddos 防禦
為應對可能發生的 ddos 攻擊,建議超級節點提前配置 cloudflare、aws shield 等 ddos 高防服務。
在此非常感謝
等社群節點參與到節點安全測試中,為社群安全積累了寶貴的資料。
為什麼硬碟隨機讀寫超慢,而順序讀寫超快
我們都知道硬碟順序讀寫很快,像hdd硬碟都能達到20萬每秒的iops,而隨機讀寫按照7200轉的hdd的iops在100左右,為什麼那?要搞清楚這個問題需要我們先來對磁碟有乙個基本的認識 一 磁碟的基本了解 基本的基本組成部分,磁碟主要有盤面 磁頭 懸臂組成如下圖 柱面 有上下大小相等的盤面的扇面組...
Guid作主鍵速度超慢的背後
最近遇到了乙個讓人抓狂的效能問題。生產環境裡有一張表的資料量目前達到了 70 萬條。結果發現無論是匹配主鍵的查詢還是更新,執行一條語句居然需要 3.5 秒!如果把 nh prof 中截獲的 sql 語句拿到 pl sql developer 裡執行,就只需幾十毫秒。一開始還以為是nh的問題,後來發現...
windows 網路共享傳送檔案超慢
這可是無線區域網,竟然只有 200k s.調查經過 1 問題是單向的,b a 沒有問題,a b就出事 2 只發生在 windows網路共享,a上裝了apache測試,a b的http傳輸很快 3 網上查到類似win7的bug,用windows update打上補丁,結果windows認出了我用盜版,...