ossec規則設置,以及常規問題釋疑

規則 html

    Syscheck是OSSEC內部完整性檢測進程的名稱。它週期性檢查是否有任何配置文件(或者windows註冊表)發生改變。linux

配置文件地址爲web

[root@logserver etc]# pwd 正則表達式

/var/ossec/etc sql

[root@logserver etc]# vim ossec.conf apache

它的工做方法是:「代理每幾個小時掃描一次系統,併發送全部的校驗和到server端。Server端存儲這些校驗和文件並查找他們的不一樣。若是發現任何改變將會發送報警。vim

基本概況windows

多長時間運行一次服務器

默認每6小時運行一次,可是這個頻率能夠本身設定併發

數據存放位置

在server端的/var/ossec/queue/syscheck

CPU使用狀況

慢慢地進行掃描,以免使用過多的CPU /內存。

如何處理誤報

文件可以經過手工指定配置文件或使用規則到忽略不記,默認一個文件修改超過3次會自動忽略。

配置選項

    下面的配置選項能夠指定在每個代理的ossec.conf文件,除了應用到manager和本地安裝類型的auto_ignore 和 alert_new_file. 若是ignore選項指定在manage,全部代理都會使用相同的設置。

目錄

    使用這個選項增長或者移除被監控的目錄(目錄這間用逗號分開)全部的文件和子目錄也會被監控。沒有目錄的驅動器字母是無效的。至少「。」應包括(D:\.)。

默認:/etc,/sur/bin,/usr/sbin,/bin,/sbin

Attributes: 屬性

realtime: Value=yes

This will enable realtime/continuous monitoring on Linux (using the inotify system calls) and Windows systems. (啓用實時、連續的監控)

report_changes: Value=yes

Report diffs of file changes. This is limited to text files at this time. (文件改變比較報告,只能用文本文件)

check_all: Value=yes

All the following check_* options are used together. (全部下面的check_*選項共同起做用)

check_sum: Value=yes

Check the md5 and sha1 hashes of the of the files will be checked.

This is the same as using both check_sha1sum=」yes」 and check_md5sum=」yes」

check_sha1sum: Value=yes

When used only the sha1 hash of the files will be checked.

check_md5sum: Value=yes

The md5 hash of the files will be checked.

check_size: Value=yes

The size of the files will be checked. (檢查文件大小)

check_owner: Value=yes

Check the owner of the files selected. (文件全部者檢查)

check_group: Value=yes

Check the group owner of the files/directories selected. (文件和目錄所屬的用戶組檢查)

check_perm: Value=yes

Check the UNIX permission of the files/directories selected. On windows this will only check the POSIX permissions. 文件和目錄權限檢查

restrict: Value=string

A string that will limit checks to files containing that string in the file name. (文件內容中包含文件名的字符串將限制檢查。

Allowed: Any directory or file name

ignore

List of files or directories to be ignored (one entry per element).列出的文件和目錄將不被檢查Default: /etc/mtab

Attributes:

type: Value=sregex

This is a simple regex pattern to filter out files so alerts are not generated. 這個簡單的表達式過慮掉輸出文件,因此報警不會生成。

Allowed: Any directory or file name

frequency

Frequency that the syscheck is going to be executed (in seconds).(syscheck多長時間執行一次,默認是21600秒,也就是6個小時)

The default is 6 hours or 21600 seconds

Default: 21600

Allowed: Time in seconds

scan_time

Time to run the scans (can be in the formats of 21pm, 8:30, 12am, etc) 掃描系統的時間格式(21pm晚上9點),8:30,(12am上午12點)。

Allowed: Time to run scan

scan_day

Day of the week to run the scans (can be in the format of sunday, saturday, monday, etc)

在每週的那一天執行掃描

Allowed: Day of the week

auto_ignore

Specifies if syscheck will ignore files that change too often (after the third change)指定忽略頻繁改變的文件

Default: no

Allowed: yes/no

alert_new_files

Specifies if syscheck should alert on new files created.指定新文件被建立時是否報警

Default: no

Allowed: yes/no

scan_on_start

Specifies if syscheck should do the first scan as soon as it is started.(syscheck啓動後是否當即作第一次掃描。

Default: yes

Allowed: yes/no

windows_registry

Use this option to add Windows registry entries to be monitored (Windows-only).增長windows註冊表監控

Default: HKEY_LOCAL_MACHINESoftware

Allowed: Any registry entry (one per element)

registry_ignore

List of registry entries to be ignored.(不監控列出的註冊表條目)

Default: ..CryptographyRNG

Allowed: Any registry entry (one per element)

配置例子

配置 syscheck,提供一個要被監控的目錄和文件列表,check_all 選項會檢查文件的md5, sha1,owner,和權限。例如:

<syscheck>

   <directories check_all=yes>/etc,/usr/bin,/usr/sbin</directories>

 <directories check_all=yes>/root/users.txt,/bsd,/root/db.html</directories>

</syscheck>

若是不想監控某些文件和目錄,能夠用ignore選項(或者registry_ignore 爲windows註冊表輸入)

<syscheck>

   <ignore>/etc/random-seed</ignore>

 <ignore>/root/dir</ignore>

 <ignore type=sregex>.log$|.tmp</ignore>

</syscheck>

??在ignore選項,這個類型屬性能夠設置sregex指定一個正則表達式語法。

<syscheck>

   <ignore type=sregex>^/opt/application/log</ignore>

</syscheck>

一個本地規則能夠更嚴格的修改你想要更改的指定文件和目錄。

     <rule id=100345 level=12>

   <if_matched_group>syscheck</if_matched_group>

 <match>/var/www/htdocs</match>

</rule>

在上邊的例子中,當htdocs directory目錄中的文件有改變時將會產生一個高嚴重級別的報警。

實時監控

在linux 和windows中OSSEC支持實時監控文件完整性檢查(linux內核2.6.13以上板本支持)

配置很簡單,在directories選項那裏你能夠指定要監控那些文件和目錄,增長realtime=」yes」到啓用。

<syscheck>

   <directories realtime=yes check_all=yes>/etc,/usr/bin,/usr/sbin</directories>

 <directories check_all=yes>/bin,/sbin</directories>

</syscheck>

在這個例子中,目錄/etc, /usr/bin and /usr/sbin會被實時監控,一樣的方法也實用與windows.

提示:實時監控並不會當即開始。首先ossec-syscheckd須要掃描文件系統並添加每個了目錄到實時隊列。要完成這些工做須要30分鐘時間。(等待log文件出現以下信息:「ossec-syscheckd: INFO: Starting real time file monitoring」)

註解:實時監控僅對目錄有效,因此你能夠監控 /etc 或者c:\program files 目錄,但不能是個別的文件,像/etc/file.txt。

比較不一樣並生成報告

    在linux 和unix系統比較所後的改變生成一個文本文件,OSSEC支持發送比較報告,

配置syscheck顯示文件比較的不一樣很簡單,添加report_changes=」yse」到directories選項。

<syscheck>

 <directories report_changes=yes check_all=yes>/etc</directories>

 <directories check_all=yes>/bin,/sbin</directories>

</syscheck>

2、F&Q

Question 1.當按照上一篇安裝以後web端後訪問出現:

Unable to retrieve alerts.

請查看/var/ossec/logs/alerts/alerts.log 權限是否有web服務器能訪問的權限

Question 2

我smtp server設置正確,但爲什麼我收不到ossec主機所發的郵件,在郵件日誌中老顯示鏈接超時。

A: ossec原則上不要求在本地架設mta服務器,但咱們知道,爲了防止垃圾,基本上全部郵件服務器都關閉了open relay,然咱們的ossec並無爲smtp認證提供username與password設置選項,這就使咱們在選擇其它smtp 服務器時沒法指定用戶名與密碼,所以個人作法是設置ossec發信給root@localhost,而後在本地郵件服務器別名列表中,將全部轉發給 root的信件再轉發給我所但願的email地址。

Question 3

如何設置ossec同時去監檢多個日誌文件

A:有時,咱們同時有多個日誌文件但願被監測,但又不想一個個輸入ossec.conf配置文中。其實我能夠利用ossec的posix規則表達示來達到你的目的。如假如你有以下幾個日誌文件:

/var/log/host1/xx.log,yy.log,zz.log

/var/log/host2/xx.log,aa.log

/var/log/host3/zz.log,abc.log

/var/log/hostn/bb.log,xyz.log

咱們能夠這樣設置

<localfile>

   <log_format>syslog</log_format>

   <localtion>/var/log/host*/*.log</location>

   </localfile>

Question 4

我採用的是S/C安裝方式,而且巳按正確方法在服務器上註冊的客戶機,但ossec服務器與客戶沒法仍是沒法通訊

A:針對這個問題,a.首先咱們要肯定安裝順序是否正確,通常咱們是先安裝server,而後是agent,而且在服務器給agent生成密匙,再在agent上導入密匙,注意在server上生成密匙時agent的ip地址千萬不能寫錯,不然沒法通訊。

       b.使用netstat -ntlup查看本機是否開啓了514,1514端口接受agent鏈接,若是端口尚未打開,先/etc/init.d/syslog restart再查看。請隨時查閱/var/ossec/logs/ossec.conf日誌文件中的是志。

       c.若是你啓了防火牆,請必定要將514,1514的數據放行,不然agent沒法與server正常通訊。

以上是咱們我的使用ossec來一點實際經驗,歡迎你們繼續加精

Question 5

如何檢測apache日誌

咱們能夠這樣設置

<localfile>

   <log_format>apache</log_format>

   <localtion>你的apache日誌目錄</location>

   </localfile>

Question 6 代理和服務器見的鏈接不順暢通,怎麼辦

日誌出現

2012/10/16 16:40:56 ossec-agentd(1218): ERROR: Unable to send message to server. 

2012/10/16 16:41:08 ossec-agentd(1218): ERROR: Unable to send message to server. 

請查看agent 和server是否有防火牆,以及是否方形了1514 和514端口

以及查看服務器端是否開啓了1514端口 

 
Question 6 啓動了ossec 沒有監聽1514

查看ossec-remoted是否啓動,查看日誌可否看到ossec-remoted相關信息.

可能須要開啓debug模式

 

  
  
  
  
  1. ./ossec-control enable debug 
  2. ./ossec-control restart  

看日誌

 

   
   
   
   
  1. [root@logserver logs]# tail -f ossec.log |grep remo 
  2. 2012/10/18 16:36:15 ossec-remoted: DEBUG: Starting ... 
  3. 2012/10/18 16:36:15 ossec-remoted: INFO: Started (pid: 9246). 
  4. 2012/10/18 16:36:15 ossec-remoted: DEBUG: Forking remoted: '0'
  5. 2012/10/18 16:36:15 ossec-remoted: Remote syslog allowed from'10.10.10.0/24' 
  6. 2012/10/18 16:36:15 ossec-remoted: Remote syslog allowed from'10.10.10.0/24' 
  7. 2012/10/18 16:36:15 ossec-remoted: DEBUG: Forking remoted: '1'
  8. 2012/10/18 16:36:15 ossec-remoted(1206): ERROR: Unable to Bind port '514' 

很明顯是由於514端口被rsyslog 佔用,因此須要修改端口.

查看ossec.conf是否是添加了一下內容

   
   
   
   
  1. <remote> 
  2.    <connection>secure</connection> 
  3.    <allowed-ips>10.10.10.0/24</allowed-ips> 
  4.    <port>1514</port> 
  5.    <local_ip>10.10.10.137</local_ip> 
  6.  </remote> 

Question 7

若是仍是啓動不來,查看ossec.log

有以下日誌

  
  
  
  
  1. 2012/10/17 13:51:11 ossec-remoted: INFO: Started (pid: 4477). 
  2. 2012/10/17 13:51:11 ossec-remoted: Remote syslog allowed from: '10.10.10.0/24' 
  3. 2012/10/17 13:51:11 ossec-remoted(1206): ERROR: Unable to Bind port '514' 

由於514被rsyslog佔用,先停掉rsyslog再啓動ossec-control restart

 

Question 7

agent的消息不能發送到server

1.檢查$OSSEC_HOME/queue/agent-info/下面是否有文件

2.檢查ossec的服務器日誌cat /$OSSEC_HOME/logg/ossec.log | grep remote

 

  
  
  
  
  1. [root@logserver etc]# cat /var/ossec/logs/ossec.log |grep remote 
  2. 2012/10/17 14:46:21 ossec-remoted: INFO: Started (pid: 7850). 
  3. 2012/10/17 14:46:21 ossec-remoted(1501): ERROR: No IP or network allowed in the access list for syslog. No reason for running it. Exiting. 
  4. 2012/10/17 14:46:21 ossec-remoted: INFO: Started (pid: 7853). 
  5. 2012/10/17 14:46:22 ossec-remoted(4111): INFO: Maximum number of agents allowed: '256'. 
  6. 2012/10/17 14:46:22 ossec-remoted(1410): INFO: Reading authentication keys \
  7. file. 

能夠看到出了ossec-remoted的進程日誌 沒有客戶端的日誌,so

繼續往下走.

相關文章
相關標籤/搜索