mirror of
https://github.com/netbirdio/plugins.git
synced 2026-05-22 18:44:07 -07:00
dns/bind: rndc, dnsbl, logging (#747)
This commit is contained in:
@@ -35,4 +35,10 @@
|
||||
<allownew>true</allownew>
|
||||
<help>Set one or more hosts to send your DNS queries if the request is unknown.</help>
|
||||
</field>
|
||||
<field>
|
||||
<id>general.logsize</id>
|
||||
<label>Logsize in MB</label>
|
||||
<type>text</type>
|
||||
<help>Set the amount how big a logfile can growth.</help>
|
||||
</field>
|
||||
</form>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<model>
|
||||
<mount>//OPNsense/bind/general</mount>
|
||||
<description>BIND configuration</description>
|
||||
<version>1.0.1</version>
|
||||
<version>1.0.2</version>
|
||||
<items>
|
||||
<enabled type="BooleanField">
|
||||
<default>0</default>
|
||||
@@ -28,5 +28,12 @@
|
||||
<Required>N</Required>
|
||||
<asList>Y</asList>
|
||||
</forwarders>
|
||||
<logsize type="IntegerField">
|
||||
<default>5</default>
|
||||
<Required>Y</Required>
|
||||
<MinimumValue>1</MinimumValue>
|
||||
<MaximumValue>1000</MaximumValue>
|
||||
<ValidationMessage>Choose a value between 1 and 1000.</ValidationMessage>
|
||||
</logsize>
|
||||
</items>
|
||||
</model>
|
||||
|
||||
@@ -127,7 +127,7 @@ $( document ).ready(function() {
|
||||
|
||||
$("#saveAct_dnsbl").click(function(){
|
||||
saveFormToEndpoint(url="/api/bind/dnsbl/set", formid='frm_dnsbl_settings',callback_ok=function(){
|
||||
$("#saveAct_acl_progress").addClass("fa fa-spinner fa-pulse");
|
||||
$("#saveAct_dnsbl_progress").addClass("fa fa-spinner fa-pulse");
|
||||
ajaxCall(url="/api/bind/service/dnsbl", sendData={}, callback=function(data,status) {
|
||||
ajaxCall(url="/api/bind/service/reconfigure", sendData={}, callback=function(data,status) {
|
||||
ajaxCall(url="/api/bind/service/status", sendData={}, callback=function(data,status) {
|
||||
|
||||
@@ -38,47 +38,49 @@ mkdir -p ${WORKDIR}
|
||||
easylist() {
|
||||
# EasyList
|
||||
${FETCH} https://justdomains.github.io/blocklists/lists/easylist-justdomains.txt -o ${WORKDIR}/easylist-raw
|
||||
sed "/\.$/d" ${WORKDIR}/easylist-raw > ${WORKDIR}/easylist
|
||||
sed "/\.$/d" ${WORKDIR}/easylist-raw | sed "/^#/ d" | sed "/\_/d" > ${WORKDIR}/easylist
|
||||
rm ${WORKDIR}/easylist-raw
|
||||
}
|
||||
|
||||
easyprivacy() {
|
||||
# EasyPrivacy
|
||||
${FETCH} https://justdomains.github.io/blocklists/lists/easyprivacy-justdomains.txt -o ${WORKDIR}/easyprivacy-raw
|
||||
sed "/\.$/d" ${WORKDIR}/easyprivacy-raw > ${WORKDIR}/easyprivacy
|
||||
sed "/\.$/d" ${WORKDIR}/easyprivacy-raw | sed "/^#/ d" | sed "/\_/d" > ${WORKDIR}/easyprivacy
|
||||
rm ${WORKDIR}/easyprivacy-raw
|
||||
}
|
||||
|
||||
adguard() {
|
||||
# AdGuard
|
||||
${FETCH} https://justdomains.github.io/blocklists/lists/adguarddns-justdomains.txt -o ${WORKDIR}/adguard-raw
|
||||
sed "/\.$/d" ${WORKDIR}/adguard-raw > ${WORKDIR}/adguard
|
||||
sed "/\.$/d" ${WORKDIR}/adguard-raw | sed "/^#/ d" | sed "/\_/d" > ${WORKDIR}/adguard
|
||||
rm ${WORKDIR}/adguard-raw
|
||||
}
|
||||
|
||||
nocoin() {
|
||||
# NoCoin
|
||||
${FETCH} https://justdomains.github.io/blocklists/lists/nocoin-justdomains.txt -o ${WORKDIR}/nocoin
|
||||
${FETCH} https://justdomains.github.io/blocklists/lists/nocoin-justdomains.txt -o ${WORKDIR}/nocoin-raw
|
||||
sed "/\.$/d" ${WORKDIR}/nocoin-raw | sed "/^#/ d" | sed "/\_/d" > ${WORKDIR}/nocoin
|
||||
rm ${WORKDIR}/nocoin-raw
|
||||
}
|
||||
|
||||
rwtracker() {
|
||||
# RansomWare Tracker abuse.ch
|
||||
${FETCH} https://ransomwaretracker.abuse.ch/downloads/RW_DOMBL.txt -o ${WORKDIR}/rwtracker-comments
|
||||
sed '/^#/ d' ${WORKDIR}/rwtracker-comments > ${WORKDIR}/rwtracker
|
||||
rm ${WORKDIR}/rwtracker-comments
|
||||
${FETCH} https://ransomwaretracker.abuse.ch/downloads/RW_DOMBL.txt -o ${WORKDIR}/rwtracker-raw
|
||||
sed "/\.$/d" ${WORKDIR}/rwtracker-raw | sed "/^#/ d" | sed "/\_/d" > ${WORKDIR}/rwtracker
|
||||
rm ${WORKDIR}/rwtracker-raw
|
||||
}
|
||||
|
||||
mwdomains() {
|
||||
# MalwareDomains
|
||||
${FETCH} http://malwaredomains.lehigh.edu/files/justdomains -o ${WORKDIR}/malwaredomains-comments
|
||||
sed '/^#/ d' ${WORKDIR}/malwaredomains-comments > ${WORKDIR}/malwaredomains
|
||||
rm ${WORKDIR}/malwaredomains-comments
|
||||
${FETCH} http://malwaredomains.lehigh.edu/files/justdomains -o ${WORKDIR}/malwaredomains-raw
|
||||
sed "/\.$/d" ${WORKDIR}/malwaredomains-raw | sed "/^#/ d" | sed "/\_/d" > ${WORKDIR}/malwaredomains
|
||||
rm ${WORKDIR}/malwaredomains-raw
|
||||
}
|
||||
|
||||
install() {
|
||||
# Put all files in correct format
|
||||
for FILE in $(find ${WORKDIR} -type f); do
|
||||
awk '{ print "zone " $1 " " $2 " {type master; file \"/usr/local/etc/namedb/master/blacklist.db\"; };" }' ${FILE} | sort -u > ${FILE}.inc
|
||||
awk '{ print "zone " $1 " " $2 " {type master; file \"/usr/local/etc/namedb/master/blacklist.db\"; notify no; };" }' ${FILE} | sort -u > ${FILE}.inc
|
||||
done
|
||||
# Merge resulting files (/dev/null in case there are none)
|
||||
cat $(find ${WORKDIR} -type f -name "*.inc") /dev/null | sort -u > ${DESTDIR}/dnsbl.inc
|
||||
|
||||
@@ -11,3 +11,7 @@ chmod 755 /var/dump
|
||||
mkdir -p /var/stats
|
||||
chown -R bind:bind /var/stats
|
||||
chmod 755 /var/stats
|
||||
|
||||
mkdir -p /var/log/named
|
||||
chown -R bind:bind /var/log/named
|
||||
chmod 755 /var/log/named
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
blacklist.db:/usr/local/etc/namedb/master/blacklist.db
|
||||
named:/etc/rc.conf.d/named
|
||||
named.conf:/usr/local/etc/namedb/named.conf
|
||||
rndc.conf:/usr/local/etc/namedb/rndc.conf
|
||||
|
||||
@@ -28,6 +28,15 @@ options {
|
||||
|
||||
};
|
||||
|
||||
key "rndc-key" {
|
||||
algorithm hmac-sha256;
|
||||
secret "VxtIzJevSQXqnr7h2qerrcwjnZlMWSGGFBndKeNIDfw=";
|
||||
};
|
||||
controls {
|
||||
inet 127.0.0.1 port 9530
|
||||
allow { 127.0.0.1; } keys { "rndc-key"; };
|
||||
};
|
||||
|
||||
zone "." { type hint; file "/usr/local/etc/namedb/named.root"; };
|
||||
|
||||
zone "localhost" { type master; file "/usr/local/etc/namedb/master/localhost-forward.db"; };
|
||||
@@ -40,4 +49,27 @@ include "/usr/local/etc/namedb/dnsbl.inc";
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
logging {
|
||||
channel default_log {
|
||||
file "/var/log/named/named.log" versions 3 size {{ OPNsense.bind.general.logsize }}m;
|
||||
print-time yes;
|
||||
print-severity yes;
|
||||
print-category yes;
|
||||
};
|
||||
|
||||
channel query_log {
|
||||
file "/var/log/named/query.log" versions 3 size {{ OPNsense.bind.general.logsize }}m;
|
||||
print-time yes;
|
||||
};
|
||||
|
||||
channel rpz_log {
|
||||
file "/var/log/named/rpz.log" versions 3 size {{ OPNsense.bind.general.logsize }}m;
|
||||
print-time yes;
|
||||
};
|
||||
|
||||
category default { default_log; };
|
||||
category general { default_log; };
|
||||
category queries { query_log; };
|
||||
category rpz { rpz_log; };
|
||||
};
|
||||
{% endif %}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
key "rndc-key" {
|
||||
algorithm hmac-sha256;
|
||||
secret "VxtIzJevSQXqnr7h2qerrcwjnZlMWSGGFBndKeNIDfw=";
|
||||
};
|
||||
|
||||
options {
|
||||
default-key "rndc-key";
|
||||
default-server 127.0.0.1;
|
||||
default-port 9530;
|
||||
};
|
||||
Reference in New Issue
Block a user