feat(scanner): if an auth token has been set, fail non-https communication with server

except to localhost.

!11 #1
This commit is contained in:
2024-02-24 20:11:06 +09:30
parent 15b0ddb068
commit b005a31aab
2 changed files with 21 additions and 0 deletions

View File

@ -102,3 +102,5 @@ Once the [server component](server.md#remote%20network%20scannning) has been set
!!! danger "Security" !!! danger "Security"
Failing to secure the server component communication with TLS will allow anyone with direct access to the line of communication to view the `auth_token`. Anyone who has the `auth_token` will be able to upload data to the server. Failing to secure the server component communication with TLS will allow anyone with direct access to the line of communication to view the `auth_token`. Anyone who has the `auth_token` will be able to upload data to the server.
In an attempt to mitigate this, the scanner will fail to communicate with the server if you have set an `auth_token` and attempt non-TLS communication with the server.

View File

@ -60,6 +60,25 @@
{% endfor %} {% endfor %}
] ]
- name: Force Failure for non-HTTPS Communication
ansible.builtin.assert:
that:
- |-
not
(
(
'http:' in (nofusscomputing_phpipam_scan_agent.http_server | default(nfc_c_http_server) | string)
and
'http://127.0.0.1' not in (nofusscomputing_phpipam_scan_agent.http_server | default(nfc_c_http_server) | string)
)
and
nofusscomputing_phpipam_scan_agent.auth_token | default('no-token-set') != 'no-token-set'
)
fail_msg: 'Failing task as an attempt was made to communicate with the server over a non-encrypted channel'
success_msg: 'OK'
- name: To JSON - {{ subnet.address }} - name: To JSON - {{ subnet.address }}
ansible.builtin.set_fact: ansible.builtin.set_fact:
subnet_scan_results: "{{ subnet_scan_results | from_yaml }}" subnet_scan_results: "{{ subnet_scan_results | from_yaml }}"