Cipher Server

Test suite to validate using one or multiple ciphers to protect DoH connection

TLS v1.3 Connection

Description

Sets up the DUT0 as a server, DUT1 as a client and ensures the communication between them is secured by TLS v1.3.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces ethernet eth0 address 10.215.168.64/24
set protocols static route 0.0.0.0/0 next-hop 10.215.168.1
set service dns proxy server cert file 'running://dns.dut0.crt'
set service dns proxy server cert key 'running://dns.dut0.key'
set service dns proxy server-name RD
set service dns proxy static RD protocol dns-over-https hash ce5bfb07edc17945305c52b77f54ddda93ca3edba3b5213add895927eb42f82a
set service dns proxy static RD protocol dns-over-https host name remote.dns
set service dns proxy static RD protocol dns-over-https ip 10.215.168.1
set service dns static host-name teldat.com inet 10.11.12.13
set system certificate trust 'running://remote.dns-server.crt'
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 2: Set the following configuration in DUT1 :

set interfaces ethernet eth0 address 10.215.168.65/24
set protocols static route 0.0.0.0/0 next-hop 10.215.168.1
set service dns proxy log level 0
set service dns proxy server-name DUT0
set service dns proxy static DUT0 protocol dns-over-https hash 0fa75d42025971d1388c9ea51222643c58b4b13fa3afa1e99a19130f6b5d6383
set service dns proxy static DUT0 protocol dns-over-https host name dns.dut0
set service dns proxy static DUT0 protocol dns-over-https host port 3000
set service dns proxy static DUT0 protocol dns-over-https ip 10.215.168.64
set service dns resolver local
set service dns static host-name dns.dut0 inet 10.215.168.64
set service ssh
set system certificate trust 'running://CA.crt'
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 3: Run command system journal show | cat at DUT1 and expect this output:

Show output
May 26 11:58:15.275386 osdx systemd-journald[1729]: Runtime Journal (/run/log/journal/ba2ceb2530374437ab3721223a91688e) is 1004.0K, max 7.2M, 6.2M free.
May 26 11:58:15.279115 osdx systemd-journald[1729]: Received client request to rotate journal, rotating.
May 26 11:58:15.279166 osdx systemd-journald[1729]: Vacuuming done, freed 0B of archived journals from /run/log/journal/ba2ceb2530374437ab3721223a91688e.
May 26 11:58:15.284920 osdx OSDxCLI[112949]: User 'admin' executed a new command: 'system journal clear'.
May 26 11:58:15.720927 osdx osdx-coredump[159546]: Deleting all coredumps in /opt/vyatta/etc/config/coredump...
May 26 11:58:15.729509 osdx OSDxCLI[112949]: User 'admin' executed a new command: 'system coredump delete all'.
May 26 11:58:16.944345 osdx OSDxCLI[112949]: User 'admin' entered the configuration menu.
May 26 11:58:17.024693 osdx OSDxCLI[112949]: User 'admin' added a new cfg line: 'set interfaces ethernet eth0 address 10.215.168.65/24'.
May 26 11:58:17.101702 osdx OSDxCLI[112949]: User 'admin' added a new cfg line: 'set protocols static route 0.0.0.0/0 next-hop 10.215.168.1'.
May 26 11:58:17.203994 osdx OSDxCLI[112949]: User 'admin' added a new cfg line: 'set service ssh'.
May 26 11:58:17.282059 osdx OSDxCLI[112949]: User 'admin' added a new cfg line: 'show working'.
May 26 11:58:17.389852 osdx INFO[159573]: FRR daemons did not change
May 26 11:58:17.411094 osdx kernel: 8021q: adding VLAN 0 to HW filter on device eth0
May 26 11:58:17.603370 osdx systemd[1]: Starting ssh.service - OpenBSD Secure Shell server...
May 26 11:58:17.618088 osdx sshd[159643]: Server listening on 0.0.0.0 port 22.
May 26 11:58:17.618334 osdx sshd[159643]: Server listening on :: port 22.
May 26 11:58:17.618458 osdx systemd[1]: Started ssh.service - OpenBSD Secure Shell server.
May 26 11:58:17.639247 osdx cfgd[1437]: [112949]Completed change to active configuration
May 26 11:58:17.665626 osdx OSDxCLI[112949]: User 'admin' committed the configuration.
May 26 11:58:17.681693 osdx OSDxCLI[112949]: User 'admin' left the configuration menu.
May 26 11:58:17.829373 osdx OSDxCLI[112949]: User 'admin' executed a new command: 'ping 10.215.168.64 count 1 size 56 timeout 1'.
May 26 11:58:19.589769 osdx OSDxCLI[112949]: User 'admin' entered the configuration menu.
May 26 11:58:19.662311 osdx OSDxCLI[112949]: User 'admin' added a new cfg line: 'set service dns static host-name dns.dut0 inet 10.215.168.64'.
May 26 11:58:19.769308 osdx OSDxCLI[112949]: User 'admin' added a new cfg line: 'set system certificate trust running://CA.crt'.
May 26 11:58:19.853511 osdx OSDxCLI[112949]: User 'admin' added a new cfg line: 'set service dns proxy server-name DUT0'.
May 26 11:58:20.013605 osdx OSDxCLI[112949]: User 'admin' added a new cfg line: 'set service dns proxy static DUT0 protocol dns-over-https host name dns.dut0'.
May 26 11:58:20.075153 osdx OSDxCLI[112949]: User 'admin' added a new cfg line: 'set service dns proxy static DUT0 protocol dns-over-https host port 3000'.
May 26 11:58:20.186784 osdx OSDxCLI[112949]: User 'admin' added a new cfg line: 'set service dns proxy static DUT0 protocol dns-over-https ip 10.215.168.64'.
May 26 11:58:20.245212 osdx OSDxCLI[112949]: User 'admin' added a new cfg line: 'set service dns proxy static DUT0 protocol dns-over-https hash 0fa75d42025971d1388c9ea51222643c58b4b13fa3afa1e99a19130f6b5d6383'.
May 26 11:58:20.361802 osdx OSDxCLI[112949]: User 'admin' added a new cfg line: 'set service dns proxy log level 0'.
May 26 11:58:20.488677 osdx OSDxCLI[112949]: User 'admin' added a new cfg line: 'set service dns resolver local'.
May 26 11:58:20.573118 osdx OSDxCLI[112949]: User 'admin' added a new cfg line: 'show working'.
May 26 11:58:20.673604 osdx INFO[159702]: FRR daemons did not change
May 26 11:58:20.707047 osdx ca-certificates[159718]: Updating certificates in /etc/ssl/certs...
May 26 11:58:21.263986 osdx ca-certificates[160720]: 1 added, 0 removed; done.
May 26 11:58:21.266696 osdx ca-certificates[160728]: Running hooks in /etc/ca-certificates/update.d...
May 26 11:58:21.269423 osdx ca-certificates[160730]: done.
May 26 11:58:21.383454 osdx systemd[1]: Started dnscrypt-proxy.service - DNSCrypt client proxy.
May 26 11:58:21.384772 osdx cfgd[1437]: [112949]Completed change to active configuration
May 26 11:58:21.387210 osdx OSDxCLI[112949]: User 'admin' committed the configuration.
May 26 11:58:21.414913 osdx OSDxCLI[112949]: User 'admin' left the configuration menu.
May 26 11:58:21.569402 osdx OSDxCLI[112949]: User 'admin' executed a new command: 'system journal show | cat'.
May 26 11:58:21.587596 osdx dnscrypt-proxy[160790]: dnscrypt-proxy 2.0.45
May 26 11:58:21.587860 osdx dnscrypt-proxy[160790]: Network connectivity detected
May 26 11:58:21.588073 osdx dnscrypt-proxy[160790]: Dropping privileges
May 26 11:58:21.590439 osdx dnscrypt-proxy[160790]: Network connectivity detected
May 26 11:58:21.590480 osdx dnscrypt-proxy[160790]: Now listening to 127.0.0.1:53 [UDP]
May 26 11:58:21.590486 osdx dnscrypt-proxy[160790]: Now listening to 127.0.0.1:53 [TCP]
May 26 11:58:21.590515 osdx dnscrypt-proxy[160790]: Firefox workaround initialized
May 26 11:58:21.590520 osdx dnscrypt-proxy[160790]: Loading the set of cloaking rules from [/tmp/tmp0gat8zt1]
May 26 11:58:21.797712 osdx dnscrypt-proxy[160790]: [DUT0] TLS version: 304 - Protocol: h2 - Cipher suite: 4867
May 26 11:58:21.797725 osdx dnscrypt-proxy[160790]: [DUT0] OK (DoH) - rtt: 119ms
May 26 11:58:21.797732 osdx dnscrypt-proxy[160790]: Server with the lowest initial latency: DUT0 (rtt: 119ms)
May 26 11:58:21.797737 osdx dnscrypt-proxy[160790]: dnscrypt-proxy is ready - live servers: 1