<commit_before>asprom - assault profile monitor
================================

asprom is a firewall compliance scanner. You define a profile of which services your network(s) should offer to users.
The scanner automatically and regularly portscans your networks using nmap and reports any aberrations from the defined profile.

This functionality can be used to ascertain PCI-DSS, BSI-Grundschutz or DIN 27001 compliance of stateful firewalls.

Don't be afraid - it is easily installed, very user-friendly and doesn't require any knowledge besides basic tcp/ip concepts :-)


How to install
--------------

### Runtime

I am using asprom on debian wheezy, so this install guide references apt-get. I'm sure you can translate that to the package manager of your choice distribution.

`apt-get install cron python python-pip git mysql-server nmap python-mysqldb python-nmap`

install the remaining python dependencies directly from pypi.

`pip install python-crontab netaddr paste bottle config croniter`

su to an unprivileged user, then clone the git repository.

```bash
cd ~
git clone https://github.com/daimoniac/asprom.git
cd asprom
```


### Database

edit etc/asprom.cfg and set your database parameters.

create an empty database and grant the user you just specified all rights to it.

```sql
mysql -uroot -p
> create database asprom;<commit_msg>amend README<commit_after>asprom - assault profile monitor
================================

asprom is a firewall compliance scanner. You define a profile of which services your network(s) should offer to users.
The scanner automatically and regularly portscans your networks using nmap and reports any aberrations from the defined profile.

This functionality can be used to ascertain PCI-DSS, BSI-Grundschutz or DIN 27001 compliance of stateful firewalls.

Don't be afraid - it is easily installed, very user-friendly and doesn't require any knowledge besides basic tcp/ip concepts :-)


How to install
--------------

## docker
this includes everything - automatic tls and google auth delegation, hooray.

```
cp env.example .env
docker-compose up -d
```

## classic

### Runtime

I am using asprom on debian wheezy, so this install guide references apt-get. I'm sure you can translate that to the package manager of your choice distribution.

`apt-get install cron python python-pip git mysql-server nmap python-mysqldb python-nmap`

install the remaining python dependencies directly from pypi.

`pip install python-crontab netaddr paste bottle config croniter`

su to an unprivileged user, then clone the git repository.

```bash
cd ~
git clone https://github.com/daimoniac/asprom.git
cd asprom
```


### Database

edit etc/asprom.cfg and set your database parameters.

create an empty database and grant the user you just specified all rights to it.

```sql
mysql -uroot -p
> create database asprom;
{'fraction_non_alphanumeric': 0.08767027593433462, 'fraction_numerical': 0.0034928396786587496, 'mean_word_length': 4.303703703703704, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '583581', 'n_tokens_mistral': 788, 'n_tokens_neox': 727, 'n_words': 376}