IT CHRONICLE
Home Home Il Progetto The Project Il Team The Team Strumenti di Rete Tool Kit Chiave PGP PGP Key Chi sono About Servizi Services EN
[ DOTT. FRANCESCO_RUSSO ]

ICT JOB DIARIESICT JOB DIARIES

List topics List topics
[ DOTT. FRANCESCO_RUSSO ]

Consulente ICT ICT Consultant

> Bridging Technology, Risk Management & Business

Il Profilo
Con oltre 25 anni di esperienza in reti, sistemi e IT risk management, mi occupo di amministrazione On-Premise e Cloud. Aiuto organizzazioni e imprese a garantire la conformità normativa (GDPR, ISO 27001, NIS 1 e 2) e offro servizi avanzati di Digital Forensics. Il mio obiettivo acquittal è consolidare il mio ruolo di esperto in Cybersecurity e Intelligenza Artificiale Generativa, operando a livello internazionale in modalità remote-first.

Esperienza sul Campo
Dal 2005 sono Programmatore Sistemista e Privacy Manager per il Consorzio per la Bonifica della Capitanata, ruolo a cui affianco una continua attività di consulenza per realtà sanitarie e studi legali (Gruppo Salatto, Studio Torlontano, ecc.). Gestisco operativamente attività di DFIR (Digital Forensics and Incident Response), Business Continuity, Disaster Recovery e mitigazione dell'impatto dei rischi IT. In passato, ho coordinato team internazionali come IT Project Manager tra Amsterdam e Tallinn.

Visione Strategica e Competenze
Comprendere l'infrastruttura richiede anche una solida visione aziendale. Per questo ho integrato il mio background tecnico (Windows/Linux Server, reti TCP/IP, Firewall) con una Laurea Magistrale in Scienze Economiche conseguita con lode. Unisco l'approccio ingegneristico alle metodologie manageriali e Agile (ITIL v.3, Scrum, Six Sigma). Attualmente sto espandendo le mie competenze attraverso i percorsi ufficiali Google come Cybersecurity Expert e Generative AI Leader.

Oltre il codice
Lavoro correntemente in inglese (certificazione C2 Cambridge) e conosco altre tre lingue. Quando non sono alle prese con server o incident response, ricarico le energie a contatto con la natura, pilotando droni (UAS Open A1/A3), dedicandomi alla fotografia o sperimentando nuove tecniche ai fornelli.

Formazione in corso

  • Professional Cloud Architect (Google Cloud)

Formazione Accademica

  • Master in Gestione delle imprese e delle società MA659 (30/30)
  • Laurea Magistrale in Scienze Economiche LM-56 (110/110 e Lode)
  • Laurea Triennale in Scienze dell'Economia e della Gestione Aziendale L-18 (94/110)

Certificazioni
Di seguito l'elenco completo delle certificazioni conseguite, dei corsi di specializzazione e dei badge ottenuti, a testimonianza del continuo aggiornamento tecnico e professionale:

  • Cybersecurity Foundations Professional Certificate (ID: 51934206)
  • Microsoft Certified: Azure Fundamentals
  • Foundations of Operationalizing MITRE ATT&CK
  • Foundations of Purple Teaming
  • Autopsy Basics and Hands On – Digital Forensics (ID: YRXYSTQBK8)
  • GrassHopper Javascript – Coding Fundamentals, Coding Fundamentals II, Array Methods, Animations
  • Project Management Essentials Certified (ID: 55005870)
  • Scrum Foundation Certificate (SFPC) (ID: 43043593)
  • Six Sigma White Belt (ID: 55005099)
  • Six Sigma Yellow Belt (ID: 729673)
  • ITIL v.3 Foundation (ID: GR750562993FR)
  • Cybersecurity Essentials – Cisco Netacad
  • Introduction to Cybersecurity – Cisco Netacad
  • Introduction to Cisco Packet Tracer – Cisco Netacad
  • Introduction to Internet of Everything – Cisco Netacad
  • Google Analytics for Beginners
  • Google Digital Training (ID: R7ZXBVRRR)
  • The EU GDPR - An Introduction (ID: UC-0HROEMGN)
  • Eipass Progressive (ID: 8B77A028CB)

The Profile
With over 25 years of experience in networks, systems, and IT risk management, I specialize in On-Premise and Cloud administration. I help organizations ensure regulatory compliance (GDPR, ISO 27001, NIS 1 and 2) and provide advanced Digital Forensics services. My current goal is to consolidate my expertise in Cybersecurity and Generative AI, collaborating internationally in a remote-first work environment.

Field Experience
Since 2005, I have served as the System Programmer and Privacy Manager for the Consorzio per la Bonifica della Capitanata, alongside continuous consulting work for healthcare facilities and law firms. I operationally manage DFIR (Digital Forensics and Incident Response), Business Continuity, Disaster Recovery, and IT risk mitigation. Previously, I coordinated international teams as an IT Project Manager between Amsterdam and Tallinn.

Strategic Vision & Skills
Understanding IT infrastructure also requires a solid business vision. That is why I integrated my technical background (Windows/Linux Servers, TCP/IP networks, Firewalls) with a Master's Degree in Economics (Summa Cum Laude). I combine an engineering approach with managerial and Agile methodologies (ITIL v.3, Scrum, Six Sigma). I am currently expanding my skill set through the official Google Cybersecurity Expert and Generative AI Leader paths.

Beyond the code
I am fluent in English (Cambridge C2 certification) and have knowledge of three other languages. When I am not dealing with servers or incident response, I recharge my energy by immersing myself in nature, flying drones (UAS Open A1/A3), practicing photography, or experimenting with new cooking techniques.

Formazione in corso

  • Professional Cloud Architect (Google Cloud)

Academic Background

  • Postgraduate Master in Corporate and Business Management (MA659)
  • Master's Degree in Economics LM-56 (Summa Cum Laude)
  • Bachelor's Degree in Economics and Business Management L-18 (94/110)

Certifications
Below is the complete list of certifications, specialization courses, and badges achieved, demonstrating a continuous commitment to technical and professional development:

  • Cybersecurity Foundations Professional Certificate (ID: 51934206)
  • Microsoft Certified: Azure Fundamentals
  • Foundations of Operationalizing MITRE ATT&CK
  • Foundations of Purple Teaming
  • Autopsy Basics and Hands On – Digital Forensics (ID: YRXYSTQBK8)
  • GrassHopper Javascript – Coding Fundamentals, Coding Fundamentals II, Array Methods, Animations
  • Project Management Essentials Certified (ID: 55005870)
  • Scrum Foundation Certificate (SFPC) (ID: 43043593)
  • Six Sigma White Belt (ID: 55005099)
  • Six Sigma Yellow Belt (ID: 729673)
  • ITIL v.3 Foundation (ID: GR750562993FR)
  • Cybersecurity Essentials – Cisco Netacad
  • Introduction to Cybersecurity – Cisco Netacad
  • Introduction to Cisco Packet Tracer – Cisco Netacad
  • Introduction to Internet of Everything – Cisco Netacad
  • Google Analytics for Beginners
  • Google Digital Training (ID: R7ZXBVRRR)
  • The EU GDPR - An Introduction (ID: UC-0HROEMGN)
  • Eipass Progressive (ID: 8B77A028CB)
> author identified
Foto Francesco Russo

Secure Credential Management: Removing Cleartext Passwords from Scripts

Password Safety
Image generated with Gemini AI


The Problem: Cleartext Passwords in Source Code

Automation via scripting is the beating heart of system administration. However, hardcoding credentials (passwords, API tokens, cryptographic keys) in cleartext inside .sh or .ps1 files is a critical security violation. Anyone with read access to the file system or the Git repository compromises the entire corporate ecosystem.

The Solution: Encrypted Secrets Management

We must decouple the script's logic from the sensitive data by leveraging the operating system's native protection mechanisms.

1. In PowerShell Environments (Windows)

In Microsoft infrastructures, we can use Export-Clixml to encrypt a credential object. The encryption is tightly bound to the user account that generated it and the physical machine (thanks to the Windows Data Protection API).

# Run once to save the encrypted password
Get-Credential | Export-Clixml -Path "C:\secure\admin_creds.xml"

# In the production script, call the file:
$cred = Import-Clixml -Path "C:\secure\admin_creds.xml"

2. In Bash Environments (Linux)

On Unix systems, the most immediate, zero-cost method to protect daemons and cron scripts is to isolate variables into a separate configuration file, restricting permissions exclusively to the root user.

# Create the protected configuration file
echo "DB_PASS='SuperSecret!'" > /etc/script_secrets.conf
sudo chmod 400 /etc/script_secrets.conf

In the main script (executed with elevated privileges), simply import the variables using the source /etc/script_secrets.conf command. The code remains clean, and credentials remain invisible to unauthorized users.

Gestione Sicura delle Credenziali: Eliminare le Password dagli Script

Il Problema: Password in Chiaro nei Sorgenti

L'automazione tramite scripting è il cuore nevralgico della gestione sistemistica. Tuttavia, hardcodare credenziali (password, token API, chiavi crittografiche) in chiaro all'interno di file .sh o .ps1 è una violazione critica della sicurezza. Chiunque abbia accesso in lettura al file system o al repository Git compromette l'intero ecosistema aziendale.

Password Safety
Immagine realizzata con Gemini AI


La Soluzione: Gestione Cifrata dei Segreti

Dobbiamo disaccoppiare la logica dello script dal dato sensibile, sfruttando i meccanismi di protezione nativi del sistema operativo.

1. In Ambiente PowerShell (Windows)

In infrastrutture Microsoft, possiamo usare Export-Clixml per cifrare un oggetto credenziale. La cifratura è legata a doppio filo all'account utente che l'ha generata e alla macchina fisica (grazie alle API di Data Protection di Windows).

# Eseguire una volta per salvare la password cifrata
Get-Credential | Export-Clixml -Path "C:\secure\admin_creds.xml"

# Nello script di produzione, richiamare il file:
$cred = Import-Clixml -Path "C:\secure\admin_creds.xml"

2. In Ambiente Bash (Linux)

Nei sistemi Unix, il metodo più immediato e a costo zero per proteggere i demoni e gli script cron è isolare le variabili in un file di configurazione separato, restringendo i permessi esclusivamente all'utente root.

# Creare il file di configurazione protetto
echo "DB_PASS='SuperSegreta!'" > /etc/script_secrets.conf
sudo chmod 400 /etc/script_secrets.conf

Nello script principale (eseguito con privilegi elevati), basta importare le variabili con il comando source /etc/script_secrets.conf. Il codice rimane pulito e le credenziali risultano invisibili agli utenti non autorizzati.

Linux Server Hardening: The 5 Mandatory Post-Install Steps

Linux Hardening


The Problem: Default Exposure

A freshly installed Linux server exposed to the public cloud is a blank canvas, but also an easy target. Default SSH daemon configurations and open ports immediately attract automated scanners, botnets, and brute-force attacks.



The Solution: 5 Steps to Hardening

Before installing any enterprise application, the infrastructure must be locked down by enforcing the principle of least privilege.

  • 1. Public Key Authentication: Ditch passwords entirely. Generate a certificate using ssh-keygen, copy it to the server, and edit /etc/ssh/sshd_config by setting PasswordAuthentication no.
  • 2. Disable Root Login: In the same SSH configuration file, ensure you set PermitRootLogin no to force access only via standard users and subsequent privilege elevation via sudo.
  • 3. Firewall Segmentation (UFW): Drop all incoming traffic except what is strictly necessary.
    sudo ufw default deny incoming
    sudo ufw allow ssh
    sudo ufw enable
  • 4. Brute-Force Mitigation (Fail2Ban): Automatically ban malicious IPs at the network level that repeatedly fail login attempts.
    sudo apt install fail2ban -y
  • 5. Silent Updates: Keep the system protected from zero-day vulnerabilities by installing unattended-upgrades for the automatic application of critical security patches without service interruptions.

Hardening Server Linux: I 5 Passi Obbligatori Post-Installazione

Immagine generata con Gemini AI


Il Problema: L'Esposizione Predefinita

Un server Linux appena installato ed esposto su cloud pubblico è una tela bianca, ma anche un bersaglio facile. Le configurazioni predefinite del demone SSH e le porte aperte attirano immediatamente scansioni automatizzate, botnet e attacchi brute-force.

La Soluzione: 5 Passaggi di Hardening

Prima di installare qualsiasi applicativo aziendale, l'infrastruttura deve essere blindata applicando il principio del minimo privilegio.

  • 1. Autenticazione a Chiave Pubblica: Abbandona le password. Genera un certificato con ssh-keygen, copialo sul server e modifica /etc/ssh/sshd_config impostando PasswordAuthentication no.
  • 2. Disabilitare l'accesso Root: Nello stesso file di configurazione SSH, assicurati di inserire PermitRootLogin no per forzare l'accesso solo tramite utenza standard e successiva elevazione tramite sudo.
  • 3. Segmentazione con Firewall (UFW): Chiudi tutto il traffico in ingresso tranne lo stretto necessario.
    sudo ufw default deny incoming
    sudo ufw allow ssh
    sudo ufw enable
  • 4. Mitigazione Brute-Force (Fail2Ban): Banna automaticamente a livello di rete gli IP malevoli che falliscono ripetutamente i login.
    sudo apt install fail2ban -y
  • 5. Aggiornamenti Silenti: Mantieni il sistema protetto dalle vulnerabilità zero-day installando unattended-upgrades per l'applicazione automatica delle sole patch di sicurezza critiche, senza interruzioni di servizio.

Send Large Files via PEC using Google Cloud Storage

Data encryption

In daily ICT consulting, especially when interfacing corporate infrastructures with law firms or Public Administrations, a known and frustrating technical limitation often arises: the attachment size limit of Certified Electronic Mail (PEC). Most Italian PEC providers impose a hard cap of 50 to 100 MB. But how do you proceed when you need to legally transmit log archives, digital forensic images, or entire CAD projects that exceed several gigabytes?

The optimal solution is to decouple the physical transport of the file from its legal certification. In this article, we will explore how to use Python to automate the upload of a large file to Google Cloud Storage, calculate its SHA-256 hash to guarantee integrity, and automatically send a PEC containing the download link and the cryptographic fingerprint.

Solution Architecture

Including the file's cryptographic hash within the body of a PEC message legally binds that specific file (hosted externally) to the certified communication. If even a single bit of the file on Google Cloud Storage were to change, the hash would no longer match the one "notarized" by the PEC delivery receipt.

  • Hash Calculation: We use SHA-256 to generate a unique fingerprint of the local file.
  • Cloud Storage: We upload the file to a GCS bucket and generate a Signed URL or public link for downloading.
  • SMTP Automation: We send the PEC using Python's standard libraries, authenticating on the PEC provider's SMTP server.

The Python Script: Step-by-Step Implementation

To run this script, ensure you have the official Google Cloud library installed:
pip install google-cloud-storage. You will also need a Service Account JSON with write permissions to your bucket.

import hashlib
import smtplib
from email.message import EmailMessage
from google.cloud import storage
import os

# Variable Configuration
FILE_PATH = "C:\\Projects\\huge_file_to_send.zip"
BUCKET_NAME = "your-corporate-bucket"
PEC_SENDER = "your.email@pec.it"
PEC_PASSWORD = "YourSecurePassword"
PEC_RECIPIENT = "recipient@pec.it"
SMTP_SERVER = "smtps.pec.aruba.it" # Example for Aruba PEC
SMTP_PORT = 465

def calculate_sha256(file_path):
    """Calculates the SHA-256 hash of a local file."""
    sha256_hash = hashlib.sha256()
    with open(file_path, "rb") as f:
        # Read the file in chunks to handle large files efficiently
        for byte_block in iter(lambda: f.read(4096), b""):
            sha256_hash.update(byte_block)
    return sha256_hash.hexdigest()

def upload_to_gcs(file_path, bucket_name):
    """Uploads the file to Google Cloud Storage and returns the URL."""
    # Set the environment variable for GCP authentication
    os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "service_account.json"
    
    storage_client = storage.Client()
    bucket = storage_client.bucket(bucket_name)
    blob_name = os.path.basename(file_path)
    blob = bucket.blob(blob_name)
    
    print(f"[*] Uploading to GCS: {blob_name}...")
    blob.upload_from_filename(file_path)
    
    # Makes the file temporarily accessible
    # Note: For production use Signed URLs for enhanced security
    blob.make_public()
    return blob.public_url

def send_pec(file_url, file_hash):
    """Sends the link and hash via PEC (Certified Email)."""
    msg = EmailMessage()
    msg['Subject'] = "Project Transmission and Cryptographic Hash"
    msg['From'] = PEC_SENDER
    msg['To'] = PEC_RECIPIENT
    
    message_body = f"""
    Dear User,
    
    The requested project is transmitted via virtual attachment. 
    Due to PEC size limitations, the file is available for download at the following secure link:
    
    DOWNLOAD LINK: {file_url}
    
    To ensure the integrity and legal validity of this transmission, the file's cryptographic footprint is provided:
    ALGORITHM: SHA-256
    HASH: {file_hash}
    
    Best regards,
    The System Administrator
    """
    msg.set_content(message_body)
    
    print("[*] Connecting to PEC SMTP server...")
    with smtplib.SMTP_SSL(SMTP_SERVER, SMTP_PORT) as server:
        server.login(PEC_SENDER, PEC_PASSWORD)
        server.send_message(msg)
    print("[+] PEC sent successfully!")

if __name__ == "__main__":
    print("[*] Starting Hash calculation...")
    file_hash = calculate_sha256(FILE_PATH)
    print(f"[+] SHA-256 Hash: {file_hash}")
    
    file_url = upload_to_gcs(FILE_PATH, BUCKET_NAME)
    print(f"[+] File URL: {file_url}")
    
    send_pec(file_url, file_hash)

Conclusions for IT Risk Management

This hybrid infrastructure not only solves a burdensome operational roadblock, but it does so while complying with strict Information Security standards. By utilizing cloud buckets, we can enforce automated Data Retention policies (e.g., auto-deleting the blob after 30 days), while embedding the hash into the PEC transaction legally seals the perimeter of our corporate communication.

Inviare File Grandi via PEC con Google Cloud Storage

Data encryption


Nel quotidiano della consulenza ICT, specialmente quando si interfacciano infrastrutture aziendali con studi legali o Pubblica Amministrazione, emerge un limite tecnico tanto noto quanto frustrante: il limite di dimensione degli allegati della Posta Elettronica Certificata (PEC). La maggior parte dei provider impone un tetto massimo tra i 50 e i 100 MB. Ma come procedere quando è necessario trasmettere per via legale archivi di log, immagini forensi o interi progetti CAD che superano i svariati gigabyte?

La soluzione ottimale consiste nel disaccoppiare il trasporto del file dalla sua certificazione legale. In questo articolo vedremo come automatizzare tramite Python l'upload di un file su Google Cloud Storage, calcolarne l'hash SHA-256 per garantirne l'integrità e inviare automaticamente una PEC contenente il link di download e l'impronta crittografica.

L'Architettura della Soluzione

Includere l'hash crittografico del file all'interno del corpo di un messaggio PEC vincola legalmente quel file (ospitato esternamente) alla comunicazione certificata. Se anche un solo bit del file su Google Cloud Storage dovesse cambiare, l'hash non corrisponderebbe più a quello "notarizzato" dalla ricevuta di consegna della PEC.

  • Calcolo dell'Hash: Utilizziamo SHA-256 per generare l'impronta univoca del file locale.
  • Cloud Storage: Carichiamo il file su un bucket GCS e generiamo un URL firmato (Signed URL) o pubblico per il download.
  • Automazione SMTP: Inviamo la PEC utilizzando le librerie standard di Python, autenticandoci sul server del provider PEC.

Lo Script Python: Implementazione Passo-Passo

Per eseguire questo script, assicurati di avere installato la libreria ufficiale di Google Cloud:
pip install google-cloud-storage. Avrai inoltre bisogno di un Service Account JSON con i permessi di scrittura sul tuo bucket.

import hashlib
import smtplib
from email.message import EmailMessage
from google.cloud import storage
import os

# Configurazione Variabili
FILE_PATH = "C:\\Progetti\\file_enorme_da_inviare.zip"
BUCKET_NAME = "il-tuo-bucket-aziendale"
PEC_SENDER = "tua.email@pec.it"
PEC_PASSWORD = "LaTuaPasswordSicura"
PEC_RECIPIENT = "destinatario@pec.it"
SMTP_SERVER = "smtps.pec.aruba.it" # Esempio per Aruba PEC
SMTP_PORT = 465

def calculate_sha256(file_path):
    """Calcola l'hash SHA-256 di un file locale."""
    sha256_hash = hashlib.sha256()
    with open(file_path, "rb") as f:
        # Legge il file a blocchi per gestire file di grandi dimensioni
        for byte_block in iter(lambda: f.read(4096), b""):
            sha256_hash.update(byte_block)
    return sha256_hash.hexdigest()

def upload_to_gcs(file_path, bucket_name):
    """Carica il file su Google Cloud Storage e restituisce l'URL."""
    # Imposta la variabile d'ambiente per l'autenticazione GCP
    os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "service_account.json"
    
    storage_client = storage.Client()
    bucket = storage_client.bucket(bucket_name)
    blob_name = os.path.basename(file_path)
    blob = bucket.blob(blob_name)
    
    print(f"[*] Upload in corso su GCS: {blob_name}...")
    blob.upload_from_filename(file_path)
    
    # Rende il file temporaneamente scaricabile (o accessibile)
    # Nota: In produzione usare Signed URLs per maggiore sicurezza
    blob.make_public()
    return blob.public_url

def send_pec(file_url, file_hash):
    """Invia il link e l'hash tramite PEC."""
    msg = EmailMessage()
    msg['Subject'] = "Trasmissione Progetto e Hash Crittografico"
    msg['From'] = PEC_SENDER
    msg['To'] = PEC_RECIPIENT
    
    corpo_messaggio = f"""
    Gentile Utente,
    
    Si trasmette in allegato virtuale il progetto richiesto. 
    A causa delle limitazioni di dimensione della PEC, il file è disponibile per il download al seguente link sicuro:
    
    LINK DI DOWNLOAD: {file_url}
    
    Per garantire l'integrità e la validità legale della trasmissione, si fornisce l'impronta crittografica del file:
    ALGORITMO: SHA-256
    HASH: {file_hash}
    
    Cordiali saluti,
    L'Amministratore di Sistema
    """
    msg.set_content(corpo_messaggio)
    
    print("[*] Connessione al server SMTP PEC...")
    with smtplib.SMTP_SSL(SMTP_SERVER, SMTP_PORT) as server:
        server.login(PEC_SENDER, PEC_PASSWORD)
        server.send_message(msg)
    print("[+] PEC inviata con successo!")

if __name__ == "__main__":
    print("[*] Avvio calcolo Hash...")
    file_hash = calculate_sha256(FILE_PATH)
    print(f"[+] Hash SHA-256: {file_hash}")
    
    file_url = upload_to_gcs(FILE_PATH, BUCKET_NAME)
    print(f"[+] URL File: {file_url}")
    
    send_pec(file_url, file_hash)

Conclusioni per l'IT Risk Management

Questa infrastruttura ibrida non solo risolve un blocco operativo gravoso, ma lo fa rispettando rigorosi standard di Information Security. Utilizzando i bucket cloud possiamo applicare policy di Data Retention automatizzate (ad esempio, l'eliminazione del blob dopo 30 giorni), mentre l'inserimento dell'hash nella transazione PEC sigilla il perimetro legale della nostra comunicazione aziendale.

Work in Progress: Real-world IT Audit and new Google Horizons

Work in progress



A quick update for IT Chronicle readers. If you've noticed a slight slowdown in publications recently, there's a great reason: I'm heavily engaged out in the field.

Preparing a Real IT Audit

I am putting together a very special and highly practical series of articles. I will take you behind the scenes of conducting an IT Audit in a real-world environment.

Currently, I am in the delicate "groundwork" phase: conducting stakeholder interviews and mapping business processes. But don't worry, we will soon move to the operational phase. We'll get our hands dirty on the command line and see enterprise-grade tools in action for asset discovery, starting with exceptional software like runZero.

Coming Soon: New IT First Aid Episodes

To make sure I don't leave you empty-handed during this preparation phase, over the next few days I will be publishing a batch of new IT First Aid episodes that I prepared recently. We will continue to tackle the most annoying Windows issues, fixing them with a sysadmin approach.

Continuous Learning: Cloud & Generative AI

In the ICT world, standing still means falling behind. To best support modern infrastructures and focus on IT governance, I have officially embarked on two challenging new Google certification paths: Professional Cloud Architect and Generative AI Leader.

I will also share the most interesting insights that emerge from these studies. Stay tuned, there is a lot on the way!

Lavori in corso: IT Audit sul campo e nuovi orizzonti Google

Lavori in corso



Un breve aggiornamento per i lettori di IT Chronicle. Se nelle ultime settimane avete notato un leggero rallentamento nelle pubblicazioni, c'è un ottimo motivo: sono intensamente impegnato sul campo.

Preparazione di un vero IT Audit

Sto preparando una nuova serie di articoli molto speciali e, soprattutto, estremamente pratici. Vi porterò dietro le quinte della realizzazione di un IT Audit in un ambiente reale.

Attualmente mi trovo nella delicata fase di "preparazione del terreno": sto conducendo le interviste con gli stakeholder e mappando i processi aziendali (il vero cuore del Risk Management). Ma non temete, molto presto passeremo alla fase operativa. Ci sporcheremo le mani sulla riga di comando e vedremo in azione strumenti di livello enterprise per l'asset discovery e l'analisi dell'infrastruttura, a partire da tool eccezionali come runZero.

In arrivo: nuovi episodi del Pronto Soccorso IT

Per non lasciarvi a mani vuote durante questa fase di studio e preparazione strategica, nei prossimi giorni pubblicherò una serie di nuovi episodi del Pronto Soccorso IT che ho preparato e programmato nei giorni scorsi. Continueremo ad affrontare le problematiche Windows più fastidiose, risolvendole con l'approccio chirurgico di un sistemista.

Aggiornamento continuo: Cloud & Generative AI

Nel mondo ICT fermarsi significa retrocedere. Per supportare al meglio le infrastrutture moderne e puntare sempre di più alla governance IT, ho ufficialmente intrapreso due nuovi e sfidanti percorsi di certificazione di Google: Professional Cloud Architect e Generative AI Leader.

Condividerò con voi anche gli spunti più interessanti che emergeranno da questi studi. Restate sintonizzati, abbiamo molta carne al fuoco!

IT First Aid - Ep. 4 Chrome flooded with ads or fake virus alerts

Fourth episode of IT First Aid. If your screen's bottom-right corner is filling up with alarming ad warnings, it's not a virus. It's spam sent via browser notifications. Let's clean it up.

Revoking Notification Permissions (Chrome)

The problem arises from absentmindedly clicking "Allow" on deceptive sites.

  • Open Chrome and click the three dots in the top right > Settings.
  • Go to Privacy and security > Site Settings > Notifications.
  • Scroll down to the "Allowed" section. Remove any suspicious or unknown site.

Deep Scan

If windows pop up on their own, you might have a malicious extension (Adware). Download and run a free scan with Malwarebytes AdwCleaner, a tool specialized in browser issues.

Need technical support?

Does messing with the Windows terminal or system registries feel like a minefield? If you'd rather not risk your data or don't have time to waste, let a professional handle it.

Discover my IT services

IT Risk Assessment Ep. 4: The Risk Register, from Excel to Governance

We have reached the final act of our Playbook. We have discovered assets, analyzed threats, and chosen the calculation framework. Now, all this data must converge into a single, vital document: the Risk Register. This is not a mere bureaucratic compliance task; it is the executive dashboard of the entire IT department.


1. The Anatomy of a Risk Register

Whether managed on an advanced Excel spreadsheet or through a dedicated GRC (Governance, Risk, and Compliance) platform, a mature Risk Register must contain specific information:

  • Risk Description: What can happen and to which asset.
  • Risk Owner: The business owner responsible for this risk (Often this is NOT IT, but the business director the asset belongs to!).
  • Inherent Risk: The level of risk without any active defenses.
  • Mitigations / Countermeasures: The controls currently in place (e.g., Firewalls, EDR, Immutable Backups).
  • Residual Risk: The risk that remains after countermeasures are applied. This is the number that truly matters.

2. The Heat Map Trap

To communicate risk to the Board, "Heat Maps" (Risk matrices with Green, Yellow, and Red squares) are often used. Beware: a Heat Map based solely on gut feelings ("I think the impact is high") is misleading. The matrix colors must reflect the financial calculations (ALE) and the SLAs agreed upon in the Business Impact Assessment (BIA).


3. From Assessment to Governance

The Risk Register is not a document you fill out once a year before the ISO 27001 audit and then forget about. It is a living tool. When the IT Manager sits down with the Board to discuss the annual budget, the Risk Register is the only necessary documentation: "We have 3 risks in the Red zone (Unacceptable risk). To move them into the Yellow or Green zone (Accepted/Mitigated risk), the required investment for technology X is Y".

This is the moment when cybersecurity stops being perceived as an incomprehensible technical cost and becomes strategic business value. The Risk Assessment circle is finally complete.

Index: IT Risk Assessment Playbook

IT Risk Assessment Ep. 4: Il Risk Register, dal foglio Excel alla Governance

Siamo giunti all'ultimo atto del nostro Playbook. Abbiamo scoperto gli asset, analizzato le minacce e scelto il framework di calcolo. Ora, tutti questi dati devono convergere in un unico documento vitale: il Risk Register (Registro dei Rischi). Questo non è un semplice adempimento burocratico, è il cruscotto direzionale dell'intero dipartimento IT.


1. L'anatomia del Risk Register

Che sia gestito su un foglio Excel avanzato o tramite una piattaforma GRC (Governance, Risk, and Compliance) dedicata, un Risk Register maturo deve contenere informazioni specifiche:

  • Descrizione del Rischio: Cosa può succedere e a quale asset.
  • Risk Owner: Chi è il responsabile aziendale di questo rischio (Spesso NON è l'IT, ma il direttore di business a cui appartiene l'asset!).
  • Inherent Risk (Rischio Inerente): Il livello di rischio senza alcuna difesa attiva.
  • Mitigazioni / Contromisure: I controlli attualmente in essere (es. Firewall, EDR, Backup immutabili).
  • Residual Risk (Rischio Residuo): Il rischio che rimane dopo aver applicato le contromisure. È il numero che conta davvero.

2. La trappola della Heat Map

Per comunicare il rischio alla Direzione, si usano spesso le "Heat Map" (Matrici di rischio con i quadratini Verdi, Gialli e Rossi). Attenzione: una Heat Map basata solo su sensazioni ("Secondo me l'impatto è alto") è fuorviante. I colori della matrice devono riflettere i calcoli finanziari (ALE) e gli SLA concordati nel Business Impact Assessment (BIA).


3. Dalla valutazione alla Governance

Il Risk Register non è un documento che si compila una volta all'anno prima dell'audit ISO 27001 per poi dimenticarsene. È uno strumento vivo. Quando l'IT Manager si siede al tavolo con il Board per discutere il budget annuale, il Risk Register è l'unica documentazione necessaria: "Abbiamo 3 rischi in zona Rossa (Rischio inaccettabile). Per portarli in zona Gialla o Verde (Rischio accettato/mitigato), l'investimento richiesto per la tecnologia X è pari a Y".

Questo è il momento in cui la sicurezza informatica smette di essere percepita come un costo tecnico incomprensibile, e diventa valore strategico aziendale. Il cerchio del Risk Assessment è finalmente chiuso.

Indice: IT Risk Assessment Playbook

IT Risk Assessment Ep. 3: Choosing the Framework (NIST SP 800-30 vs FAIR)

We have our assets and we know the threats. Now it's time to connect the dots and calculate the Risk. As an IT Manager, the temptation is to invent a custom spreadsheet, but in the corporate world (and to pass compliance audits), you must rely on recognized standards. Let's explore the two most authoritative frameworks.


1. The Qualitative Approach: NIST SP 800-30

NIST's Special Publication 800-30 is the de facto standard of the US government. It offers a rigorous and tested approach. It relies predominantly on qualitative or semi-quantitative assessments: probability and impact are classified on scales such as Very High, High, Medium, Low.

The Pro: It is relatively simple to implement and provides a solid, unassailable baseline for compliance (e.g., ISO 27001).
The Con: It is subjective. One sysadmin's "High Risk" might be another's "Medium Risk", and most importantly, it doesn't tell the CFO how much money the company is risking.


2. The Quantitative Approach: FAIR

FAIR (Factor Analysis of Information Risk) flips the paradigm. Instead of using colors and adjectives, it uses statistics and financial modeling (like Monte Carlo simulations). It breaks risk down into its fundamental mathematical factors: Event Frequency and Financial Loss Magnitude (very reminiscent of the ARO and ALE concepts we discussed previously).

The Pro: It speaks the Board's language. Instead of saying "There is a critical risk of ransomware", FAIR allows you to say: "There is a 15% probability of experiencing ransomware this year, with an expected loss between €50,000 and €250,000".
The Con: It requires historical data, precise measurements, and a very high level of corporate maturity to be implemented correctly.


3. Which to choose?

The strategic advice is a hybrid approach: use NIST SP 800-30 for the initial screening and to quickly discard minor risks, and apply FAIR's quantitative analysis only to risks considered "High" or "Critical" to justify security investments (ROI) to management.

Index: IT Risk Assessment Playbook

IT Risk Assessment Ep. 3: Scegliere il Framework (NIST SP 800-30 vs FAIR)

Abbiamo gli asset e conosciamo le minacce. Ora è il momento di unire i puntini e calcolare il Rischio. Da IT Manager, la tentazione è quella di inventarsi un foglio di calcolo personalizzato, ma nel mondo aziendale (e per superare gli audit di compliance) devi affidarti a standard riconosciuti. Esploriamo i due framework più autorevoli.


1. L'approccio Qualitativo: NIST SP 800-30

La Special Publication 800-30 del NIST è lo standard de facto del governo USA. Offre un approccio rigoroso e testato. Si basa prevalentemente su valutazioni qualitative o semi-quantitative: la probabilità e l'impatto vengono classificati su scale come Molto Alto, Alto, Medio, Basso.

Il pro: È relativamente semplice da implementare e fornisce una base solida e inattaccabile per la compliance (es. ISO 27001).
Il contro: È soggettivo. Il "Rischio Alto" di un sistemista potrebbe essere un "Rischio Medio" per un altro, e soprattutto non dice al CFO quanti soldi rischia l'azienda.


2. L'approccio Quantitativo: FAIR

FAIR (Factor Analysis of Information Risk) capovolge il paradigma. Invece di usare colori e aggettivi, usa la statistica e i modelli finanziari (come le simulazioni Monte Carlo). Scompone il rischio nei suoi fattori matematici fondamentali: Frequenza dell'evento e Magnitudo della perdita finanziaria (ricorda molto i concetti di ARO e ALE che abbiamo visto in passato).

Il pro: Parla la lingua del Board. Invece di dire "C'è un rischio critico di ransomware", FAIR ti permette di dire: "C'è il 15% di probabilità di subire un ransomware quest'anno, con una perdita attesa tra i 50.000€ e i 250.000€".
Il contro: Richiede dati storici, misurazioni precise e un livello di maturità aziendale molto alto per essere implementato correttamente.


3. Quale scegliere?

Il consiglio strategico è un approccio ibrido: usa il NIST SP 800-30 per lo screening iniziale e per scartare rapidamente i rischi minori, e applica l'analisi quantitativa di FAIR solo ai rischi considerati "Alti" o "Critici" per giustificare gli investimenti di sicurezza (ROI) al management.

Indice: IT Risk Assessment Playbook

IT Risk Assessment Ep. 2: Threat Modeling and Knowing the Adversary

In the first episode, we mapped our territory, identifying assets and defusing Shadow IT. Now that we know what we must defend, the next question is: who will attack us, and how will they do it? This logical step is called Threat Modeling.


1. Thinking like an attacker

Threat Modeling is the structured exercise of putting yourself in the adversary's shoes. It is not about making an endless list of irrational fears, but systematically identifying architectural and operational vulnerabilities before they are exploited. It means stopping configuring firewalls based on "gut feelings" and starting to place defenses where the attacker is most likely to strike.


2. Two approaches compared: STRIDE and MITRE ATT&CK

To avoid getting lost in theory, the IT industry uses highly specific frameworks:

  • STRIDE (Microsoft): Born in software development but excellent for IT architecture. It divides threats into six categories: Spoofing (pretending to be someone else), Tampering (altering data), Repudiation (untraceability of actions), Information Disclosure (data leaks), Denial of Service (blocking systems), and Elevation of Privilege. It forces you to look at your network and ask: "How can someone spoof an identity here?".
  • MITRE ATT&CK: The operational bible for Blue Teams. It is a matrix based on real-world data that maps Tactics (the attacker's goal) and Techniques (how they achieve it). It is perfect for testing your EDR/XDR systems: "If a ransomware uses technique T1003 to steal credentials from RAM, will our SOC notice?".

3. Mapping threats to assets

The result of Threat Modeling must intersect with Asset Discovery. If we discovered an old industrial PLC server (Asset), and we know our sector is targeted by ransomware exploiting unencrypted OT protocols (Threat), we have just identified a critical Risk to include in our Assessment.

Index: IT Risk Assessment Playbook

IT Risk Assessment Ep. 2: Threat Modeling e la conoscenza dell'avversario

Nel primo episodio abbiamo mappato il nostro territorio, individuando gli asset e disinnescando lo Shadow IT. Ora che sappiamo cosa dobbiamo difendere, la domanda successiva è: chi ci attaccherà, e come lo farà? Questo passaggio logico prende il nome di Threat Modeling (Modellazione delle Minacce).


1. Pensare come un attaccante

Il Threat Modeling è l'esercizio strutturato di immedesimazione nell'avversario. Non si tratta di fare un elenco infinito di paure irrazionali, ma di identificare in modo sistematico le vulnerabilità architetturali e operative prima che vengano sfruttate. Significa smettere di configurare firewall "a sensazione" e iniziare a posizionare le difese dove l'attaccante ha più probabilità di colpire.


2. Due approcci a confronto: STRIDE e MITRE ATT&CK

Per non perdersi nella teoria, l'industria IT utilizza framework ben precisi:

  • STRIDE (Microsoft): Nato in ambito di sviluppo software ma eccellente per l'architettura IT. Suddivide le minacce in sei categorie: Spoofing (fingersi un altro), Tampering (manomettere i dati), Repudiation (non tracciabilità delle azioni), Information Disclosure (fuga di dati), Denial of Service (bloccare i sistemi) e Elevation of Privilege. Ti costringe a guardare la tua rete e chiederti: "Qui, come possono falsificare un'identità?".
  • MITRE ATT&CK: È la bibbia operativa dei Blue Team. È una matrice basata su dati reali che mappa le Tattiche (l'obiettivo dell'attaccante) e le Tecniche (come lo raggiunge). È perfetto per testare i propri sistemi EDR/XDR: "Se un ransomware usa la tecnica T1003 per rubare le credenziali dalla RAM, il nostro SOC se ne accorge?".

3. Mappare le minacce sugli asset

Il risultato del Threat Modeling deve intersecarsi con l'Asset Discovery. Se abbiamo scoperto un vecchio server PLC industriale (Asset), e sappiamo che il nostro settore è bersagliato da ransomware che sfruttano protocolli OT non cifrati (Threat), abbiamo appena identificato un Rischio critico da inserire nel nostro Assessment.

Indice: IT Risk Assessment Playbook

IT Risk Assessment Ep. 1: Asset Visibility and the Danger of Shadow IT

There is a fundamental axiom in cybersecurity that every IT Manager should have engraved on their desk: "You cannot protect what you don't know you have". Any Risk Assessment activity that skips the Discovery phase is doomed to fail, leaving blind spots where risks proliferate unchecked. Welcome to the first chapter of our operational Playbook.


1. The Invisible Enemy: Shadow IT

Shadow IT represents the collection of devices, software, and cloud services used within the company without explicit approval from the IT department. This could be a Wi-Fi access point installed by an employee for "better signal," or an entire database moved to a personal cloud account for convenience. From a risk perspective, Shadow IT is a landmine: it is unpatched, unmonitored, and often exposes critical data to the Internet.


2. Discovery Techniques: Active vs Passive

To map the infrastructure and flush out Shadow IT, we must adopt scanning strategies that do not impact business continuity, especially in Industrial (OT) or Medical environments:

  • Active Discovery: Directly querying assets (ping, port scanning). Highly precise but can be "noisy" or crash sensitive legacy devices.
  • Passive Discovery: Listening to network traffic via SPAN/Mirror ports. Non-invasive, perfect for identifying assets that "talk" spontaneously, but less effective for silent ones.

3. The Toolset: Open and Commercial Solutions

The choice of tool depends on network scale and the need for automation. Here are the market benchmarks every professional should know:

  • Open Source Solutions:
    • Nmap: The "Swiss Army knife." Indispensable for specific discovery and OS fingerprinting, but requires high technical skills to scale.
    • Netdisco: Excellent for mapping network topology via SNMP, allowing you to see exactly which switch port each device is connected to.
  • Commercial Solutions:
    • runZero (formerly Rumble): Likely the most innovative tool today. It performs "unauthenticated" (credential-less) and agentless active discovery, identifying IT, OT, and IoT assets with surgical precision without crashing systems.
    • Lansweeper: A complete IT Asset Management solution that combines network and agent-based scanning to maintain an up-to-date CMDB.

4. Conclusion

Without a granular and dynamic asset inventory, the risk calculation (ALE/ARO) discussed in previous posts remains a theoretical exercise based on partial data. Visibility is the prerequisite for security.

Index: IT Risk Assessment Playbook

IT Risk Assessment Ep. 1: Visibilità degli Asset e il pericolo dello Shadow IT

Esiste un assioma fondamentale nella sicurezza informatica che ogni IT Manager dovrebbe scolpire sulla propria scrivania: "Non puoi proteggere ciò che non sai di avere". Qualsiasi attività di Risk Assessment che ignori la fase di Discovery è destinata a fallire, lasciando zone d'ombra dove i rischi proliferano indisturbati. Benvenuti al primo capitolo del nostro Playbook operativo.


1. Il nemico invisibile: Lo Shadow IT

Lo Shadow IT rappresenta l'insieme di dispositivi, software e servizi cloud utilizzati all'interno dell'azienda senza l'approvazione esplicita del dipartimento IT. Può trattarsi di un access point Wi-Fi installato da un dipendente per "prendere meglio", o di un intero database spostato su un account cloud personale per comodità. Dal punto di vista del rischio, lo Shadow IT è una mina antiuomo: non è patchato, non è monitorato e spesso espone dati critici su Internet.


2. Tecniche di Discovery: Attiva vs Passiva

Per mappare l'infrastruttura e stanare lo Shadow IT, dobbiamo adottare strategie di scansione che non impattino sulla business continuity, specialmente in ambienti industriali (OT) o medici:

  • Active Discovery: Interrogazione diretta degli asset (ping, scansione porte). Molto precisa ma può essere "rumorosa" o bloccare dispositivi legacy sensibili.
  • Passive Discovery: Ascolto del traffico di rete tramite porte SPAN/Mirror. Non invasiva, perfetta per individuare asset che "parlano" spontaneamente ma meno efficace per quelli silenti.

3. Il Toolset: Soluzioni Open e Commerciali

La scelta dello strumento dipende dalla scala della rete e dalla necessità di automazione. Ecco i riferimenti di mercato che ogni professionista dovrebbe conoscere:

  • Soluzioni Open Source:
    • Nmap: Il "coltellino svizzero". Indispensabile per discovery puntuali e fingerprinting degli OS, ma richiede competenze tecniche elevate per essere scalato.
    • Netdisco: Eccellente per mappare la topologia di rete tramite SNMP, permettendo di vedere esattamente a quale porta dello switch è collegato ogni dispositivo.
  • Soluzioni Commerciali:
    • runZero (ex Rumble): Probabilmente lo strumento più innovativo oggi. Esegue una discovery attiva "unauthenticated" (senza credenziali) e senza agenti, riuscendo a identificare asset IT, OT e IoT con una precisione chirurgica senza abbattere i sistemi.
    • Lansweeper: Una soluzione completa per l'IT Asset Management che combina scansioni di rete e agent-based per mantenere una CMDB sempre aggiornata.

4. Conclusione

Senza un inventario degli asset granulare e dinamico, il calcolo del rischio (ALE/ARO) visto nei post precedenti rimane un esercizio teorico basato su dati parziali. La visibilità è il prerequisito della sicurezza.

Indice: IT Risk Assessment Playbook

The Risk Matrix Series - Beyond Mitigation: DFIR, Business Continuity, and the Art of Surviving

There is a fundamental paradigm that every security professional must accept to transition from technician to manager: zero risk does not exist. We can optimize, patch, and mitigate endlessly, but sooner or later, defenses will be breached. This is the Assume Breach philosophy. And this is where our Risk Management series concludes, talking about resilience.


1. From Mitigation to Survival

When the risk turns into a real incident (a ransomware, a natural disaster, a destructive attack), the financial metrics of the BIA become our survival manual. The clock starts ticking against our RTO (Recovery Time Objective). It's no longer the time to prevent; it's the time to react by executing the Business Continuity Plan (BCP) and the Disaster Recovery Plan (DRP).


2. The Role of DFIR (Digital Forensics and Incident Response)

In the event of an incident, the IT's instinctive reaction is to shut everything down or format to restart quickly. This is a fatal mistake. Doing so destroys evidence (RAM, volatile logs, system artifacts).

The correct approach requires a structured Incident Response procedure (e.g., NIST or SANS frameworks). First, you contain the threat by isolating networks, then perform a quick Digital Forensics analysis to understand "Patient Zero", the extent of the damage, and most importantly, how the attacker got in. If we restore backups without closing the original flaw (Eradication), we will be re-encrypted the very next day.


3. Closing the Loop

True IT risk management is circular. The incident (even if only simulated in a Tabletop Exercise) provides the "Lessons Learned" to update our probability (ARO) and impact (EV) estimates, improving the following year's Business Impact Assessment.

Leading IT does not mean building insurmountable walls, but building ships capable of floating and continuing the course even after taking on water. That is true Resilience.

In the next few posts, we'll explore the other side of IT Risk Management, diving into the details of IT risk assessment and attack surface reduction through mitigation techniques.

The Risk Matrix Series - Oltre la Mitigazione: DFIR, Business Continuity e l'arte di sopravvivere

C'è un paradigma fondamentale che ogni professionista della sicurezza deve accettare per passare da tecnico a manager: il rischio zero non esiste. Possiamo ottimizzare, patchare e mitigare all'infinito, ma prima o poi le difese verranno bucate. Questa è la filosofia dell'Assume Breach (assumere la compromissione). Ed è qui che la nostra serie sul Risk Management si chiude, parlando di resilienza.


1. Dalla Mitigazione alla Sopravvivenza

Quando il rischio si trasforma in un incidente reale (un ransomware, un disastro naturale, un attacco distruttivo), le metriche finanziarie del BIA diventano il nostro manuale di sopravvivenza. Le ore iniziano a scorrere contro il nostro RTO (Recovery Time Objective). Non è più il momento di prevenire, è il momento di reagire eseguendo il piano di Business Continuity (BCP) e di Disaster Recovery Plan(DRP).


2. Il ruolo della DFIR (Digital Forensics and Incident Response)

In caso di incidente, la reazione istintiva dell'IT è spegnere tutto o formattare per ripartire in fretta. Questo è un errore fatale. Così facendo si distruggono le prove (RAM, log volatili, artefatti di sistema).

L'approccio corretto richiede una procedura di Incident Response strutturata (es. framework NIST o SANS). Prima si contiene la minaccia isolando le reti, poi si esegue una rapida analisi di Digital Forensics per capire il "Paziente Zero", l'estensione del danno e, soprattutto, come l'attaccante è entrato. Se ripristiniamo i backup senza aver chiuso la falla originale (Eradication), verremo ri-crittografati il giorno seguente.


3. La chiusura del cerchio

La vera gestione del rischio IT è circolare. L'incidente (anche solo simulato in un Tabletop Exercise) fornisce la "Lessons Learned" per aggiornare le nostre stime di probabilità (ARO) e di impatto (EV), migliorando il Business Impact Assessment del prossimo anno.

Guidare l'IT non significa costruire muri invalicabili, ma costruire navi capaci di galleggiare e proseguire la rotta anche dopo aver imbarcato acqua. Questa è la vera Resilienza.

Nei prossimi post passeremo dall'altra parte dell'IT Risk Management, mettendo le mani in pasta per effettuare una valutazione del rischio IT e la riduzione della superficie d'attacco tramite tecniche di mitigazione. 

The Risk Matrix Series - Third-Party Risk: How to Manage (and Transfer) IT Vendor Risk

The corporate perimeter is dead. Modern companies are interconnected ecosystems: we use SaaS for email, IaaS for servers, and rely on Managed Service Providers (MSP) for helpdesk support. But outsourcing a service does not mean outsourcing responsibility. Welcome to the complex world of Third-Party Risk Management (TPRM).


1. The Cloud Illusion

One of the most dangerous cognitive biases is thinking: "We are on Google Workspace or Microsoft 365, so our data is safe". Reality is dictated by the Shared Responsibility Model. The Cloud provider is responsible for the security of the Cloud (hardware). You remain solely responsible for the security in the Cloud (access, backups, configurations).


2. Risk Transfer: Contracts and SLAs

In the first episode, we talked about Risk Transfer. The IT Supply Chain is the main arena for this strategy. When we integrate a critical vendor, how do we transfer the risk?

  • Ironclad SLAs: Strict financial penalties if the vendor fails to meet uptime requirements aligned with our RTO.
  • DPA (Data Processing Agreement): Clear contracts on data protection (GDPR).
  • Right to Audit: The clause that allows us to verify the vendor's actual security posture.

3. Zero Trust applied to vendors

The largest cyberattacks in recent years originated from the Supply Chain. A compromised vendor is a bridge into your network. 

A few days ago I read an article by Robert Lemos published on Dark Reading regarding various leaks that have occurred in recent weeks, among which the noteworthy leak of Trivy security scanner is certainly worth noting, where attackers exploited a vulnerability in GitHub Actions.

The technical answer is a Zero Trust architecture: vendors must access only via profiled VPNs/ZTNs, with mandatory MFA and granular privileges that are strictly monitored. Trust is good, monitoring is better.