77 lines
1.8 KiB
Markdown
77 lines
1.8 KiB
Markdown
# analyzer-d4-passivedns
|
|
|
|
analyzer-d4-passivedns is an analyzer for a D4 network sensor. The analyser can process data produced by D4 sensors (in [passivedns](https://github.com/gamelinux/passivedns) CSV format (more to come)) and
|
|
ingest these into a Passive DNS server which can be queried later to search for the Passive DNS records.
|
|
|
|
# Features
|
|
|
|
- A D4 analyzer which can be plugged to one or more [D4 servers](https://github.com/D4-project/d4-core) to get a stream of DNS records
|
|
- A compliant [Passive DNS ReST server compliant to Common Output Format](https://tools.ietf.org/html/draft-dulaunoy-dnsop-passive-dns-cof-04)
|
|
- A flexible and simple analyser which can be configured to collect the required records from DNS records
|
|
|
|
# Overview
|
|
|
|
## Requirements
|
|
|
|
- Python 3
|
|
- Redis >5.0
|
|
- Tornado
|
|
- iptools
|
|
|
|
## Install
|
|
|
|
~~~~
|
|
./install_server.sh
|
|
~~~~
|
|
|
|
All the Python 3 code will be installed in a virtualenv (PDNSENV).
|
|
|
|
## Running
|
|
|
|
### Start the redis server
|
|
|
|
Don't forget to set the DB directory in the redis.conf configuration. By default, the redis for Passive DNS is running on TCP port 6400
|
|
|
|
~~~~
|
|
./redis/src/redis-server ./etc/redis.conf
|
|
~~~~
|
|
|
|
### Start the Passive DNS COF server
|
|
|
|
~~~~
|
|
. ./PDNSENV/bin/activate
|
|
cd ./bin/
|
|
python3 ./pdns-cof-server.py
|
|
~~~~
|
|
|
|
### Configure and start the D4 analyzer
|
|
|
|
~~~~
|
|
cd ./etc
|
|
cp analyzer.conf.sample analyzer.conf
|
|
~~~~
|
|
|
|
Edit the analyzer.conf to match the UUID of the analyzer queue from your D4 server.
|
|
|
|
~~~~
|
|
[global]
|
|
my-uuid = 6072e072-bfaa-4395-9bb1-cdb3b470d715
|
|
d4-server = 127.0.0.1:6380
|
|
# INFO|DEBUG
|
|
logging-level = INFO
|
|
~~~~
|
|
|
|
then you can start the analyzer which will fetch the data from the analyzer, parse it and
|
|
populate the Passive DNS database.
|
|
|
|
~~~~
|
|
. ./PDNSENV/bin/activate/
|
|
cd ./bin/
|
|
python3 pdns-ingestion.py
|
|
~~~~
|
|
|
|
# License
|
|
|
|
The software is free software/open source released under the GNU Affero General Public License version 3.
|
|
|