Ok, I started over from scratch, and I must have copied over a config file from my other server. I think we're good now. I'll let you know if I get this completely up and running.
BJ On Friday, March 10, 2017 at 1:29:23 PM UTC-7, BJ wrote: > > Ok, I have more information now. By trial and error, I've discovered that > the patch we used must have messed up something with the rule parsing. Only > by entirely removing the <rules></rules> and everything in it could I get > ossec to start. Obviously... that's not a good solution. :-) I'll start > looking at your patch and seeing if I can see any reason why it would be > doing this, but again, when it comes this code, I'm in over my head, so any > help is appreciated. > > Thanks, > BJ > > On Friday, March 10, 2017 at 11:28:42 AM UTC-7, BJ wrote: >> >> So... this time it compiled great, which was the issue I was having >> before. But now, when I go to start it, I get the following: >> >> OSSEC analysisd: Testing rules failed. Configuration error. Exiting. >> >> >> When I look in the logs, I get see the following: >> >> 2017/03/10 11:11:16 ossec-testrule(1230): ERROR: Invalid element in the >>> configuration: 'rules'. >>> 2017/03/10 11:11:16 ossec-testrule(1202): ERROR: Configuration error at >>> '/var/ossec/etc/ossec.conf'. Exiting. >>> 2017/03/10 11:11:16 ossec-testrule(1202): ERROR: Configuration error at >>> '/var/ossec/etc/ossec.conf'. Exiting. >> >> >> At this point, I'm using the default ossec.conf file, and I can't see any >> issues in that file for the life of me (using XML viewer as well). >> Normally, I'd turn the logging verbosity up at this point, but if it can't >> even parse the conf file, I'm not sure that will work. I also compared this >> config to the list of rules in the folder, and against another config I >> have running. How can I dig into this further? (My ossec.conf file is >> attached if you are curious.) >> >> Thanks again, >> BJ >> >> On Thursday, March 9, 2017 at 10:02:42 AM UTC-7, Pedro Sanchez wrote: >>> >>> That is the right branch. >>> >>> Yes, it does. It is fully compatible with standard OSSEC clients, you >>> could upgrade just the Manager side. >>> >>> Apply the patch by running: >>> >>>> patch -p0 < wazuh-master-md5dbchecksum-patch.patch >>> >>> >>> BTW I am not sure but I assume you could use same patch for OSSEC master >>> branch, I think there are some changed lines but you could try it. >>> >>> Regards, >>> Pedro. >>> >>> On Thu, Mar 9, 2017 at 5:45 PM, BJ <b...@bjtaylor.net> wrote: >>> >>>> Awesome Pedro. >>>> >>>> I'll give this a try. Just for clarification, is this the correct Wazuh >>>> master branch? https://github.com/wazuh/wazuh >>>> >>>> And do you know if it works with the standard ossec clients? Or will I >>>> need to install new clients on my servers for this to work? >>>> >>>> Thanks, >>>> BJ >>>> >>>> On Thursday, March 9, 2017 at 8:46:59 AM UTC-7, Pedro Sanchez wrote: >>>>> >>>>> Hi BJ, >>>>> >>>>> I did not know about that post, it looks great but it is a bit >>>>> outdated. >>>>> It helped me to add that functionality (code pieces) to Wazuh master >>>>> branch. Wazuh is already working SQLite internally for some DB's (agent >>>>> keys, syscheck data..) so the libraries are already compiled there. >>>>> Everything is working on my labs as expected, every syscheck event is >>>>> being checked against the Checksum DB created with the Python script, if >>>>> there is a match, the alert won't be generated. >>>>> >>>>> I am attaching the patch and the Python script fixed (the one on the >>>>> blog was not working). >>>>> >>>>> PS: I assume the errors you had were related to not compiling / >>>>> including properly the SQLite libraries. >>>>> >>>>> Regards, >>>>> Pedro Sanchez. >>>>> >>>>> On Thu, Mar 9, 2017 at 1:33 AM, BJ <b...@bjtaylor.net> wrote: >>>>> >>>>>> Thank you Pedro. That's good information. >>>>>> >>>>>> With that in mind, I've decided to give this a try: >>>>>> https://blog.rootshell.be/2013/05/13/improving-file-integrity-monitoring-with-ossec/ >>>>>> >>>>>> Basically, he patched the code to make it look at a sqlite3 database >>>>>> prior to alerting. >>>>>> >>>>>> Unfortunately, the code is a bit old, and I'm not sure he included >>>>>> all of the steps. I couldn't use his patch because I wanted the latest >>>>>> code, so I created my own based on his (attached). And although I have >>>>>> installed libsqlite3-dev, it fails to compile. I keep getting the >>>>>> following, which suggests it isn't pulling the code in from sqlite3.h >>>>>> for >>>>>> some reason. >>>>>> >>>>>> /usr/local/src/ossec-hids-2.8.3/src/analysisd/decoders/syscheck.c:845: >>>>>> undefined reference to `debug0' >>>>>> /usr/local/src/ossec-hids-2.8.3/src/analysisd/decoders/syscheck.c:849: >>>>>> undefined reference to `sqlite3_open' >>>>>> /usr/local/src/ossec-hids-2.8.3/src/analysisd/decoders/syscheck.c:852: >>>>>> undefined reference to `sqlite3_prepare_v2' >>>>>> /usr/local/src/ossec-hids-2.8.3/src/analysisd/decoders/syscheck.c:854: >>>>>> undefined reference to `sqlite3_step' >>>>>> /usr/local/src/ossec-hids-2.8.3/src/analysisd/decoders/syscheck.c:859: >>>>>> undefined reference to `sqlite3_finalize' >>>>>> /usr/local/src/ossec-hids-2.8.3/src/analysisd/decoders/syscheck.c:860: >>>>>> undefined reference to `sqlite3_close' >>>>>> /usr/local/src/ossec-hids-2.8.3/src/analysisd/decoders/syscheck.c:861: >>>>>> undefined reference to `debug0' >>>>>> /usr/local/src/ossec-hids-2.8.3/src/analysisd/decoders/syscheck.c:865: >>>>>> undefined reference to `sqlite3_finalize' >>>>>> /usr/local/src/ossec-hids-2.8.3/src/analysisd/decoders/syscheck.c:866: >>>>>> undefined reference to `sqlite3_close' >>>>>> >>>>>> Now, I haven't coded in C since.... high school? Like 20 years ago. I >>>>>> remember some things, and have googled others, but I'm in over my head. >>>>>> I >>>>>> can't seem to figure out how to fix this, or what I might have done >>>>>> wrong. >>>>>> FYI, I'm on Ubuntu 16.04. >>>>>> >>>>>> If anyone could help me, I'd appreciate it. >>>>>> >>>>>> Thanks, >>>>>> BJ >>>>>> >>>>>> On Wednesday, March 8, 2017 at 9:14:45 AM UTC-7, Pedro Sanchez wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> I like your intention to create a whitelist for checksum using CDB >>>>>>> lists, I think it will be a great functionality. Unfortunately you >>>>>>> won't be >>>>>>> able to do it, since OSSEC lists does not allow to match using >>>>>>> "syscheck.md5_after" field. >>>>>>> You can check here the available fields for matching a CDB List: >>>>>>> https://github.com/wazuh/wazuh/blob/master/src/analysisd/rules.c#L665 >>>>>>> (srcip, srcport, dstip, dstport, user, url, id, hostname, program_name, >>>>>>> status and action) >>>>>>> >>>>>>> Beside that, if somehow we add the funcionallity to match for that >>>>>>> field, you could use a negative key match, adding the list sentence to >>>>>>> syscheck rule 550. >>>>>>> >>>>>>> Negative key match: >>>>>>> http://ossec-docs.readthedocs.io/en/latest/manual/rules-decoders/rule-lists.html#negative-key-match >>>>>>> >>>>>>> Rule 550 for syscheck integrity checksum changed, will trigger only >>>>>>> if they md5 checksum is not present on the CDB list, how it would look >>>>>>> like: >>>>>>> >>>>>>> <rule id="550" level="7"> >>>>>>>> <category>ossec</category> >>>>>>>> <decoded_as>syscheck_integrity_changed</decoded_as> >>>>>>>> *<list field="syscheck.md5_after" >>>>>>>> lookup="not_match_key">etc/lists/whitelist_md5</list>* >>>>>>>> <description>Integrity checksum changed.</description> >>>>>>>> <group>syscheck,pci_dss_11.5,</group> >>>>>>>> </rule> >>>>>>> >>>>>>> >>>>>>> *whitelist_md5* >>>>>>> >>>>>>> d41d8cd98f00b204e9800998ecf8427a:file1 >>>>>>>> d41d8cd98f00b204e9800998ecf8427b:file2 >>>>>>>> d41d8cd98f00b204e9800998ecf8427c:file3 >>>>>>>> d41d8cd98f00b204e9800998ecf8427d:file4 >>>>>>> >>>>>>> >>>>>>> ossec.conf >>>>>>> >>>>>>>> *<list>etc/lists/whitelist_md5</list>* >>>>>>> >>>>>>> >>>>>>> *Compile CDB List* >>>>>>> >>>>>>>> /var/ossec/bin/ossec-makelists >>>>>>> >>>>>>> >>>>>>> >>>>>>> Maybe someone figure out a different way to do this. >>>>>>> >>>>>>> Regards, >>>>>>> Pedro Sanchez. >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Wed, Mar 8, 2017 at 1:13 AM, BJ <b...@bjtaylor.net> wrote: >>>>>>> >>>>>>>> I've seen the possibility mentioned in this forum a couple of times >>>>>>>> regarding adding the ability to check an MD5sum CDB list with rules. >>>>>>>> Right >>>>>>>> now, I'm in a situation where I could use that ability. However, I >>>>>>>> can't >>>>>>>> see anywhere that describes how to use it. Was that ever implemented? >>>>>>>> Frankly, I'm interested enough in this feature that I'd do it myself >>>>>>>> if I >>>>>>>> could, but I don't know C/C++, and only do scripting in Python. >>>>>>>> >>>>>>>> I'm trying to monitor a web folder for changes, but of course I >>>>>>>> don't want to be alerted on every file when a releases is done (they >>>>>>>> can be >>>>>>>> done at any time of day too). I can get md5 sums of each of the files >>>>>>>> prior >>>>>>>> to the release to whitelist them for ossec, but I can't seem to figure >>>>>>>> out >>>>>>>> how to tell ossec to use that database. Any help would be appreciated. >>>>>>>> >>>>>>>> Thanks. >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>>> --- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "ossec-list" group. >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>> send an email to ossec-list+...@googlegroups.com. >>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>> >>>>>>> >>>>>>> -- >>>>>> >>>>>> --- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "ossec-list" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to ossec-list+...@googlegroups.com. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> -- >>>> >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "ossec-list" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to ossec-list+...@googlegroups.com. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- --- You received this message because you are subscribed to the Google Groups "ossec-list" group. To unsubscribe from this group and stop receiving emails from it, send an email to ossec-list+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.