前言
我們的「友誼」始於兩年前。 我來到了一個新的工作地點,之前的管理員隨手把這個軟體留給了我作為遺產。 除了官方文件之外,我在網路上找不到任何內容。 即使是現在,如果你用谷歌搜尋“舵”,99% 的情況下它都會出現:船舵和四軸飛行器。 我設法找到了接近他的方法。 由於這個軟體的社群可以忽略不計,我決定分享我的經驗和耙子。 我認為這對某人有用。
故舵
Rudder 是一個開源審計和配置管理實用程序,有助於自動化系統配置。 它的工作原理是為每個最終用戶安裝代理程式。 透過方便的介面,我們可以監控我們的基礎設施遵守所有指定策略的程度。
使用
下面我將列出我使用 Rudder 的用途。
-
檔案和配置的控制: ./ssh/authorized_keys ; /etc/主機; iptables; (然後你的想像力會引導到哪裡)
-
控制已安裝的軟體包:zabbix.agent或任何其他軟體
伺服器安裝
最近我從版本5更新到6.1,一切順利。 以下是 Debian/Ubuntu 的命令,但也有支援:
我會將裝置隱藏在劇透中,以免分散您的注意力。
擾流板
依賴項
rudder-server 需要 Java RE 至少版本 8,可以從標準儲存庫安裝:
檢查是否已安裝
java -version
如果結論
-bash: java: command not found
然後安裝
apt install default-jre
服務器
導入金鑰
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
這是列印本身
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
由於我們沒有付費訂閱,因此我們添加以下存儲庫
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
更新儲存庫清單並安裝伺服器
apt update
apt install rudder-server-root
建立使用者管理員
rudder server create-user -u admin -p "Ваш Пароль"
以後我們可以透過config來管理用戶
就這樣,伺服器準備好了。
服務器調整
現在需要將代理程式或整個子網路的IP位址加入到舵代理中,我們專注於安全策略。
設定->常規
在「新增網路」欄位中,以 xxxx/xx 格式輸入位址和遮罩。 為了允許來自內部網路的所有位址的存取(當然,除非這是測試網路並且您位於 NAT 之後),請輸入:0.0.0.0/0
重要提示 - 新增 IP 位址後,不要忘記點擊“儲存變更”,否則將不會儲存任何內容。
港口
在伺服器上開啟以下連接埠
-
443 - TCP 協定
-
分段閱讀_第 5309 章
-
514 - UDP
我們已經整理好了初始伺服器設定。
代理安裝
擾流板
新增密鑰
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
鑰匙指紋
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
新增儲存庫
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
安裝代理
apt update
apt install rudder-agent
代理設定
我們向代理指示策略伺服器的 IP 位址
rudder agent policy-server <rudder server ip or hostname> #Без скобок. Можно также использовать доменное имя
透過執行以下命令,我們將向伺服器發送新增代理程式的請求,幾分鐘後它將出現在新代理程式清單中,我將在下一節中解釋如何新增
rudder agent inventory
我們也可以強制代理啟動,它會立即發送請求
rudder agent run
我們的代理已建立,讓我們繼續。
添加劑
登入
https://127.0.0.1/rudder/index.html
您的代理程式將出現在“接受新節點”部分中,選取該方塊並按一下“接受”
系統檢查伺服器是否合規需要一些時間
建立伺服器群組
讓我們創建一個群組(這仍然是娛樂),不知道開發者為什麼要進行如此令人髮指的群組形成,但據我了解,沒有其他辦法。 前往節點管理 -> 群組部分,然後按一下創建,選擇靜態群組和名稱。
我們透過特殊功能(例如ip位址)過濾我們需要的伺服器,並保存
群成立了。
制定規則
前往配置策略→規則並建立新規則
添加之前準備好的組(這可以稍後完成)
我們制定了一項新指令
讓我們建立一個指令,將公鑰加入 .ssh/authorized_keys 中。 當新員工離開時,或為了再保險,例如,如果有人不小心切斷了我的鑰匙,我會使用它。
進入設定策略→指令,左側我們看到“指令庫”找到“遠端存取→SSH授權金鑰”,右側點擊建立指令
我們輸入有關用戶的資訊並添加他的密鑰。 接下來,選擇應用策略
-
全域 - 預設策略
-
強制 - 在選定的伺服器上執行
-
審計 - 將進行審計並告知哪些客戶擁有密鑰
請務必註明我們的規則
然後儲存就完成了。
檢查
密鑰新增成功
包子
代理提供有關伺服器的完整資訊。 已安裝的軟體包、介面、開放連接埠等的列表,您可以在下面的螢幕截圖中看到
不僅可以在Linux上安裝和控制軟體,還可以在Windows上安裝和控制軟體,後者我沒有檢查,沒有必要。
來自作者
你可能會問,既然 ansible 和 puppet 早就被發明了,為什麼還要重新發明輪子呢?
我回答:Ansible 有一些缺點,例如,我們看不到這個配置現在處於什麼狀態,或者當您啟動角色或劇本並出現崩潰錯誤時熟悉的情況,然後您開始爬到伺服器上並看到哪個套件更新在哪裡。 我只是不跟木偶一起工作..
舵有什麼缺點嗎? 很多..從代理脫落的事實開始,你必須重新安裝它們或使用舵重置命令。 (但順便說一句,我在版本 6 中還沒有看到這一點),導致極其複雜的設定和不合邏輯的介面。
有什麼優點嗎? 而且還有很多優點:與眾所周知的 Ansible 不同,我們有一個 Web 介面,您可以在其中看到我們應用的合規性。 例如,連接埠是否伸向世界,防火牆的狀態如何,是否安裝了安全代理或其他小工具。
該軟體非常適合資訊安全部門,因為基礎設施的狀態始終在您的眼前,如果任何規則亮起紅色,那麼這就是訪問伺服器的原因。 正如我所說,我已經使用 Rudder 兩年了,如果你抽一點,生活就會變得更好。 在大型基礎設施中最困難的事情是你不記得伺服器處於什麼狀態,June 是否錯過了安裝安全代理程式或他是否正確配置了 iptables,但是 rudder 將幫助你隨時了解所有事件。 意識到意味著武裝! )
PS 結果比我計劃的要多得多,我不會描述如何安裝軟體包,如果突然有請求,我會寫第二部分。
PSS 這篇文章僅供參考,因為網路上的資訊很少,所以我決定分享它。 也許有人會對此感興趣。 祝你有美好的一天,親愛的朋友)
論廣告的權利
史詩級伺服器 -
來源: www.habr.com