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

Getting Started with Wazuh: Setting Up Your Lab Environment for XDR and SIEM”

In today’s cybersecurity landscape, having a robust and flexible security information and event management (SIEM) system is crucial.
Wazuh, an open-source security platform, offers comprehensive solutions for threat detection, integrity monitoring, incident response, and compliance.

Wazuh has an interesting history. In 2015, the Wazuh team decided to fork OSSEC, an open-source host-based Intrusion Detection System (IDS), to expand its core functionalities with additional features, enhancements, and a user-friendly interface.
Wazuh has grown significantly since its inception. It is now a comprehensive, open-source security platform that provides unified XDR (Extended Detection and Response) and SIEM (Security Information and Event Management) capabilities. The platform is designed to monitor infrastructures, detect threats, respond to incidents, and ensure regulatory compliance.

This blog will guide you through setting up Wazuh in a lab environment, focusing on its basic capabilities in Extended Detection and Response (XDR) and SIEM.
Whether you’re a cybersecurity professional or an enthusiast, this step-by-step guide will help to get started with Wazuh to secure your systems effectively.
We start with the defaults to make the lab-setup not more complex as necessary.

My Lab-env is as follows:

Host IP OS
Wazuh-Server 10.50.100.76 Ubuntu 24 LTS
Wazuh-Agent 10.50.100.110 RHEL 9
Wazuh-Agent 10.50.100.111 RHEL 9
Wazuh-Agent 10.50.100.201 Windows

Basic setup of Wazuh-Server

with root rights execute curl -sO https://packages.wazuh.com/4.10/wazuh-install.sh && sudo bash ./wazuh-install.sh -a

Example output:

Please note the autogenerated User/Password to get later access to the Dashboard.

Linux: Basic setup of Wazuh-Agent

with root rights execute:

run the Agent installer (10.50.100.76 = Wazuh-Server)

example output:

Start the Wazuh-Agent and check the status:

example output:

Windows: Basic setup of Wazuh-Agent

Download the Agent-Installer and execute the command with admin-rights:

example-output:

Access the Dashboard

open a Browser and access: https://10.50.100.76
Don’t be surprised that the connection is interested, we use the default certs.

We see the default Dashboard:

Wazuh is shipped with default rules.
In a productive environment the real work would start now:
Create/adapt rules that are suitable for the required purposes and environment.
We will start with fixing the first (easy) vulnerability finding.

Fix a chrony-finding/vulnerability

Lets pick an RHEL-Agent and check the details of the chrony-finding:

  1. Navigate to Configuration Assesment
  2. Select an Agent
  3. Agent ID 02 looks as a good candidate
  4. filter the findings for chrony
  5. click on the failed check
  6. read carefully the finding and check the settings on the Agent to get it fixed

get the chrony finding fixed

The crony process is not executed by user chrony, let’s get it fixed:

To force a new assessment a restart of the Wazuh-agent is necessary.

Go back to the Dashboard/finding-screen and check again the chrony-finding:

Chrony looks good now, just another 82 findings to fix

In one of the next sessions I will go into the details of Wazuh, it is a great product.