Coral 1.0.2 pushed out

More updates for an awesome yet simple PHP intrusion detection platform

Published on July 23, 2017

Coral Application Icon

Coral 1.0.2 Uploaded to CodeCanyon

Version 1.0.2 has been packaged and uploaded to CodeCanyon! Buyers should be able to download the new version on 26 July 2017. Thanks to some feedback from a buyer, I tweaked the security routine classes and managed to reduce memory consumption by 51%! This is a huge bonus for users who monitor websites or applications that have in excess of 40K files. Unfortunately, it also let me know that there is some large refactoring that needs to take place before Coral will be able to handle sites much bigger than that!

The way Coral stores file references in the database results in a large amount of data being loaded into an array at runtime if a monitor has thousands and thousands of files. In order to get the 51% memory reduction, I had to reduce the fields returned from the database query to only the id and push the load of the work onto the CPU and MySQL database. This by itself reduced memory consumption, but only provides a bandage to the problem versus a complete fix. I am currently looking into a queue system to alleviate problems with monitors that exceed 40K files.

The biggest and most important bug fixed by this update, is a bug that caused Coral to scan itself if a user monitors their whole web folder. This was an easy fix and an oversight on my part. The full list of changes can be found in your changelog.txt file. Here's a summary:

Bug Fixes:

  • Fixed priority bug which allowed Coral to scan itself
  • Fixed rogue file red indicator styling for toolbar on monitor options page

Changes:

  • Improved Coral memory consumption during routines by 51% on average
  • Slight improvement to routine speed
  • Added ability to set when email notifications are sent based on user-defined threat level
  • Added improved PHP error logging instructions to boot sequence
  • Tweaked notice levels for parser definitions
  • Added HTML threat patterns to PHP parser
  • Updated vendor dependencies