ISO 27001, 27006, and 27009: The Essential Normative Standards for ISMS

Introduction

ISO 27000 is a family of standards focused on information security management systems (ISMS). Within this series, some standards are normative, meaning they define essential requirements, while others are informative, providing guidelines and recommendations.

Difference Between Normative and Informative Standards

  • Normative standards are mandatory for certification and compliance.
    They establish requirements that organizations must follow to achieve ISO certification.
  • Informative standards provide guidance and best practices but are not required for certification. They help organizations understand and implement security measures effectively.

Among the ISO 27000 series, ISO 27001, ISO 27006, and ISO 27009 are normative, making them crucial for compliance and certification. This blog post will explain each of these in detail and provide an overview of the informative standards in the series.

Normative ISO Standards in the 27000 Series

ISO 27001: The Foundation of ISMS

ISO 27001 is the core standard in the ISO 27000 series, specifying requirements for establishing, implementing, maintaining, and continually improving an ISMS. It provides a risk-based approach to information security, requiring organizations to:

  • Define a risk management process
  • Establish policies and objectives for information security
  • Implement controls from Annex A (which maps to ISO 27002)
  • Monitor, review, and improve the ISMS continually

Organizations that comply with ISO 27001 can achieve certification, demonstrating their commitment to managing information security risks effectively.

ISO 27006: Requirements for Certification Bodies

ISO 27006 sets the requirements for certification bodies that audit and certify organizations for ISO 27001 compliance. It ensures that auditors follow consistent and high-quality assessment methodologies. The key aspects of ISO 27006 include:

  • Accreditation requirements for certification bodies
  • Competency criteria for ISMS auditors
  • Audit process and procedures
  • Reporting and impartiality principles

By adhering to ISO 27006, certification bodies maintain credibility and ensure that ISO 27001 certifications are valid and trustworthy.

ISO 27009: Sector-Specific Adaptations of ISO 27001

ISO 27009 provides guidance on adapting ISO 27001 for specific industries or sectors. It allows the development of sector-specific information security standards while maintaining alignment with the ISO 27001 framework.

This standard is particularly useful for industries with unique regulatory and operational security requirements, such as healthcare, finance, and telecommunications. It ensures that sector-specific standards remain compatible with ISO 27001 while addressing industry-specific risks.

Informative ISO Standards in the 27000 Series

Unlike the normative standards, the following standards provide guidance rather than mandatory requirements:

ISO 27000: Overview and Vocabulary

ISO 27000 defines key terms and concepts used across the ISO 27000 series. It serves as a reference point for understanding information security principles and the structure of ISMS standards.

ISO 27002: Information Security Controls

ISO 27002 provides detailed guidance on implementing the security controls outlined in Annex A of ISO 27001. It covers best practices for:

  • Access control
  • Cryptography
  • Physical security
  • Incident management

Although not a certification standard, ISO 27002 helps organizations strengthen their ISMS controls.

ISO 27003: ISMS Implementation Guidance

ISO 27003 offers guidance on implementing an ISMS based on ISO 27001. It covers:

  • Project planning
  • Risk assessment methodologies
  • ISMS documentation requirements
  • Stakeholder engagement

ISO 27004: ISMS Monitoring and Measurement

ISO 27004 provides guidelines on how to measure and evaluate the effectiveness of an ISMS. It includes:

  • Metrics for assessing security performance
  • Continuous improvement techniques
  • Compliance monitoring strategies

ISO 27005: Risk Management for Information Security

ISO 27005 offers a structured approach to risk management in ISMS, aligning with ISO 27001’s risk-based approach. It guides organizations in:

  • Identifying and assessing security risks
  • Selecting appropriate mitigation strategies
  • Implementing a continuous risk management process

ISO 27007: Guidelines for ISMS Audits

ISO 27007 complements ISO 27006 by providing best practices for conducting ISMS audits. It helps organizations prepare for ISO 27001 certification audits and maintain compliance.

ISO 27008: Security Controls Assessment

ISO 27008 offers guidance on assessing the effectiveness of information security controls. It helps organizations verify whether implemented controls meet their security objectives.

ISO 27010 to ISO 27099: Industry-Specific and Emerging Standards

The ISO 27000 series continues to evolve with additional standards covering:

  • Information security in inter-organizational communication (ISO 27010)
  • Cloud security (ISO 27017, ISO 27018)
  • Privacy management (ISO 27701)
  • Cybersecurity frameworks (ISO 27032)

Conclusion

ISO 27001, ISO 27006, and ISO 27009 are the key normative standards that define requirements for ISMS implementation, certification, and sector-specific adaptations. The rest of the ISO 27000 series provides informative guidance, helping organizations understand, implement, and improve their ISMS. Understanding these distinctions ensures organizations can effectively navigate compliance, certification, and best practices for information security management.

By following these standards, businesses can strengthen their cybersecurity posture, protect sensitive data, and demonstrate their commitment to information security best practices.

Secure Networking with Hub-and-Spoke Topology Using WireGuard and eBGP

Free Range Routing (FRR) is a powerful, open-source routing software suite that provides implementations of various routing protocols, including BGP, OSPF, IS-IS, RIP, PIM, and more.
It’s designed to run on Linux and Unix-like systems, making it a flexible solution for a wide range of network setups—from small labs to large-scale data centers.

Why FRR?

  • Scalability: Supports complex network topologies.
  • Flexibility: Easily integrates with existing network infrastructures.
  • Community-driven: Regular updates and active community support.

A Brief History

FRR originated as a fork of the Quagga project (which is still used for the Looking Glass service) in 2016, aiming to create a more dynamic and community-focused development path. Since then, it has grown into a robust and widely adopted routing platform, used by service providers, enterprises, and research institutions.

Demo Lab Overview

🌐 Topology

This demo lab showcases a Hub-and-Spoke topology using WireGuard for secure tunneling between the nodes.
We use unique ASN (Autonomous System Number) to run eBGP (external Border Gateway Protocol) between the entities.
The OS we use is Ubuntu 24.04.1.

Hub:

  • Public IP: Static (known)
  • Tunnel IP: 10.5.5.1


Spoke #1:

  • Public IP: Ephemeral
  • Tunnel IP: 10.5.5.20


Spoke #2:

  • Public IP: Ephemeral
  • Tunnel IP: 10.5.5.10

The Hub acts as a central point with a fixed public IP, while both Spokes establish dynamic WireGuard connections, enabling BGP peering over the secure tunnels.

Objectives

  • Establish WireGuard tunnels between the Hub and Spokes.
  • Configure BGP on FRR to route traffic between the nodes.
  • Ensure seamless communication between Spokes through the Hub.

In the next sections, we’ll dive into the WireGuard setup, followed by configuring FRR BGP for efficient routing.

Firewall Considerations

  • Hub:
    • Allow inbound UDP 51820 to accept incoming WireGuard connections from the Spokes.
  • Spokes:
    • Allow outbound UDP 51820 to the Hub’s public IP to establish the WireGuard tunnel.
  • BGP (TCP 179) runs inside the WireGuard tunnel and does not require any firewall exceptions.

Why Use WireGuard?

We chose WireGuard for this setup to enhance the privacy, integrity, and security for every bit we transport across the internet.
Wireguard provides:

  • End-to-End Encryption: All traffic between Hub and Spokes is encrypted using state-of-the-art cryptographic protocols (ChaCha20 for encryption, Poly1305 for message authentication).
  • Simplicity & Performance: WireGuard is lightweight, easy to configure, and offers high performance with low overhead.
  • Ephemeral IP Handling: Its ability to handle dynamic public IPs makes it ideal for spokes with changing network addresses.
  • Integrity & Authentication: Only peers with the correct public keys can establish connections, ensuring data integrity and preventing unauthorized access.

WireGuard Setup

📦 Prerequisites

Ensure WireGuard is installed on all nodes:

🔑 Key Generation

On each node (Hub and Spokes), generate WireGuard key pairs:

  • privatekey  → Keep this secure.
  • publickey  →Share with peers.

⚙️ Hub Configuration (/etc/wireguard/wg0.conf)

⚙️ Spoke Configuration (/etc/wireguard/wg0.conf)

Spoke #1:

Spoke #2:

🚀 Start WireGuard

On all nodes, start and enable WireGuard:

✅ Verify Tunnel

Run on each node to check peer status:

example-output for Spoke1:

Once the tunnels are active, you can ping between the nodes using their Tunnel IPs.

Next, we’ll dive into configuring BGP to enable dynamic routing over the WireGuard tunnels.

Install FRR

Ensure FRR is installed on all nodes, we will stick on the stable release of FRR:

expected output:

Check if FRR daemon is up and running with systemctl status frr.service

output:

Let’s enable BGPd with vi /etc/frr/daemons

Restart the daemon with with systemctl restart frr.service
With enabled BGPd FRR uses minimal resources:

Compute-allocation for FRR with enabled BGPd

Let’s access the virtual-console of the Hub with sudo vtysh and setup the virtual-router. We also log all configuration commands entered via the vtysh shell:

Hub

Spoke #2

Spoke #1

Let’s see if Spoke#1 can see the Hub as a BGP neighbor:

The Lab seems to be in a pretty good shape 🙂
Go ahead and try to establish a connection with Spoke#2!

Let’s announce a BGP-Route

On the HUB, we will announce a BGP route (10.5.7.1/32) for testing.
To do this, we will create a dummy interface and assign an IPv4 address.
FRR will then announce this network via BGP to the peers (Spoke#1 and Spoke#2).
Finally, we will verify if we are advertising the route to Spoke#1.

Ok, let’s see if we receive route 10.5.7.1/32 on Spoke#1 and check connectivity:

Good! That’s it so far.

We have established a highly secure and scalable network topology across the internet. By leveraging WireGuard for routing transmission and communication, we ensure that this network topology remains exceptionally secure.

Extract certificate and key from acme.json

Traefik V2.3 creates a file called acme.json after a successful certification-creation (cert-provider: let’s encrypt).

To extract the certificate and key from this file I have created this bash-script:
https://github.com/ugu5ma/extract_acme_json_traefik

Send Geo-location from Browser

Create a button and log the current LAT/LON when the button is pressed:

<button id="send-location"> Send location</button>
document.querySelector('#send-location').addEventListener('click', () => {

    if (!navigator.geolocation) {

        return alert ('Geolocation not supported by Browser !')

    }
    
    navigator.geolocation.getCurrentPosition((position) => {

        console.log(position)

    })

console.log output