Homas / RpiDNS

RpiDNS - secure DNS for your home or office
https://ioc2rpz.net
Apache License 2.0
7 stars 0 forks source link

RpiDNS

License

Overview

RpiDNS on the ioc2rpz community web-site provides simplified configuration interface and an installation script to provision DNS security at your home, office or home office.

The RpiDNS project on github is a web-interface for RpiDNS. It can be used with a standalone ISC Bind instance. In that case some configuration changes may be required on ISC Bind side and/or RpiDNS.

User interface

Reporting periods

Reporting period is defined by a selector located in top right corner. You can select:

Dashboard

TopX Allowed Requests

The widget shows topX DNS requests which were not blocked.

TopX Allowed Clients

The widget shows topX clients which requests were not blocked.

TopX Allowed Request Types

The widget shows topX request types (e.g. A, AAAA, MX).

RpiDNS

The widget shows information about RpiDNS: CPU utilization, Memory utilization, Disk utilization, Uptime, GPU temperature

TopX Blocked Requests

The widget shows topX DNS requests which were blocked.

TopX Blocked Clients

The widget shows topX clients which requests were blocked.

TopX Feeds

The widget shows topX feeds which were used to block requests.

TopX Servers

The widget shows information about total number requests received by a DNS server (per IP) per reporting period.

Query log

Query log report provide information about all DNS queries received by RpiDNSs in your network.

You can switch between raw logs ("Logs" switch) and statistics ("Stats" switch). On the statistics table there is no time field and you can check/uncheck fields used for aggregation. The report has the following fields:

RPZ Hits

RPZ hits report provide information about blocked requests.

You can switch between raw logs ("Logs" switch) and statistics ("Stats" switch). On the statistics table there is no time field and you can check/uncheck fields used for aggregation. The report has the following fields:

Administration

Assets

On this tab you can define you assets. Depending on the settings assets can be tracked by IP or MAC address. RpiDNS doesn't have integrations with DHCP servers and can track MAC addresses only in the same LAN (arp). For home users it is usually not an issue but provide you flexibility to track a device even if it changes an IP. The device names are used on the dashboard and in the reports.

Blacklist

Blacklist is a local response policy zone which is used to block/redirect requests to defined domains/fqdns. To generate wildcard rules - toggle "include subdomains". You may enable/disable individual rules.

Whitelist

Whitelist is a local response policy zone which is used to allow requests to defined domains/fqdns in case if there is a false positive in the feeds. To generate wildcard rules - toggle "include subdomains". You may enable/disable individual rules.

Settings

On this tab you can:

Scripts

rpidns_install.sh

It is an installation script. It pulls required libraries, tools, packages (except a web-server), copy files to directories, init the database and setup crontab tasks. It was written for Raspbian, other Linux distribution currently are not supported but you can easily update it.

init_db.php

The DB initialization script.

clean_db.php

The script is executed by crontab and removes old log messages from the DB. The DB is cleaned up by native sqlite3 "VACUUM" command.

parce_bind_logs.php

The script parses bind's query and rpz log files, saved logs in the DB and performs data aggregation. The script is executed by cron every minute.

ISC Bind configuration

To work with RpiDNS ISC Bind should:

Database

Built with

Do you want to support to the project?

You can support the project via GitHub Sponsor (recurring payments) or make one time donation via PayPal.

Contact us

You can contact us by email: feedback(at)ioc2rpz[.]net or in Telegram.

License

Copyright 2020 Vadim Pavlov ioc2rpz[at]gmail[.]com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0  

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.