I'll have to play with this tomorrow when I have access to my OSSEC setup.

Could you perhaps post your ossec.conf and associated rules? REMEMBER
to remove passwords and IPs for anything you don't want to be public
knowledge. ;)

I'll be able to plug your rules and configs into my setup to see if it
works for me.

On Wed, Nov 3, 2010 at 3:24 PM, Tim Eberhard <[email protected]> wrote:
> Good point. I removed them all in an attempt to focus on one. I've
> readded it but I still don't see any change.
>
> So I let OSSEC syscheck run, then changed /bin/mount's permissions to
> be SUID. I see it show up in archives.log during the second check. But
> it never fires off an alert.
>
>
>
> 2010 Nov 03 11:57:43 ossec->find / -user root -perm -4000 -print
> ossec: output: 'find / -user root -perm -4000 -print':
> /usr/sbin/suexec
> /usr/libexec/openssh/ssh-keysign
> /usr/bin/at
> /usr/bin/gpasswd
> /usr/bin/passwd
> /usr/bin/sudoedit
> /usr/bin/sudo
> /usr/bin/chsh
> /usr/bin/chage
> /usr/bin/crontab
> /usr/bin/newgrp
> /usr/lib/vmware-tools/sbin64/vmware-hgfsmounter
> /bin/ping
> /bin/su
> /lib/dbus-1/dbus-daemon-launch-helper
> /sbin/pam_timestamp_check
> /sbin/unix_chkpwd
> /lib64/dbus-1/dbus-daemon-launch-helper
> 2010 Nov 03 11:58:05 hostname->/var/log/messages Nov  3 11:58:05
> hostname  ntpd[2372]: sendto(XX.XX.XX.XX) (fd=20): Invalid argument
> 2010 Nov 03 12:03:45 ossec->netstat -tan |grep LISTEN | grep -v
> '127.0.0.1' ossec: output: 'netstat -tan |grep LISTEN | grep -v
> '127.0.0.1'':
> tcp        0      0 0.0.0.0:3306                0.0.0.0:*
>     LISTEN
> tcp        0      0 0.0.0.0:111                 0.0.0.0:*
>     LISTEN
> tcp        0      0 :::80                       :::*
>     LISTEN
> tcp        0      0 :::22                       :::*
>     LISTEN
> tcp        0      0 :::443                      :::*
>     LISTEN
> tcp        0      0 :::8443                     :::*
>     LISTEN
> 2010 Nov 03 12:03:45 ossec->awk -F\ '($3 == "0") {print}' /etc/passwd
> ossec: output: 'awk -F\ '($3 == "0") {print}' /etc/passwd':
> root:x:0:0:root:/root:/bin/bash
> bobtest2:x:0:0::/home/bobtest2:/bin/bash
> 2010 Nov 03 12:03:46 ossec->rpm -qa ossec: output: 'rpm -qa':
> libSM-1.0.1-3.1
> <SNIP, removed RPM output>
> 2010 Nov 03 12:03:46 ossec->find / -user root -perm -4000 -print
> ossec: output: 'find / -user root -perm -4000 -print':
> /usr/sbin/suexec
> /usr/libexec/openssh/ssh-keysign
> /usr/bin/at
> /usr/bin/gpasswd
> /usr/bin/passwd
> /usr/bin/sudoedit
> /usr/bin/sudo
> /usr/bin/chsh
> /usr/bin/chage
> /usr/bin/crontab
> /usr/bin/newgrp
> /usr/lib/vmware-tools/sbin64/vmware-hgfsmounter
> /bin/ping
> /bin/su
> /bin/mount
> /lib/dbus-1/dbus-daemon-launch-helper
> /sbin/pam_timestamp_check
> /sbin/unix_chkpwd
> /lib64/dbus-1/dbus-daemon-launch-helper
> 2010 Nov 03 12:04:38  hostname ->/var/log/messages Nov  3 12:04:37
> hostname ntpd[2372]: sendto(XX.XX.XX.XX) (fd=20): Invalid argument
>
> On Wed, Nov 3, 2010 at 1:07 PM, dan (ddp) <[email protected]> wrote:
>> On Wed, Nov 3, 2010 at 1:04 PM, Tim Eberhard <[email protected]> wrote:
>>> So changing it to logall and then changing a start up item via
>>> chkconfig..I don't see anything. Nothing in my alerts about it being
>>> changed either.
>>>
>>
>> I don't see the chkconfig check being run in your logs.
>>
>> Make sure the command runs, then change it, and make sure it runs again.
>>
>>> My log file is below. Does the syscheckd error matter in this case?
>>>
>>
>> I'd see what kind of file that is, but it shouldn't matter in this
>> instance. I get the same error for a "broken" symlink.
>>
>>> r...@ossec:/var/ossec/logs# tail -f ossec.log
>>> 2010/11/03 09:56:56 ossec-logcollector(1950): INFO: Analyzing file:
>>> '/var/log/nmap-out-bird.log'.
>>> 2010/11/03 09:56:56 ossec-logcollector: INFO: Monitoring full output
>>> of command(360): netstat -tan |grep LISTEN | grep -v '127.0.0.1'
>>> 2010/11/03 09:56:56 ossec-logcollector: INFO: Monitoring full output
>>> of command(360): awk -F: '($3 == "0") {print}' /etc/passwd
>>> 2010/11/03 09:56:56 ossec-logcollector: INFO: Monitoring full output
>>> of command(360): rpm -qa
>>> 2010/11/03 09:56:56 ossec-logcollector: INFO: Monitoring full output
>>> of command(360): awk -F: '($2 == "") {print}' /etc/shadow
>>> 2010/11/03 09:56:56 ossec-logcollector: INFO: Monitoring full output
>>> of command(360): find / -user root -perm -4000 -print
>>> 2010/11/03 09:56:56 ossec-logcollector: INFO: Started (pid: 23635).
>>> 2010/11/03 09:56:56 ossec-analysisd(1210): ERROR: Queue
>>> '/queue/alerts/ar' not accessible: 'Connection refused'.
>>> 2010/11/03 09:56:56 ossec-analysisd(1301): ERROR: Unable to connect to
>>> active response queue.
>>> 2010/11/03 09:56:56 ossec-analysisd: INFO: Connected to
>>> '/queue/alerts/execq' (exec queue)
>>> 2010/11/03 09:57:57 ossec-syscheckd: INFO: Starting syscheck scan
>>> (forwarding database).
>>> 2010/11/03 09:57:57 ossec-syscheckd: INFO: Starting syscheck database
>>> (pre-scan).
>>> 2010/11/03 09:57:57 ossec-syscheckd: INFO: Initializing real time file
>>> monitoring (not started).
>>> 2010/11/03 09:59:34 ossec-syscheckd: ERROR: Invalid internal state
>>> (missing '/etc/alternatives/jaxp_parser_impl').
>>> 2010/11/03 10:01:27 ossec-syscheckd: INFO: Finished creating syscheck
>>> database (pre-scan completed).
>>> 2010/11/03 10:01:39 ossec-syscheckd: INFO: Ending syscheck scan
>>> (forwarding database).
>>> 2010/11/03 10:01:59 ossec-syscheckd: INFO: Starting real time file 
>>> monitoring.
>>> 2010/11/03 10:01:59 ossec-rootcheck: INFO: Starting rootcheck scan.
>>>
>>> On Wed, Nov 3, 2010 at 11:40 AM, dan (ddp) <[email protected]> wrote:
>>>> Nothing that I can see. Even with -d it goes into the background.
>>>> DEBUG messages are logged to ossec.log
>>>>
>>>> On Wed, Nov 3, 2010 at 12:30 PM, Tim Eberhard <[email protected]> wrote:
>>>>> What am I missing here?
>>>>>
>>>>> r...@ossec:/home/teberhard# /var/ossec/bin/ossec-logcollector -d
>>>>> 2010/11/03 09:29:47 ossec-logcollector: DEBUG: Starting ...
>>>>> r...@ossec:/home/teberhard# /var/ossec/bin/ossec-logcollector -dt
>>>>> 2010/11/03 09:29:57 ossec-logcollector: DEBUG: Starting ...
>>>>> r...@ossec:/home/teberhard# /var/ossec/bin/ossec-logcollector -d -t
>>>>> 2010/11/03 09:30:00 ossec-logcollector: DEBUG: Starting ...
>>>>> r...@ossec:/home/teberhard# /var/ossec/bin/ossec-logcollector -d -t -c
>>>>> /var/ossec/etc/ossec.conf
>>>>> 2010/11/03 09:30:10 ossec-logcollector: DEBUG: Starting ...
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Nov 3, 2010 at 10:07 AM, dan (ddp) <[email protected]> wrote:
>>>>>> Try running logcollector in debug mode.
>>>>>> Try it with 1 full_command to see if you can get that working. I
>>>>>> recommend the ones that aren't quite so system intensive.
>>>>>>
>>>>>> Here's my setup:
>>>>>>  <localfile>
>>>>>>    <log_format>full_command</log_format>
>>>>>>    <command>netstat -an |grep LISTEN | grep -v '127.0.0.1'</command>
>>>>>>  </localfile>
>>>>>>
>>>>>>  <rule id="510000" level="7">
>>>>>>    <if_sid>530</if_sid>
>>>>>>    <match>ossec: output: 'netstat -an |grep LISTEN</match>
>>>>>>    <check_diff />
>>>>>>    <description>Listened ports have changed.</description>
>>>>>>  </rule>
>>>>>>
>>>>>> This works for me.
>>>>>>
>>>>>> On Wed, Nov 3, 2010 at 10:59 AM, Tim Eberhard <[email protected]> wrote:
>>>>>>> I removed that extra white space and it doesn't appear to have helped
>>>>>>> anything. Checking the log file..
>>>>>>>
>>>>>>> 2010/11/03 07:54:23 ossec-logcollector: INFO: Monitoring full output
>>>>>>> of command(360): netstat -tan |grep LISTEN | grep -v$
>>>>>>> 2010/11/03 07:54:23 ossec-logcollector: INFO: Monitoring full output
>>>>>>> of command(360): awk -F: '($3 == "0") {print}' /etc/$
>>>>>>> 2010/11/03 07:54:23 ossec-logcollector: INFO: Monitoring full output
>>>>>>> of command(360): rpm -qa
>>>>>>> 2010/11/03 07:54:23 ossec-logcollector: INFO: Monitoring full output
>>>>>>> of command(360): awk -F: '($2 == "") {print}' /etc/s$
>>>>>>> 2010/11/03 07:54:23 ossec-logcollector: INFO: Monitoring full output
>>>>>>> of command(360): find / -user root -perm -4000 -print
>>>>>>> 2010/11/03 07:54:23 ossec-logcollector: INFO: Started (pid: 21501).
>>>>>>>
>>>>>>> What is the next step in troubleshooting custom rules like this? I
>>>>>>> apologize if this is a standard question.. if someone would show me
>>>>>>> how to go about this I'll do my best to spoon feed myself :)
>>>>>>>
>>>>>>> Thanks again for your help,
>>>>>>> -Tim Eberhard
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Nov 2, 2010 at 7:57 PM, Tim Eberhard <[email protected]> wrote:
>>>>>>>> That's how it sits today. I'll remove them and see if that helps 
>>>>>>>> things at all.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Nov 2, 2010 at 3:23 PM, dan (ddp) <[email protected]> wrote:
>>>>>>>>> On Tue, Nov 2, 2010 at 4:13 PM, Tim Eberhard <[email protected]> wrote:
>>>>>>>>>> [My apologies for posting this to ossec-dev. I typed in the wrong
>>>>>>>>>> google group. This was intended for ossec-list]
>>>>>>>>>>
>>>>>>>>>> All,
>>>>>>>>>>
>>>>>>>>>> I've been trying to write some rules for my lab OSSEC box and test
>>>>>>>>>> them before we roll OSSEC out to production. I'm having some problems
>>>>>>>>>> writing rules when using the full command. I've tried to follow the
>>>>>>>>>> examples written here:
>>>>>>>>>> http://www.ossec.net/doc/manual/monitoring/process-monitoring.html
>>>>>>>>>>
>>>>>>>>>> But it seems all my added checks/rules don't work properly.
>>>>>>>>>>
>>>>>>>>>> Basic info:
>>>>>>>>>> -Linux - 2.6.18-128.1.6.el5
>>>>>>>>>> -OSSEC 2.5.1
>>>>>>>>>> -Stand alone server
>>>>>>>>>>
>>>>>>>>>> Here is the example rule I've been trying to get to work...
>>>>>>>>>>
>>>>>>>>>> Check for changes to the system start up services
>>>>>>>>>> ossec.conf:
>>>>>>>>>>  <localfile>
>>>>>>>>>>  <log_format>full_command</log_format>
>>>>>>>>>>  <command> /sbin/chkconfig  --list | grep '3:on'</command>
>>>>>>>>>
>>>>>>>>> Is the space in the <command> above intentional or a paste-o? I don't
>>>>>>>>> know if it will affect the output or not...
>>>>>>>>>
>>>>>>>>>>  </localfile>
>>>>>>>>>>
>>>>>>>>>> In local_rules.xml:
>>>>>>>>>>  <rule id="510004" level="7">
>>>>>>>>>>  <if_sid>530</if_sid>
>>>>>>>>>>  <match>ossec: output: ‘/sbin/chkconfig </match>
>>>>>>>>>>  <check_diff />
>>>>>>>>>>  <description>The system start up services have changed</description>
>>>>>>>>>>  </rule>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Upon changing the start up and removing an item I get an alert when
>>>>>>>>>> OSSEC notices the start up script file change..It just doesn't seem 
>>>>>>>>>> to
>>>>>>>>>> fire off my alert that I have configured.
>>>>>>>>>>
>>>>>>>>>> OSSEC HIDS Notification.
>>>>>>>>>> 2010 Nov 02 07:16:40
>>>>>>>>>> Received From: ossec->syscheck
>>>>>>>>>> Rule: 553 fired (level 7) -> "File deleted. Unable to retrieve 
>>>>>>>>>> checksum."
>>>>>>>>>> Portion of the log(s):
>>>>>>>>>>
>>>>>>>>>> File '/etc/rc.d/rc0.d/K03yum-updatesd' was deleted. Unable to 
>>>>>>>>>> retrieve checksum.
>>>>>>>>>> --END OF NOTIFICATION
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Anyone care to tell me what obvious item I'm missing? This holds true
>>>>>>>>>> for half a dozen items that I am using full_command for and trying to
>>>>>>>>>> check. Another example is below:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Check for changes to the SUID binaries
>>>>>>>>>> ossec.conf:
>>>>>>>>>>  <localfile>
>>>>>>>>>>  <log_format>full_command</log_format>
>>>>>>>>>>  <command> find / -user root -perm -4000 -print</command>
>>>>>>>>>>  </localfile>
>>>>>>>>>>
>>>>>>>>>> In local_rules.xml:
>>>>>>>>>>  <rule id="510005" level="7">
>>>>>>>>>>  <if_sid>530</if_sid>
>>>>>>>>>>  <match>ossec: output: ‘find / -user root </match>
>>>>>>>>>>  <check_diff />
>>>>>>>>>>  <description>SUID root binaries have been changed</description>
>>>>>>>>>>  </rule>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thanks for any assistance/input you can provide.
>>>>>>>>>> -Tim Eberhard
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to