Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev #40

Merged
merged 6 commits into from
Oct 3, 2024
Merged

Dev #40

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion landing_page/templates/landing_page.html
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ <h5 class="card-title font-weight-600 text-blue-gradient">Service & Vulnerabilit
<p class="text-multi-purpose-gray-600">Identifies server services and potential vulnerabilities with recommendations for security improvements</p>
</div>

<form method="post" action="infra-testing/infra-test/" id="web-server-test">
<form method="post" action="infra-testing/service-test/" id="web-server-test">
{% csrf_token %}

<div class="mb-3">
Expand Down
185 changes: 164 additions & 21 deletions landing_page/templates/ldih_landing.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,52 @@

{% block content %}
{% load static %}
<section class="blue-gradient_background p-4 text-white">
<div class="container my-5">
<div class="mb-5">

<div class="d-flex align-items-center" style="gap: 1.944em">
<hr class="hr-h-width bg-white">
<h3>The nc3 Testing Platform</h3>
</div>
<h1 class="font-size-48 font-weight-800 lh-base">Fostering Best Practices &amp;
<br>
Securing
Luxembourg Digital Future.</h1>
<p class="font-size-20 col-md-6 lh-base">Modern Internet Standards provide for
more
reliability and further
growth of the Internet. Are you using them?</p>
</div>
<div>
<p>
The NC3 Testing platform offers a range of straightforward and efficient tests
designed to assist your organization in evaluating the initial security status
of
your websites, email systems, and infrastructure. These tests are conducted in a
non-invasive manner, focusing on discovery rather than exploiting any identified
vulnerabilities.</p>
<p>You can find more details on the
<a href="https://nc3.lu/pages/services/testing-platform.html">Testing
Continuum</a>
information page.</p>
</div>

</div>
</section>
<section class="container">
<main class="bg-light d-flex w-100 h-100 p-3 flex-column align-items-center text-center">
<img src="{% static 'img/logo-NC3_logos_LOGO_Threat_Platform.png' %}" height="200px">
<!--<h1><span style="color:#009fe3;">c</span><span style="color:#ec1e27;">3</span> Testing Platform</h1>-->
<section class="container">
<p class="lead">
The testing platform holds the tools and services that will help organisations to perform basic tests on
their most commonly exposed infrastructures, starting with email and web servers. More tools will be added
through time to increase the coverage of available tests.
</p>
</section>
<p class="lead">
<a href="/signup/{{ ldih_uuid }}" class="btn btn-lg btn-secondary fw-bold border-white" style="background-color:#009fe3;">Register now!</a>
</p>
</main>

<div class="mt-5">
<h3>Welcome to the nc3 Testing Platform!</h3>
<div class="d-flex align-items-center justify-content-center gap-4">
<hr class="hr-h-width primary-primary-blue_background">
<h3 class="text-primary-primary-blue">Welcome to the nc3 testing platform</h3>
<hr class="hr-h-width primary-primary-blue_background">
</div>

<div class="mb-5">
<h4>Why such a platform?</h4>
<p>
<h2 class="font-size-48 font-weight-800 lh-base text-blue-gradient">Why such a platform?</h2>

<p class="font-size-20 lh-base">
When implementing a security strategy, one of the core issues is to identify priorities. Budgets are not
infinite. Choices have to be made. A fair amount of guidance can be drawn from the traditional risk
assessment exercises, but this often leads to abstract decision-making. In particular, how to identify
Expand All @@ -32,8 +57,8 @@ <h4>Why such a platform?</h4>
</p>
</div>
<div class="mb-5">
<h4>What is the NC3 Testing Platform?</h4>
<p>It’s a set of tools that allow any organisation to start testing its systems in order to identify known
<h2 class="font-size-48 font-weight-800 lh-base text-blue-gradient">What is the NC3 Testing Platform?</h2>
<p class="font-size-20 lh-base">It’s a set of tools that allow any organisation to start testing its systems in order to identify known
weaknesses or vulnerabilities. Some of these tools will require working with security companies of the
Luxembourg Cybersecurity Ecosystem and who agreed to partner with the NC3. Other tools are semi-automated
and operated directly by the NC3.<br>
Expand All @@ -53,8 +78,8 @@ <h4>What is the NC3 Testing Platform?</h4>
</div>

<div class="mb-5">
<h4>Who can benefit from the Testing Platform?</h4>
<p>
<h2 class="font-size-48 font-weight-800 lh-base text-blue-gradient">Who can benefit from the Testing Platform?</h2>
<p class="font-size-20 lh-base">
You have to be an organisation based in Luxembourg in order to access the Testing Platform. If you wish
to register, you can follow <a href="/signup/{{ ldih_uuid }}">this link</a>.
You'll fill a simple form and then be able to chose which services you want to benefit from.
Expand All @@ -64,4 +89,122 @@ <h4>Who can benefit from the Testing Platform?</h4>
</div>
</div>
</section>
<section>
<div id="contact-us-header" class="section blue-gradient_background px-3">
<div class="container d-flex flex-column">
<!-- Contact us -->
<div class="d-flex flex-column align-items-center gap-3">
<div class="d-flex align-items-center gap-4">
<hr class="bg-white" style="width: 75px">
<h3 class="text-white">Contact us</h3>
<hr class="bg-white" style="width: 75px">
</div>
<h2 class="text-white">Reach out to the National Cybersecurity Competence Center
Team</h2>
<span class="font-size-18 lh-sm text-white text-center"
style="max-width: 755px;">We’d love to hear from you! Please get in touch.</span>
</div>
</div>
</div>
<div id="contact-us-cards" class="position-relative pb-5 px-3 ">
<div class="container d-flex flex-column justify-content-center">
<div class="d-flex justify-content-between flex-wrap gap-3">
<div
class="rounded-box-20 d-flex flex-1 align-items-start flex-column bg-white box-shadow multi-purpose-gray-200_border">
<span class="background-icon primary-primary-blue_background mb-3">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"
viewBox="0 0 24 24" fill="transparent">
<path stroke="white"
d="M8.99962 14C8.99962 14 10.3121 15.5 12.4996 15.5C14.6871 15.5 15.9996 14 15.9996 14M15.2496 9H15.2596M9.74962 9H9.75962M12.4996 20C17.194 20 20.9996 16.1944 20.9996 11.5C20.9996 6.80558 17.194 3 12.4996 3C7.8052 3 3.99962 6.80558 3.99962 11.5C3.99962 12.45 4.15547 13.3636 4.443 14.2166C4.55119 14.5376 4.60529 14.6981 4.61505 14.8214C4.62469 14.9432 4.6174 15.0286 4.58728 15.1469C4.55677 15.2668 4.48942 15.3915 4.35472 15.6408L2.71906 18.6684C2.48575 19.1002 2.36909 19.3161 2.3952 19.4828C2.41794 19.6279 2.50337 19.7557 2.6288 19.8322C2.7728 19.9201 3.01692 19.8948 3.50517 19.8444L8.62619 19.315C8.78127 19.299 8.85881 19.291 8.92949 19.2937C8.999 19.2963 9.04807 19.3029 9.11586 19.3185C9.18478 19.3344 9.27145 19.3678 9.44478 19.4345C10.3928 19.7998 11.4228 20 12.4996 20ZM15.7496 9C15.7496 9.27614 15.5258 9.5 15.2496 9.5C14.9735 9.5 14.7496 9.27614 14.7496 9C14.7496 8.72386 14.9735 8.5 15.2496 8.5C15.5258 8.5 15.7496 8.72386 15.7496 9ZM10.2496 9C10.2496 9.27614 10.0258 9.5 9.74962 9.5C9.47348 9.5 9.24962 9.27614 9.24962 9C9.24962 8.72386 9.47348 8.5 9.74962 8.5C10.0258 8.5 10.2496 8.72386 10.2496 9Z"
stroke-width="2" stroke-linecap="round"
stroke-linejoin="round"></path>
</svg>
</span>
<span class="font-size-20 fw-bold lh-sm text-gradient-primary mb-2">Send us an email</span>
<span class="font-size-16 lh-sm text-muted">Speak with our team.</span>
<a href="mailto:[email protected]"
class="fs-6 font-weight-600 text-primary-primary-blue mt-3">[email protected]</a>
</div>
<div
class="rounded-box-20 d-flex flex-1 align-items-start flex-column bg-white box-shadow multi-purpose-gray-200_border">
<span class="background-icon primary-primary-blue_background mb-3">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"
viewBox="0 0 24 24" fill="transparent">
<path stroke="white"
d="M8.38028 8.85335C9.07627 10.303 10.0251 11.6616 11.2266 12.8632C12.4282 14.0648 13.7869 15.0136 15.2365 15.7096C15.3612 15.7694 15.4235 15.7994 15.5024 15.8224C15.7828 15.9041 16.127 15.8454 16.3644 15.6754C16.4313 15.6275 16.4884 15.5704 16.6027 15.4561C16.9523 15.1064 17.1271 14.9316 17.3029 14.8174C17.9658 14.3864 18.8204 14.3864 19.4833 14.8174C19.6591 14.9316 19.8339 15.1064 20.1835 15.4561L20.3783 15.6509C20.9098 16.1824 21.1755 16.4481 21.3198 16.7335C21.6069 17.301 21.6069 17.9713 21.3198 18.5389C21.1755 18.8242 20.9098 19.09 20.3783 19.6214L20.2207 19.779C19.6911 20.3087 19.4263 20.5735 19.0662 20.7757C18.6667 21.0001 18.0462 21.1615 17.588 21.1601C17.1751 21.1589 16.8928 21.0788 16.3284 20.9186C13.295 20.0576 10.4326 18.4332 8.04466 16.0452C5.65668 13.6572 4.03221 10.7948 3.17124 7.76144C3.01103 7.19699 2.93092 6.91477 2.9297 6.50182C2.92833 6.0436 3.08969 5.42311 3.31411 5.0236C3.51636 4.66357 3.78117 4.39876 4.3108 3.86913L4.46843 3.7115C4.99987 3.18006 5.2656 2.91433 5.55098 2.76999C6.11854 2.48292 6.7888 2.48292 7.35636 2.76999C7.64174 2.91433 7.90747 3.18006 8.43891 3.7115L8.63378 3.90637C8.98338 4.25597 9.15819 4.43078 9.27247 4.60655C9.70347 5.26945 9.70347 6.12403 9.27247 6.78692C9.15819 6.96269 8.98338 7.1375 8.63378 7.4871C8.51947 7.60142 8.46231 7.65857 8.41447 7.72538C8.24446 7.96281 8.18576 8.30707 8.26748 8.58743C8.29048 8.66632 8.32041 8.72866 8.38028 8.85335Z"
stroke-width="2" stroke-linecap="round"
stroke-linejoin="round"></path>
</svg>
</span>
<span
class="font-size-20 fw-bold lh-sm text-gradient-primary mb-2">Call us</span>
<span class="font-size-16 lh-sm text-muted">Mon-Fri from 9am to 5pm.</span>
<a href="tel:+3522740098667"
class="fs-6 font-weight-600 text-primary-primary-blue mt-3">+352 274 00 98
667</a>
</div>
<div
class="rounded-box-20 d-flex flex-1 align-items-start flex-column bg-white box-shadow multi-purpose-gray-200_border">
<span class="background-icon primary-primary-blue_background mb-3">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"
viewBox="0 0 24 24" fill="transparent">
<path stroke="white"
d="M12 12.5C13.6569 12.5 15 11.1569 15 9.5C15 7.84315 13.6569 6.5 12 6.5C10.3431 6.5 9 7.84315 9 9.5C9 11.1569 10.3431 12.5 12 12.5Z"
stroke-width="2" stroke-linecap="round"
stroke-linejoin="round"></path>
<path stroke="white"
d="M12 22C14 18 20 15.4183 20 10C20 5.58172 16.4183 2 12 2C7.58172 2 4 5.58172 4 10C4 15.4183 10 18 12 22Z"
stroke-width="2" stroke-linecap="round"
stroke-linejoin="round"></path>
</svg>
</span>
<span
class="font-size-20 fw-bold lh-sm text-gradient-primary mb-2">Visit us</span>
<span class="font-size-16 lh-sm text-muted">Visit our office.</span>
<a href="https://maps.app.goo.gl/Tc8pWFo5p27bcY9u5" target="_blank"
class="fs-6 font-weight-600 text-primary-primary-blue mt-3">122, rue
Adolphe Fischer L-1521 Luxembourg</a>
</div>
</div>
</div>
</div>
</section>

<section class="blur-bg" id="blur-bg">
<div class="custom-popup-content custom-popup-loading" id="popup-content">
While you wait, you can <a href="#" target="_blank">click here</a> to launch other
tests if you want to try something else!
</div>
<div class="loading-wave custom-popup-loading" id="popup-loading">
<div class="loading-bar"></div>
<div class="loading-bar"></div>
<div class="loading-bar"></div>
<div class="loading-bar"></div>
</div>
</section>

<script>
function openPopup(id) {
let form = document.getElementById(id);
if (form.target.value != "") {
let popup_loading = document.getElementById('popup-loading');
popup_loading.classList.add("open-popup");
let bg = document.getElementById('blur-bg');
bg.classList.add("open-popup");
let popup_content = document.getElementById('popup-content');
popup_content.classList.add("open-popup");
}
}
function hidePopup() {
let popup_loading = document.getElementById('popup-loading');
popup_loading.classList.remove("open-popup");
let bg = document.getElementById('blur-bg');
let popup_content = document.getElementById('popup-content');
popup_content.classList.remove("open-popup");
bg.classList.remove("open-popup");
}
window.onpageshow = hidePopup;
</script>


{% endblock %}
52 changes: 0 additions & 52 deletions test.html

This file was deleted.

76 changes: 62 additions & 14 deletions testing/templates/check_email.html
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,11 @@ <h1 class="font-size-48 font-weight-800 lh-base">Assess the security of your ema
class="text-white button-text-background primary-primary-blue_background">
</form>
{% if domain %}
<div class="d-flex justify-content-center pb-3 pt-3">
<a href="{% url 'pdf_from_template' test='email-test' site=domain %}" value="Export to pdf" class="btn btn-secondary">Export this to PDF</a>
</div>
{% if user.is_authenticated %}
<div class="d-flex justify-content-center pb-3 pt-3">
<a href="{% url 'pdf_from_template' test='email-test' site=domain %}" value="Export to pdf" class="btn btn-secondary">Export this to PDF</a>
</div>
{% endif %}
{% endif %}
<div class="bg-white text-center text-muted border-top pt-3"><a
class="text-primary-primary-blue" href="/kb/#tests-email">About the test</a>
Expand Down Expand Up @@ -218,14 +220,43 @@ <h2>SPF Record</h2>
<div class="p-0 collapse" id="d_record">
<div class="p-4 border-bottom border-end border-start">
<h2>DMARC Record</h2>
<code>{{ dmarc }}</code>
<p>Valid:
{% if dmarc.valid %}
<i class="bi bi-check-circle-fill color-success"></i>
{% else %}
<i class="bi bi-x-circle-fill color-danger"></i>
{% endif %}
</p>
{% if dmarc.error %}
<div class="alert alert-danger" role="alert">
{{ dmarc.error }}
</div>
{% else %}
<div class="alert {% if dmarc.valid %}alert-success{% else %}alert-warning{% endif %}" role="alert">
<h4 class="alert-heading">
DMARC Record Status:
{% if dmarc.valid %}
<span class="text-success">Valid</span>
{% else %}
<span class="text-warning">Invalid</span>
{% endif %}
</h4>
</div>

{% if dmarc.record %}
<div class="alert alert-info" role="alert">
<h4 class="alert-heading">DMARC Record:</h4>
<pre><code>{{ dmarc.record }}</code></pre>
</div>

<h4>Record Details:</h4>
<ul class="list-group">
{% for item in dmarc.record|split:';' %}
{% with key_value=item|split:'=' %}
{% if key_value|length == 2 %}
<li class="list-group-item">
<strong>{{ key_value.0 }}:</strong> {{ key_value.1 }}
</li>
{% endif %}
{% endwith %}
{% endfor %}
</ul>
{% endif %}
{% endif %}

</div>
</div>
</div>
Expand Down Expand Up @@ -309,8 +340,25 @@ <h2>DKIM Record</h2>
</button>
<div class="p-0 collapse" id="dnssec">
<div class="p-4 border-bottom border-end border-start">
<h2>DMARC Record</h2>
<code>{{ dnssec }}</code>
<h2>DNSSEC Record</h2>
{% if dnssec.error %}
<div class="alert alert-danger" role="alert">
{{ dnssec.error }}
</div>
{% else %}
<div class="alert {% if dnssec.enabled %}alert-success{% else %}alert-warning{% endif %}" role="alert">
DNSSEC is {% if dnssec.enabled %}enabled{% else %}not enabled{% endif %}
</div>

{% if dnssec.keys %}
<div class="alert alert-info" role="alert">
<h4 class="alert-heading">DNSSEC Keys:</h4>
<pre><code>{% for key in dnssec.keys %}{{ key }}{% if not forloop.last %}
{% endif %}{% endfor %}</code></pre>
</div>
{% endif %}
{% endif %}

<p>
Enabled:
{% if dnssec.enabled %}
Expand All @@ -324,7 +372,7 @@ <h2>DMARC Record</h2>
</div>
</div>
<div class="row my-2">
<button type="button" data-bs-toggle="collapse" data-bs-target="#dnssec-recommendation" aria-expanded="false" aria-controls="collapseExample" class="accordion-button btn p-3 fs-2 fw-bold text-start text-light bg-info">
<button type="button" data-bs-toggle="collapse" data-bs-target="#dnssec-recommendation" aria-expanded="false" aria-controls="collapseExample" class="accordion-button btn p-3 fs-2 fw-bold text-start text-light primary-primary-blue_background">
<i class="circle p-2 bi bi-chevron-right bg-white me-3 text-black"></i>
Recommendations
</button>
Expand Down
Loading
Loading