Git Product home page Git Product logo

logpager's People

Contributors

jonbirge avatar

Stargazers

 avatar  avatar

Watchers

 avatar

logpager's Issues

Map of access

Color-coded by whether its an attack or valid connection. This may only be possible by caching IP geolocations or switching to database solution.

Color code table

Highlights for 404s and other status codes that suggest hacking attempts.

Switch to local whois

Just write a whois.php script to handle the whois requests locally and provide more information via the system whois interface.

Reverse DNS

Do an asynchronous reverse DNS of the IP addresses after downloaded from the server, using JavaScript.

Move to SQL database

If this is actually going to scale, it will need to periodically read the log files into a local SQL database. This might be too much scope creep, however.

Check to see if log has updated during live mode

  • Backend PHP function to return modification time of given log
  • Frontend remembers last date and checks every few seconds
  • Frontend shows last check time and last changed time at top
  • When update needed, update both graphics and table
  • Animation to show that frontend script is running?

Integrated attack log

Optionally merge httpd and sshd logs into single coherent attack picture. O nly show failed entries.

Shift rendering to front-end

PHP should just output a JSON structure with the log, and JS can render it into a table.

  • Modify back-end logtail.php to output JSON array
  • Front-end JavaScript to render table and add links to whois request
  • Asychronously convert IPs to hostnames

rDNS is called twice after search

From the logs it appears that when a search result is rendered as a table, the rDNS web service is hit twice per unique IP for some reason.

Configuration file

YAML file covering the following settings, at least initially:

  • Log file locations and types
  • Visualization parameters currently hardwired in JavaScript
  • Whether or not to pull geolocations

Interactive summary graph

Perhaps a heat map of hours versus days. The user should be able to click on a day and have that log come up as focus.

Cued IP range search

Start with given IP and determine IP range it belongs to via whois lookup. Search for any IP in logs from that range.

Use unix tools for search

Pipe tail of log into grep, which should be much faster than using PHP. Clear log and indicate that search is happening.

Dual heat maps for attacks versus traffic

Show attacks in one heatmap and normal traffic in another. Unless it's possible to show both in the same heatmap using a clever color scheme which adds red to green or something.

Search by log column

Add field and term parameters to search. If field isn't specified, than operate as normal searching everything in the line.

Customizable max log window

Set max number of log lines to even consider, counting from back. This can be handled with a simple UNIX "tail" command. Alternatively, or in addition, allow the log window to be specified in terms of time, and read dates backwards from the end of the log. The former will be a heck of a lot quicker, however.

Batch rDNS requests

Either batch them collecting them into a set of unique IPs for the given page on the front-end, or send all requests for a given page in one request to the back-end.

Search functionality

For now, just return the first 25 items found. Later, implement paged search results.

Show top IP addresses in graph

Use some sort of pie-type chart, and when the user clicks on a given IP address, all log entries from that address are shown. Possible just show the top N < 1/P that are above a certain fraction P.

Paged search results

Have search create a temporary log file with the search results, and put front-end into mode where everything works the same except the temporary log file is used.

  • Allow logtail.php take optional logfile as parameter
  • Change front-end display to show that we're no longer paging through the access.log but the search results and what the search term was
  • Maybe: have whatever offline statistics functionality exists run on temporary file so graphs (in the future) can persist and work with the search results

Change URL when page changes

Make a given page available as option to log request. When page changes, programmatically change URL to reflect this and provide way to return. (If this is even possible.)

Multi-dimensional search

When drilling down to an hour after drilling down to an IP, the two searches should be intersected.

Link to whois

Have frontend script create a 'whois' link for each IP address that will run a local whois search and report the results in a separate div.

Use ___tail.php for search

With a search term and page length parameter, there should be no reason for a separate search and tail function?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.