<pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
    <pre id="vvttv"></pre>

      <p id="vvttv"></p>

          <p id="vvttv"></p>

                <p id="vvttv"></p>

                <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                  <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                    <p id="vvttv"></p>

                    原文地址:http://drops.wooyun.org/%e8%bf%90%e7%bb%b4%e5%ae%89%e5%85%a8/9424

                    0x00 前言


                    最近也在研究ossec報警規則,還沒研究的很透徹,暫時不是這篇文章的內容。ossec中文資料還是比較少,外文文獻比較多。之前看到drops的兩篇文章分享http://drops.wooyun.org/tips/2821http://drops.wooyun.org/tips/636,看到評論都說批量部署是個坑,比較麻煩。現在說下我的方案,如何批量安裝部署客戶端。對大家有幫助,可以解決大家在批量部署過程遇到的問題。

                    0x01 服務端配置


                    服務端IP:192.168.145.128

                    服務端安裝可參考http://drops.wooyun.org/tips/636,不在這篇文章討論范圍。因為ossec服務端與客戶端是基于key認證傳輸信息的,所以服務端需為客戶端生成相應的key。對于大企業來說每臺主機都有一個主機名,假如我們把這樣的服務器信息保存到ip.txt文本里面。

                    ip.txt內容格式如下:

                    ...
                    host_name:ip
                    host_name:ip
                    host_name:ip
                    host_name:ip
                    ...
                    

                    這樣的信息對,在大企業里面可通過api直接獲取得到。

                    接著利用腳本,批量為每條記錄生成key。key_gen.py:

                    #!python
                    import os    
                    
                    if __name__ == '__main__':
                        save_keys_path = "keys.logs"
                        f = open("ip.txt")
                        lines = f.read().splitlines()
                    f.close()
                    #perl文件在安裝包里面
                        shell_path ="/usr/src/ossec-hids-2.7.1/contrib/ossec-batch-manager.pl"
                        for line in lines:
                            arr = line.split(":")
                            host_name = arr[0]
                            ip = arr[1]
                            #服務端根據name和ip添加客戶端
                            cmd = "%s -a --ip %s --name %s" % (shell_path,ip,host_name)
                            os.system(cmd)
                            cmd = "%s -e %s >> %s" % (shell_path,ip,save_keys_path)
                            os.system(cmd)
                    

                    執行完后查看服務端安裝目錄下的client.keys文件,默認為/var/ossec/etc/client.keys先把這個文件拷貝到web服務器或者ftp服務器方便客戶端下載

                    0x02 客戶端agent批量部署


                    agent群體比較大,批量部署需要面臨兩個問題:

                    1) 安裝程序安裝基于對話模式,怎么處理使它順序安裝,沒有對話模式。

                    2) 客戶端agent對應key導入問題。

                    3) 客戶端配置ossec.conf統一配置。

                    對于問題1)修改安裝包預配置文件/ossec-hids-2.7.1/etc/preloaded-vars.conf,設置變量的值,方可以使其順序安裝。

                    去掉一些注釋,使其賦值,就不用通過對話模式進行賦值了。

                    把修改后的文件preloaded-vars.conf拷貝到之前的ftp服務器或者web服務器下方便客戶端下載

                    對于問題2) 只需要剛才的ftp服務器或者web服務器下載client.keys,然后根據自己本地的ip獲取對應的key記錄,這個不難。

                    對于問題3) 在一臺客服端生成一份統一的ossec.conf,上傳到之前web服務器或者ftp服務器,方便其他客戶端下載。

                    至此,客戶端部署腳本應該滿足上面點,具體腳本如下:

                    ossec-agent-batch-install.sh文件內容如下:

                    #!bash
                    #!/bin/bash    
                    
                    cd /usr/local
                    wget -U "Mozillai/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.101 Safari/537.11"  http://www.ossec.net/files/ossec-hids-2.7.1.tar.gz    
                    
                    tar -zxvf ossec-hids-2.7.1.tar.gz     
                    
                    cd ossec-hids-2.7.1    
                    
                    cd etc    
                    
                    mv preloaded-vars.conf preloaded-vars.conf.bak    
                    
                    #從服務端下載預配置文件,用于順序安裝,不基于對話模式
                    wget http://192.168.145.128/preloaded-vars.conf
                    #開始安裝
                    ../install.sh    
                    
                    cd /var/ossec/etc    
                    
                    #下載key文件,下面主要導入key
                    wget http://192.168.145.128/client.keys    
                    
                    ip1=`/sbin/ifconfig eth0|sed -n '2p' |awk -F: '{print $2}'|awk '{print$1}'`
                    #ip2=`/sbin/ifconfig eth1|sed -n '2p' |awk -F: '{print $2}'|awk '{print$1}'`
                    #主要針對服務器網卡是eth0還是eth1不同操作
                    sed -i '/'$ip1'/!'d /var/ossec/etc/client.keys    
                    
                    
                    rm -rf ossec.conf
                    #下載客戶端統一配置文件
                    wget http://192.168.145.128/ossec.conf    
                    
                    #啟動客戶端程序
                    ../bin/ossec-control start
                    

                    0x03 總結


                    最后,可以通過ossec-wui查看客戶端的部署情況或者在安裝目錄下 /var/ossec/bin/agent-control查看客戶端的狀態。

                      <pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
                      <pre id="vvttv"></pre>

                        <p id="vvttv"></p>

                            <p id="vvttv"></p>

                                  <p id="vvttv"></p>

                                  <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                                    <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                                      <p id="vvttv"></p>

                                      这里只有精品视频