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 2bf8e614357d7ffe91a319d2d25e8046a64f2d349a757e66b5e8c8ccea2231f5
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 9f444c9daf09a961f8e3b07e2ccc7bd023ed932c325d5c835b7fc48cc675ccf2
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 19 14:46:16.286644 osdx systemd-journald[1727]: Runtime Journal (/run/log/journal/84645c9b514a44e9b4e3e764dfb17349) is 992.0K, max 7.2M, 6.2M free.
May 19 14:46:16.287126 osdx systemd-journald[1727]: Received client request to rotate journal, rotating.
May 19 14:46:16.287162 osdx systemd-journald[1727]: Vacuuming done, freed 0B of archived journals from /run/log/journal/84645c9b514a44e9b4e3e764dfb17349.
May 19 14:46:16.298006 osdx OSDxCLI[1965]: User 'admin' executed a new command: 'system journal clear'.
May 19 14:46:16.762055 osdx osdx-coredump[49495]: Deleting all coredumps in /opt/vyatta/etc/config/coredump...
May 19 14:46:16.770149 osdx OSDxCLI[1965]: User 'admin' executed a new command: 'system coredump delete all'.
May 19 14:46:17.985769 osdx OSDxCLI[1965]: User 'admin' entered the configuration menu.
May 19 14:46:18.085962 osdx OSDxCLI[1965]: User 'admin' added a new cfg line: 'set interfaces ethernet eth0 address 10.215.168.65/24'.
May 19 14:46:18.169905 osdx OSDxCLI[1965]: User 'admin' added a new cfg line: 'set protocols static route 0.0.0.0/0 next-hop 10.215.168.1'.
May 19 14:46:18.227144 osdx OSDxCLI[1965]: User 'admin' added a new cfg line: 'set service ssh'.
May 19 14:46:18.339963 osdx OSDxCLI[1965]: User 'admin' added a new cfg line: 'show working'.
May 19 14:46:18.417798 osdx INFO[49522]: FRR daemons did not change
May 19 14:46:18.443140 osdx kernel: 8021q: adding VLAN 0 to HW filter on device eth0
May 19 14:46:18.619478 osdx systemd[1]: Starting ssh.service - OpenBSD Secure Shell server...
May 19 14:46:18.630626 osdx sshd[49592]: Server listening on 0.0.0.0 port 22.
May 19 14:46:18.630821 osdx sshd[49592]: Server listening on :: port 22.
May 19 14:46:18.630922 osdx systemd[1]: Started ssh.service - OpenBSD Secure Shell server.
May 19 14:46:18.654170 osdx cfgd[1434]: [1965]Completed change to active configuration
May 19 14:46:18.682821 osdx OSDxCLI[1965]: User 'admin' committed the configuration.
May 19 14:46:18.712842 osdx OSDxCLI[1965]: User 'admin' left the configuration menu.
May 19 14:46:18.849204 osdx OSDxCLI[1965]: User 'admin' executed a new command: 'ping 10.215.168.64 count 1 size 56 timeout 1'.
May 19 14:46:20.679241 osdx OSDxCLI[1965]: User 'admin' entered the configuration menu.
May 19 14:46:20.741471 osdx OSDxCLI[1965]: User 'admin' added a new cfg line: 'set service dns static host-name dns.dut0 inet 10.215.168.64'.
May 19 14:46:20.837756 osdx OSDxCLI[1965]: User 'admin' added a new cfg line: 'set system certificate trust running://CA.crt'.
May 19 14:46:20.900215 osdx OSDxCLI[1965]: User 'admin' added a new cfg line: 'set service dns proxy server-name DUT0'.
May 19 14:46:21.012992 osdx OSDxCLI[1965]: User 'admin' added a new cfg line: 'set service dns proxy static DUT0 protocol dns-over-https host name dns.dut0'.
May 19 14:46:21.073989 osdx OSDxCLI[1965]: User 'admin' added a new cfg line: 'set service dns proxy static DUT0 protocol dns-over-https host port 3000'.
May 19 14:46:21.170761 osdx OSDxCLI[1965]: User 'admin' added a new cfg line: 'set service dns proxy static DUT0 protocol dns-over-https ip 10.215.168.64'.
May 19 14:46:21.237766 osdx OSDxCLI[1965]: User 'admin' added a new cfg line: 'set service dns proxy static DUT0 protocol dns-over-https hash 9f444c9daf09a961f8e3b07e2ccc7bd023ed932c325d5c835b7fc48cc675ccf2'.
May 19 14:46:21.327907 osdx OSDxCLI[1965]: User 'admin' added a new cfg line: 'set service dns proxy log level 0'.
May 19 14:46:21.385803 osdx OSDxCLI[1965]: User 'admin' added a new cfg line: 'set service dns resolver local'.
May 19 14:46:21.502082 osdx OSDxCLI[1965]: User 'admin' added a new cfg line: 'show working'.
May 19 14:46:21.589223 osdx INFO[49651]: FRR daemons did not change
May 19 14:46:21.604693 osdx ca-certificates[49667]: Updating certificates in /etc/ssl/certs...
May 19 14:46:22.105920 osdx ca-certificates[50672]: 1 added, 0 removed; done.
May 19 14:46:22.108805 osdx ca-certificates[50677]: Running hooks in /etc/ca-certificates/update.d...
May 19 14:46:22.111506 osdx ca-certificates[50679]: done.
May 19 14:46:22.215365 osdx systemd[1]: Started dnscrypt-proxy.service - DNSCrypt client proxy.
May 19 14:46:22.216919 osdx cfgd[1434]: [1965]Completed change to active configuration
May 19 14:46:22.219171 osdx OSDxCLI[1965]: User 'admin' committed the configuration.
May 19 14:46:22.236419 osdx OSDxCLI[1965]: User 'admin' left the configuration menu.
May 19 14:46:22.281540 osdx dnscrypt-proxy[50739]: dnscrypt-proxy 2.0.45
May 19 14:46:22.281854 osdx dnscrypt-proxy[50739]: Network connectivity detected
May 19 14:46:22.282106 osdx dnscrypt-proxy[50739]: Dropping privileges
May 19 14:46:22.284268 osdx dnscrypt-proxy[50739]: Network connectivity detected
May 19 14:46:22.286844 osdx dnscrypt-proxy[50739]: Now listening to 127.0.0.1:53 [UDP]
May 19 14:46:22.286893 osdx dnscrypt-proxy[50739]: Now listening to 127.0.0.1:53 [TCP]
May 19 14:46:22.286939 osdx dnscrypt-proxy[50739]: Firefox workaround initialized
May 19 14:46:22.286965 osdx dnscrypt-proxy[50739]: Loading the set of cloaking rules from [/tmp/tmpjhxw9z_7]
May 19 14:46:22.394515 osdx OSDxCLI[1965]: User 'admin' executed a new command: 'system journal show | cat'.
May 19 14:46:22.505694 osdx dnscrypt-proxy[50739]: [DUT0] TLS version: 304 - Protocol: h2 - Cipher suite: 4867
May 19 14:46:22.505711 osdx dnscrypt-proxy[50739]: [DUT0] OK (DoH) - rtt: 108ms
May 19 14:46:22.505723 osdx dnscrypt-proxy[50739]: Server with the lowest initial latency: DUT0 (rtt: 108ms)
May 19 14:46:22.505727 osdx dnscrypt-proxy[50739]: dnscrypt-proxy is ready - live servers: 1