Skip to content

Commit 7eac551

Browse files
author
A. Täffner
committed
Missing files
1 parent be9bc3b commit 7eac551

13 files changed

+656
-0
lines changed

install/tpl/config.sh.master

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/bash
2+
#mysql
3+
dbase={mysql_server_database}
4+
dbhost={mysql_server_ip}
5+
dbuser={mysql_server_ispconfig_user}
6+
dbpass={mysql_server_ispconfig_password}
7+
8+
bindpath=/etc/bind
9+
backuppath=$bindpath/backup
10+
curpath=`pwd`
11+
if [ -f /etc/gentoo-release ] ; then
12+
filespre="pri/"
13+
else
14+
filespre="pri."
15+
fi
16+
timenow=`/bin/date +"%Y%m%d-%H%M%S"`
17+
18+
namedconf="$bindpath/named.conf.local"
19+
md5namedconf="$bindpath/named.conf.local.md5"
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
source {dnssec_conffile}
3+
4+
mysqlcheck=`mysql -u $dbuser --password=$dbpass -h $dbhost -Bse "use $dbase; show tables;" | wc -c`
5+
if [ "$mysqlcheck" = 0 ];then
6+
echo "could not connect to database"
7+
exit 0
8+
fi
9+
10+
mysqlcheck=`mysql -u $dbuser --password=$dbpass -h $dbhost -Bse "use $dbase; select origin from dns_soa where active='Y' and dnssec_initialized='N';" | awk {' print $1 '}`
11+
for ACTIVE in $mysqlcheck; do
12+
/usr/local/ispconfig/server/scripts/dnssec/dnssec-create.sh ${ACTIVE::-1}
13+
done
14+
15+
cd $curpath
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#!/bin/bash
2+
source {dnssec_conffile}
3+
4+
mysqlcheck=`mysql -u $dbuser --password=$dbpass -h $dbhost -Bse "use $dbase; show tables;" | wc -c`
5+
if [ "$mysqlcheck" = 0 ];then
6+
echo "could not connect to database"
7+
exit 0
8+
fi
9+
10+
mysqlcheck=`mysql -u $dbuser --password=$dbpass -h $dbhost -Bse "use $dbase; select origin from dns_soa where active='Y' and dnssec_initialized='Y';"`
11+
for origindomain in $mysqlcheck; do
12+
domain=${origindomain::-1}
13+
dnssechelp=`head -1 $bindpath/dsset-$domain.`
14+
dnssecid=`echo $dnssechelp | awk {' print $4 '}`
15+
dnssecalg=`echo $dnssechelp | awk {' print $5 '}`
16+
dnssecdt=`echo $dnssechelp | awk {' print $6 '}`
17+
dnssecd=`echo $dnssechelp | awk {' print $7 '}`
18+
echo "DS Record 1:">/tmp/.dnssec-autopick
19+
echo "Key Tag/ID: $dnssecid">>/tmp/.dnssec-autopick
20+
echo "Algorithm: $dnssecalg">>/tmp/.dnssec-autopick
21+
echo "Digest/HASH Type: $dnssecdt">>/tmp/.dnssec-autopick
22+
echo "Digest/HASH: $dnssecd">>/tmp/.dnssec-autopick
23+
24+
dns2sechelp=`tail -n 1 $bindpath/dsset-$domain.`
25+
dns2secid=`echo $dns2sechelp | awk {' print $4 '}`
26+
dns2secalg=`echo $dns2sechelp | awk {' print $5 '}`
27+
dns2secdt=`echo $dns2sechelp | awk {' print $6 '}`
28+
dns2secd=`echo $dns2sechelp | awk {' print $7""$8 '}`
29+
echo "">>/tmp/.dnssec-autopick
30+
echo "DS Record 2:">>/tmp/.dnssec-autopick
31+
echo "Key Tag/ID: $dns2secid">>/tmp/.dnssec-autopick
32+
echo "Algorithm: $dns2secalg">>/tmp/.dnssec-autopick
33+
echo "Digest/HASH Type: $dns2secdt">>/tmp/.dnssec-autopick
34+
echo "Digest/HASH: $dns2secd">>/tmp/.dnssec-autopick
35+
36+
echo "">>/tmp/.dnssec-autopick
37+
echo "In DS-Record format:">>/tmp/.dnssec-autopick
38+
cat $bindpath/dsset-$domain.>>/tmp/.dnssec-autopick
39+
40+
echo "">>/tmp/.dnssec-autopick
41+
echo "DNSKEY-Records:">>/tmp/.dnssec-autopick
42+
cat $bindpath/K$domain.+*.key>>/tmp/.dnssec-autopick
43+
44+
mysql -u $dbuser --password=$dbpass -h $dbhost -Bse "use $dbase; UPDATE dns_soa SET dnssec_info='`cat /tmp/.dnssec-autopick`', dnssec_initialized='Y' WHERE origin='$domain.'"
45+
rm /tmp/.dnssec-autopick
46+
done
47+
48+
echo "I'm done!"
49+
exit 0
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#!/bin/bash
2+
source {dnssec_conffile}
3+
4+
if [ ! -d $backuppath ]; then mkdir -p $backuppath; fi
5+
#connect to database
6+
mysqlcheck=`mysql -u $dbuser --password=$dbpass -h $dbhost -Bse "use $dbase; show tables;" | wc -c`
7+
if [ "$mysqlcheck" = 0 ];then
8+
echo "could not connect to database"
9+
exit 0
10+
fi
11+
12+
13+
mysqlcheck=`mysql -u $dbuser --password=$dbpass -h $dbhost -Bse "use $dbase; select origin from dns_soa where active='Y' and dnssec_initialized='Y';" | awk {' print $1 '}`
14+
for ACTIVE in $mysqlcheck; do
15+
/usr/local/ispconfig/server/scripts/dnssec/dnssec-update.sh ${ACTIVE::-1}
16+
done
17+
18+
done
19+
20+
echo "I'm done - You might want to reload bind now"
21+
22+
exit
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/bash
2+
#mysql
3+
dbase={mysql_server_ispconfig_database}
4+
dbhost={mysql_server_ip}
5+
dbuser={mysql_server_ispconfig_user}
6+
dbpass={mysql_server_ispconfig_password}
7+
8+
bindpath=/etc/bind
9+
backuppath=$bindpath/backup
10+
curpath=`pwd`
11+
if [ -f /etc/gentoo-release ] ; then
12+
filespre="pri/"
13+
else
14+
filespre="pri."
15+
fi
16+
timenow=`/bin/date +"%Y%m%d-%H%M%S"`
17+
18+
namedconf="$bindpath/named.conf.local"
19+
md5namedconf="$bindpath/named.conf.local.md5"
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
#!/bin/bash
2+
source {dnssec_conffile}
3+
domain="${1::-1}"
4+
5+
mysqlcheck=`mysql -u $dbuser --password=$dbpass -h $dbhost -Bse "use $dbase; show tables;" | wc -c`
6+
if [ "$mysqlcheck" = 0 ];then
7+
echo "$0 could not connect to database"
8+
exit 0
9+
fi
10+
mysqlcheck=`mysql -u $dbuser --password=$dbpass -h $dbhost -Bse "use $dbase; select * from dns_soa where dnssec_initialized='Y' and origin='$domain.';" | wc -c`
11+
if [ "$mysqlcheck" -gt 1 ];then
12+
echo "$domain seems to be initialized. If that is wrong correct dnssec_initialized in dns_soa table"
13+
fi
14+
cd $bindpath
15+
16+
if [ ! $domain = "" ];then
17+
if [ ! -f $filespre$domain ]; then
18+
echo "$domain zone file ($filespre$domain) does not exist"
19+
exit 0
20+
else
21+
if [ -f dsset-$domain. ];then
22+
echo "dnssec keys for $domain already exists!"
23+
exit 0
24+
else
25+
echo "Creating keys for $domain"
26+
dnssec-keygen -a NSEC3RSASHA1 -b 2048 -n ZONE $domain
27+
dnssec-keygen -f KSK -a NSEC3RSASHA1 -b 4096 -n ZONE $domain
28+
for key in `ls K$domain*.key`; do
29+
echo "\$INCLUDE $bindpath/$key">> $filespre$domain
30+
done
31+
dnssec-signzone -A -3 $(head -c 1000 /dev/random | sha1sum | cut -b 1-16) -N INCREMENT -o $domain -t $filespre$domain
32+
fi
33+
fi
34+
serial=`cat $bindpath/$filespre$domain |grep "serial," |awk {' print $domain '}`
35+
echo ""
36+
dnssechelp=`head -1 $bindpath/dsset-$domain.`
37+
dnssecid=`echo $dnssechelp | awk {' print $4 '}`
38+
dnssecalg=`echo $dnssechelp | awk {' print $5 '}`
39+
dnssecdt=`echo $dnssechelp | awk {' print $6 '}`
40+
dnssecd=`echo $dnssechelp | awk {' print $7 '}`
41+
echo "DS Record 1:">/tmp/.dnssec-$domain
42+
echo "Key Tag/ID: $dnssecid">>/tmp/.dnssec-$domain
43+
echo "Algorithm: $dnssecalg">>/tmp/.dnssec-$domain
44+
echo "Digest/HASH Type: $dnssecdt">>/tmp/.dnssec-$domain
45+
echo "Digest/HASH: $dnssecd">>/tmp/.dnssec-$domain
46+
47+
dns2sechelp=`tail -n 1 $bindpath/dsset-$domain.`
48+
dns2secid=`echo $dns2sechelp | awk {' print $4 '}`
49+
dns2secalg=`echo $dns2sechelp | awk {' print $5 '}`
50+
dns2secdt=`echo $dns2sechelp | awk {' print $6 '}`
51+
dns2secd=`echo $dns2sechelp | awk {' print $7""$8 '}`
52+
echo "">>/tmp/.dnssec-$domain
53+
echo "DS Record 2:">>/tmp/.dnssec-$domain
54+
echo "Key Tag/ID: $dns2secid">>/tmp/.dnssec-$domain
55+
echo "Algorithm: $dns2secalg">>/tmp/.dnssec-$domain
56+
echo "Digest/HASH Type: $dns2secdt">>/tmp/.dnssec-$domain
57+
echo "Digest/HASH: $dns2secd">>/tmp/.dnssec-$domain
58+
59+
echo "">>/tmp/.dnssec-$domain
60+
echo "In DS-Record format:">>/tmp/.dnssec-$domain
61+
cat $bindpath/dsset-$domain.>>/tmp/.dnssec-$domain
62+
63+
echo "">>/tmp/.dnssec-$domain
64+
echo "DNSKEY-Records:">>/tmp/.dnssec-$domain
65+
cat $bindpath/K$domain.+*.key>>/tmp/.dnssec-$domain
66+
67+
#mysql -u $dbuser --password=$dbpass -h $dbhost -Bse "use $dbase; insert into dnssec_domains set domain='$domain', active='1', serial='$serial', ds1id='$dnssecid', ds1alg='$dnssecalg', ds1htype='$dnssecdt', ds1hash='$dnssecd', ds2id='$dns2secid', ds2alg='$dns2secalg', ds2htype='$dns2secdt', ds2hash='$dns2secd', created=now() ; UPDATE dns_soa SET dnssec_initialized='Y' WHERE origin='$domain.'"
68+
mysql -u $dbuser --password=$dbpass -h $dbhost -Bse "use $dbase; UPDATE dns_soa SET dnssec_info='`cat /tmp/.dnssec-$domain`', dnssec_initialized='Y' WHERE origin='$domain.'"
69+
rm /tmp/.dnssec-$domain
70+
71+
else
72+
echo "usage: dnssec-create.sh <domain.tld>"
73+
fi
74+
cd $curpath
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/bin/bash
2+
source {dnssec_conffile}
3+
pardomain="${1::-1}"
4+
5+
echo "$1 $2 $3 $4 domain: $domain" > /tmp/.last-call-to-dnssec-update
6+
7+
if [ -z "$1" ];then
8+
echo "No domain given"
9+
exit 1
10+
fi
11+
12+
#connect to database
13+
mysqlcheck=`mysql -u $dbuser --password=$dbpass -h $dbhost -Bse "use $dbase; show tables;" | wc -c`
14+
if [ "$mysqlcheck" = 0 ];then
15+
echo "could not connect to database"
16+
exit 0
17+
fi
18+
19+
rm $bindpath/K$pardomain.+*.key
20+
rm "$bindpath/$filespre$pardomain.signed"
21+
rm "$bindpath/dsset-$pardomain."
22+
23+
echo "DNSSEC Keys and zonefile for $pardomain deleted"
24+
25+
exit 0
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/bin/bash
2+
source {dnssec_conffile}
3+
pardomain="${1::-1}"
4+
5+
echo "$0 $1 $2 $3 $4 results in domain: $pardomain" > /tmp/.last-call-to-dnssec-update
6+
7+
8+
9+
if [ ! -d $backuppath ]; then mkdir -p $backuppath; fi
10+
#connect to database for testing
11+
mysqlcheck=`mysql -u $dbuser --password=$dbpass -h $dbhost -Bse "use $dbase; show tables;" | wc -c`
12+
if [ "$mysqlcheck" = 0 ];then
13+
echo "$0 could not connect to database"
14+
cd $curdir
15+
exit 0
16+
fi
17+
18+
mysqlcheck=`mysql -u $dbuser --password=$dbpass -h $dbhost -Bse "use $dbase; select id,serial from dns_soa where active='Y' and origin='$pardomain.';" | awk {' print $1":"$2 '}`
19+
echo $mysqlcheck
20+
zoneid=`echo $mysqlcheck | sed 's/:/ /g' | awk {' print $1 '}`
21+
domain=$pardomain
22+
serial=`echo $mysqlcheck | sed 's/:/ /g' | awk {' print $2 '}`
23+
fserial=`/usr/sbin/named-checkzone $domain $bindpath/$filespre$domain | egrep -ho '[0-9]{10}'`
24+
includecheck=`cat $bindpath/$filespre$domain |grep "INCLUDE" |wc -l`
25+
if [ ! $includecheck = 2 ] ;then
26+
echo "">> $bindpath/pri.$domain
27+
for key in `ls $bindpath/K$pardomain.+*.key`; do
28+
echo "Including $key..."
29+
echo "\$INCLUDE $key">> $bindpath/pri.$domain
30+
done
31+
else
32+
echo "Includes are there. Why ever..."
33+
fi
34+
35+
/usr/sbin/dnssec-signzone -A -3 $(head -c 1000 /dev/random | sha1sum | cut -b 1-16) -N increment -o $domain -t $filespre$domain
36+
mysql -u $dbuser --password=$dbpass -h $dbhost -Bse "use $dbase; update dns_soa set serial='$fserial' where origin='$domain.'; update dns_rr set serial='$fserial' WHERE zone=$zoneid"
37+
38+
echo "DNSSEC for $pardomain has been configured"
39+
cd $curdir
40+
exit 0

0 commit comments

Comments
 (0)