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
List topics: List topics:

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 è 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

Ransomware Defense: Immutable Backups on Linux with chattr

The Problem: Ransomware Encrypting Disaster Recovery Plans

Ransomware Attack
Image generated with Gemini AI


A sysadmin's biggest nightmare is not ransomware locking production data, but "smart" ransomware that, before revealing itself, searches the network for SMB shares, NAS devices, and backup repositories to encrypt them. If the malware has write access to your backup destination, your entire Disaster Recovery plan is nullified.

The Solution: Immutable Backup Architecture on Linux

To defeat this threat, you need immutability: a saved file must not be modifiable, overwritable, or deletable, not even by the root user. By using native Linux file system attributes (ext4/xfs), we can create a "bulletproof" repository at zero cost.

The Magic Command: chattr

Once your backup procedure (e.g., rsync or a cron job) has transferred the archive to the Linux storage server, append a line to lock the file at the kernel level using the +i (immutable) flag:

# The backup file is made unalterable
sudo chattr +i /backup/repository/server_db_monday.tar.gz

If a hacker gains access to the server and runs a cryptographic script, the kernel will reject the operation. To allow the rotation of old backups, a highly hardened script must temporarily remove the flag (-i), delete the obsolete file, and reapply the lock to the new arrivals.

Your Reward: Immutable Backup Audit Script

Are your backups truly protected? Use this automated bash script to scan your Linux storage infrastructure and instantly verify if the immutability flag is correctly applied to your critical archives. Enter your email to get it.

By submitting this request, you agree to subscribe to the IT Chronicle technical newsletter. You will immediately receive the secure download link via email. Zero spam, pure operations.

IT Privacy & GDPR: Automating Log Deletion

The Problem: Endless Logs and GDPR Violations

Log Rotation
Image generated with Gemini AI


Sysadmins often suffer from digital hoarding. The natural tendency is to indefinitely keep log files (proxy access, web servers, firewalls) "just in case we need them for a future investigation." However, retaining logs containing IP addresses and user-identifiable data without a predefined time limit exposes the company to severe fines for violating the GDPR data minimization principle.

The Solution: Automated Data Lifecycle via Logrotate

IT infrastructure must be engineered (Privacy by Design) to autonomously destroy data when the legal basis for its retention expires. On Linux machines, the definitive tool for this task is logrotate.

Configuring Automated Oblivion

By creating a specific rule within /etc/logrotate.d/, we can instruct the daemon to rotate logs monthly, compress them, and mathematically delete those older than the limits imposed by the legal department (e.g., 6 months).

# Configuration for Apache2 - 6-month retention
/var/log/apache2/*.log {
    monthly
    rotate 6
    compress
    delaycompress
    missingok
    notifempty
}

This way, on the seventh month, the oldest log is permanently purged from the file system, making the company automatically compliant with regulatory audits.

Your Reward: Privacy Log Audit Tool

Are you hoarding illegal data on your servers? Enter your email to download the audit tool to scan log directories, calculate retention schedules, and flag files that violate GDPR compliance.

By submitting, you agree to subscribe to IT Chronicle's technical newsletter. You will immediately receive the secure link via email. Zero spam, pure operational architectures.

Securing EU Funds for IT: Financing Corporate Cybersecurity

The Problem: Finding Budget for IT Innovation

GRANTING FUNDS
Image generated with Gemini AI


Infrastructure renewal projects (such as cloud migrations or advanced EDR implementations) require significant capital. Often, Executive Boards halt IT Managers' plans because they are viewed as "sunk costs." How do you unlock the necessary budgets without straining corporate finances?

The Solution: Leveraging EU Grants for Digital Transition

The European Union provides substantial grants (often non-repayable) for SMEs investing in Digitalization and Cybersecurity. The task of the modern IT Manager is to transform a technical necessity into a Fundable Project.

1. Translating Requirements into "Euro-design"

Grant programs do not fund "buying servers," but rather "energy efficiency through hardware consolidation." They do not fund a "new firewall," but rather "raising the cyber-resilience of the supply chain." Mapping the AS-IS state of the obsolete infrastructure and presenting a TO-BE plan aligned with the grant's objectives is the key to winning.

2. Utilizing Agile Methodologies

Including methodologies like Scrum or structured Gantt charts within the funding request demonstrates to evaluators that the project has precise delivery timelines and mitigated operational risks, drastically increasing the chances of approval.

Your Reward: Pre-Filled IT Funding Proposal Template

Skip the bureaucracy of the blank page. I have prepared a pre-filled template (adaptable to your SME) containing the correct technical terminologies for presenting Cybersecurity and Cloud Migration projects for EU grants. Enter your email to receive the document.

By submitting, you agree to subscribe to IT Chronicle's technical newsletter. You will immediately receive the secure link via email. Zero spam, pure operational architectures.

NIS 2 Compliance: Calculating RTO and RPO with a BIA

The Problem: Decision Paralysis in NIS 2 Compliance

BIA
Image generated with Gemini AI


The European NIS 2 Directive imposes stringent cybersecurity requirements and criminal liability on top management in cases of negligence. Many IT Managers make the mistake of procuring security tools indiscriminately, hoping to meet compliance without first quantifying the economic value of the processes they need to protect.

The Solution: The Business Impact Assessment (BIA)

You cannot protect a business without knowing how much an hour of downtime actually costs. The BIA is the governance instrument that translates IT disruption into quantifiable financial loss, allowing accurate calculation of recovery targets.

1. Defining RTO and RPO

Based on interviews with department heads (stakeholders), the IT department must map every critical workflow to determine:

  • RTO (Recovery Time Objective): The maximum tolerable downtime before the outage causes catastrophic consequences (e.g., 4 hours).
  • RPO (Recovery Point Objective): The maximum amount of data loss the company can withstand (e.g., up to 15 minutes of transactional data, which dictates backup frequency).

2. Justifying the Cybersecurity Budget

If the BIA proves that an ERP outage costs €50,000 per hour and the required organizational RTO is 1 hour, the IT Manager gains concrete mathematical data (Expected Value) to justify a €20,000 Disaster Recovery solution, shifting the boardroom narrative from a "technical expense" to "enterprise risk mitigation."

Your Reward: Professional BIA Template (Spreadsheet)

Stop guessing and start calculating. Access my pre-configured spreadsheet template to conduct a structured Business Impact Assessment and walk into your NIS 2 audit fully prepared. Enter your email to receive the direct link.

By submitting, you agree to subscribe to IT Chronicle's technical newsletter. You will immediately receive the secure link via email. Zero spam, pure operational architectures.

Enterprise Shadow AI: Running Local LLMs with Ollama

The Problem: Corporate Data Leakage via Shadow AI

Secure AI
Image generated with Gemini AI


The Shadow IT phenomenon has evolved. To speed up workflows, employees paste source code, confidential contracts, or financial data into public AI chatbots (like ChatGPT or Claude). Because these tools often use user prompts to train their language models, sensitive corporate data (PII) is irrevocably exposed outside the perimeter, violating privacy policies and regulations.

The Solution: Deploying Local LLMs with Ollama

To leverage the power of Generative AI while guaranteeing total data sovereignty, companies must bring models on-premise. The best approach is using Ollama, a framework for running large language models (LLMs) directly on enterprise hardware, entirely offline.

1. Linux Infrastructure Setup

Provision a Linux server (e.g., Debian 12) equipped with a GPU or sufficient RAM for CPU inference. Installation via the terminal is remarkably fast:

curl -fsSL https://ollama.com/install.sh | sh
sudo systemctl enable ollama
sudo systemctl start ollama

2. Secure Open Source Models

Highly capable models like Llama 3 (Meta) or Mistral can be downloaded and run locally. Text processing is strictly isolated within the corporate server, instantly ensuring GDPR compliance.

# Download and execute the model
ollama run llama3

AI Privacy Audit Tool (Python CLI)

Are your employees feeding public models with sensitive data? Enter your email to download the CLI privacy audit tool to scan directories for leaked credentials, private subnets, and PII.

By submitting, you agree to subscribe to IT Chronicle's technical newsletter. You will immediately receive the secure link via email. Zero spam, pure operational architectures.

Replacing VPNs with Zero Trust Network Access (ZTNA)

The Problem: The Security Illusion of Traditional VPNs

VPN Compromised
Image generated with Gemini AI


For decades, the corporate perimeter was defended using the "castle and moat" model: a robust external firewall and a VPN for remote workers. However, if an attacker compromises the credentials of a VPN-connected employee, they gain indiscriminate access to the entire LAN (Lateral Movement), easily infecting file servers and domain controllers.

The Solution: Zero Trust Network Access (ZTNA)

The modern approach mandates the Zero Trust paradigm: "Never trust, always verify." Access is no longer granted based on network location, but on the identity and posture of the device for every single session.

1. Micro-segmentation and Identity Providers (IdP)

Instead of exposing the entire network, ZTNA establishes end-to-end encrypted tunnels to individual applications (e.g., only to the ERP or internal web server). By using Azure AD or Okta as an IdP, mandatory Multi-Factor Authentication (MFA) and conditional policies are enforced: if an employee's PC lacks an updated antivirus, access is denied even if the password is correct.

2. Abandoning the "Trusted Network" Concept

By implementing solutions like Cloudflare Access or Tailscale, internal applications don't even require open ports on the corporate firewall, becoming "invisible" on the Internet but securely accessible to authorized users.

Active Directory Security Scanner (PowerShell Script)

The first step toward Zero Trust is auditing legacy privileges and SPN vulnerabilities. Enter your corporate email to immediately receive your secure access link to the operational assets repository.

By submitting, you agree to subscribe to IT Chronicle's technical newsletter. You will immediately receive the secure link via email. Zero spam, pure operational architectures.

Secure Remote Management with PowerShell: Enabling WinRM HTTPS

The Problem: The Overhead of Remote Desktop (RDP)

Secure Remote Management with PowerShell
Image generated with Gemini AI


Managing dozens of Windows Servers by constantly opening Remote Desktop (RDP) sessions is slow, bandwidth-heavy, and often leaves orphaned GUI sessions hanging on the system. Furthermore, exposing the RDP protocol (port 3389) across inter-office networks unnecessarily increases the corporate attack surface.

The Solution: PowerShell Remoting via WinRM

The modern, scalable solution for IT Management is PowerShell Remoting. By utilizing the native WinRM (Windows Remote Management) protocol, you can open interactive sessions or execute batch scripts on remote machines directly from your terminal, exactly like you do with SSH on Linux.

1. Enabling WinRM on the Target Server

Log in to the target server (or deploy via Group Policy, GPO, if you are in an Active Directory environment) and open a PowerShell console with Administrator privileges. Execute the quick configuration cmdlet:

Enable-PSRemoting -Force

This command starts the WinRM service, sets it to start automatically, and creates the default firewall rules (TCP port 5985 HTTP). However, in zero-trust environments, HTTP is not enough.

2. Hardening: Forcing HTTPS (Port 5986)

To encrypt traffic at the transport layer and prevent Man-In-The-Middle attacks, you must bind WinRM to an SSL certificate. Assuming you have generated or requested a certificate for the server (via corporate PKI), you can create an HTTPS listener using PowerShell:

# Retrieve the certificate thumbprint
$Cert = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -match "YourServerName" }
$Thumbprint = $Cert.Thumbprint

# Configure the HTTPS listener
New-Item -Path WSMan:\LocalHost\Listener -Transport HTTPS -Address * -CertificateThumbPrint $Thumbprint -Force

Do not forget to open port 5986 on the Windows Server firewall.

3. Initiating the Connection from the Client

Now, from your Sysadmin workstation, you can connect to the server in total security by opening an interactive session:

Enter-PSSession -ComputerName YourServerName -UseSSL -Credential (Get-Credential)

Your terminal prompt will change, confirming that every command you type from that moment on is executing locally on the remote server.

Bash Scripting: Automating Server Backups and Log Rotation

The Problem: Disks Saturated by Log Files

Automating Server Backups and Log Rotation
Image generated with Gemini AI


Manual server maintenance is the enemy of efficiency. An IT sysadmin regularly has to free up disk space choked by old Apache/Nginx log files or ensure that critical configuration directories (e.g., /etc) are consistently backed up remotely. Forgetting these tasks leads to unplanned service outages.

The Solution: Bash Scripting and Cronjobs

We need to build a robust script that autonomously handles archiving critical data, purging obsolete files to free up inodes, and synchronizing everything to a secure off-site backup server.

1. The Bash Script for Backup and Cleanup

Create a file named server_maintenance.sh and paste this code. The script utilizes tar for compression, find to identify old logs, and rsync for secure transfer over SSH.

#!/bin/bash
# server_maintenance.sh - Backup and log rotation

BACKUP_DIR="/var/backups/daily"
TIMESTAMP=$(date +"%F")
TARGET_DIR="/etc"
REMOTE_SERVER="backup_user@10.0.10.50:/archive"

# 1. Creating the compressed archive
echo "[*] Creating backup for $TARGET_DIR..."
mkdir -p "$BACKUP_DIR"
tar -czf "$BACKUP_DIR/etc_backup_$TIMESTAMP.tar.gz" "$TARGET_DIR"

# 2. Purging old logs (older than 30 days)
echo "[*] Rotating and deleting obsolete logs..."
find /var/log -name "*.log" -type f -mtime +30 -exec rm -f {} \;

# 3. Secure remote transfer
echo "[*] Syncing to the backup server..."
rsync -avz --delete "$BACKUP_DIR/" "$REMOTE_SERVER"

echo "[+] Maintenance completed successfully."

2. Execution Permissions and Scheduling

To make the script executable, modify the permissions:

chmod +x server_maintenance.sh

Now, let's delegate the automatic execution to the cron daemon. Open the cron table for the root user by running sudo crontab -e and add the following directive to trigger the script every night at 02:00 AM:

0 2 * * * /full/path/server_maintenance.sh >> /var/log/maintenance.log 2>&1

With this automation in place, the data lifecycle on your server is completely autonomous, performance-optimized, and disaster-proof.

Advanced DNS Troubleshooting: Beyond the usual ipconfig

The Problem: Connectivity Exists, Resolution Fails

Advanced DNS Troubleshooting
Image generated with Gemini AI


It is a recurring nightmare: the server successfully replies to ping 8.8.8.8, but attempting to reach an internal or external domain returns ERR_NAME_NOT_RESOLVED in the browser. The standard ipconfig /flushdns command had zero effect. In these advanced scenarios, simply restarting the network adapter is useless; you need to surgically inspect the resolution chain.

The Solution: Sysadmin Tools (dig and nslookup)

To diagnose exactly where the DNS chain breaks, we must bypass the operating system's cache and query the name servers directly.

1. Inspecting Resolution with `dig` or `nslookup`

On Linux (or WSL on Windows), use dig to trace the request path. Specify your corporate DNS server to see if it responds correctly to internal records (e.g., your intranet at intranet.local):

# Specifically query the corporate Domain Controller (10.0.20.5)
dig @10.0.20.5 intranet.local

If the server returns a SERVFAIL error, the issue lies within the DNS server's forwarders. If it returns NXDOMAIN, the record simply does not exist in the DNS zone.

2. The DNS over HTTPS (DoH) Browser Conflict

An increasingly common issue in corporate networks is caused by DNS over HTTPS (DoH). Modern browsers (Chrome, Edge, Firefox) bypass the Windows network adapter's DNS settings and encrypt requests, sending them directly to Cloudflare or Google. The result? The user can browse the public internet but cannot access internal corporate resources because the public DNS knows nothing about your private zone.

To fix this, disable "Secure DNS" within the browser's privacy settings, or enforce the block company-wide via Group Policy Objects (GPO).

3. Verifying Hosts and Resolv.conf

On Linux machines, ensure the resolution process is actually pointing to the correct server. Inspect the configuration file:

cat /etc/resolv.conf

If the network is managed by systemd-resolved, check the global resolution status by executing:

resolvectl status

Network Segmentation: Mitigating Threats with VLANs

The Problem: The "Flat" Network and Lateral Movement

Network Segmentation
Image generated with Gemini AI


In many legacy corporate infrastructures, all devices (office computers, production servers, IP cameras, and guest Wi-Fi) reside on the exact same subnet (e.g., 192.168.1.0/24). If an employee opens a malicious attachment and triggers a ransomware payload, the malware exploits this "flat" architecture to perform lateral movement, instantly scanning and infecting critical servers and backup repositories without encountering a single network obstacle.

The Solution: Segmentation via VLANs and Firewalls

The principle of least privilege applies to networking as well. We must physically or logically isolate different corporate areas using VLANs (Virtual Local Area Networks) and route traffic through an internal firewall to inspect and block unauthorized communications.

1. Creating VLANs (Logical Isolation)

On your managed switches (Layer 2 or Layer 3), carve out distinct network segments. A standard minimal architecture includes:

  • VLAN 10 (Management): 10.0.10.0/24 - Exclusive sysadmin access to hypervisors, switches, and iLOs.
  • VLAN 20 (Servers): 10.0.20.0/24 - Application servers, databases, and Active Directory.
  • VLAN 30 (Clients): 10.0.30.0/24 - Employee workstations.
  • VLAN 40 (IoT/Printers): 10.0.40.0/24 - Vulnerable embedded devices.

2. Inter-VLAN Routing and Firewall Rules

Without a router or firewall (like pfSense or FortiGate) acting as the gateway, VLANs cannot communicate. Enforce strict firewall rules to allow only strictly necessary traffic. For example, clients (VLAN 30) must not be able to initiate RDP sessions to servers (VLAN 20); only the Management VLAN should have that capability.

# Logical Firewall Rule Example on pfSense
Action: PASS
Interface: VLAN_CLIENT
Source: VLAN_CLIENT Subnet
Destination: VLAN_SERVER Subnet
Ports: 443 (HTTPS), 3306 (MySQL)

Action: DROP
Interface: VLAN_CLIENT
Source: ANY
Destination: VLAN_SERVER Subnet
Ports: 3389 (RDP), 22 (SSH)

Conclusion

Network segmentation transforms your infrastructure from an open prairie into a series of watertight compartments. If an endpoint is compromised, the blast radius is confined strictly within its VLAN, saving critical services and backups from total destruction.

Enterprise Shadow AI: Risks and Data Leakage Prevention

The Problem: Invisible Data Exfiltration via LLMs

Enterprise Shadow AI
Image generated with Gemini AI


The Shadow IT phenomenon has evolved. Today, the primary threat is no longer the unauthorized cloud server, but Shadow AI. To speed up their workflow, employees are pasting source code, confidential contracts, or financial data (PII) into public AI chatbots (like the free versions of ChatGPT or Claude). Because these tools often use user prompts to train their language models, the company's sensitive data is irrevocably exposed outside the corporate security perimeter.

The Solution: Policies, DNS Filtering, and Enterprise AI

Simply blocking access to AI tools generates frustration and pushes users to find loopholes (e.g., hotspot connections). The solution requires a three-tiered approach.

1. Visibility and Network-Level Blocking

The first step is to stop the data hemorrhage to unauthorized endpoints. Configure the corporate firewall or DNS resolver (like Pi-hole or NextDNS) to monitor and block queries to the public APIs of major uncontracted AI providers.

# Example domains to add to the DNS blocklist
api.openai.com
chatgpt.com
claude.ai
gemini.google.com

2. Implementing Enterprise AI (Walled Garden)

To maintain productivity without compromising security, you must provide a safe alternative. Deploy private instances via enterprise cloud services (such as Google Cloud Vertex AI or Azure OpenAI) where contracts explicitly guarantee that data will not be used for model training. Alternatively, for highly classified data, deploy open-source LLMs (like Llama 3) locally on on-premise servers.

3. Endpoint DLP Configuration

Update Data Loss Prevention (DLP) software policies on endpoints to detect and block attempts to copy-paste sensitive strings (e.g., credit card numbers, IBANs, or proprietary code) into browser windows directed at URL categories classified as "Generative AI".

Generative AI for IT: Accelerating Bash and PowerShell Scripting

The Problem: Development Bottlenecks

Generative AI for IT
Image generated with Gemini AI


Writing complex regular expressions (regex), handling advanced PowerShell modules, or building nested loops in Bash requires hours of focus and endless referencing of official documentation. In the fast-paced realm of ICT consulting, time spent debugging syntax is time stolen from risk analysis and strategic infrastructure design.

The Solution: Generative AI as an Operational Copilot

Leading the enterprise adoption of Generative AI does not mean aiming to replace human capital, but rather equipping it with an advanced copilot. By leveraging Large Language Models (LLMs), it is possible to delegate the structural drafting of code to artificial intelligence, drastically cutting down the time-to-market for IT automations.

1. IT-Specific Prompt Engineering

The secret to generating functional code lies in providing rigorous technical constraints. A generic prompt yields generic, often vulnerable scripts. Here is the structure of an engineered prompt designed for a Sysadmin:

"Act as a Senior Windows Sysadmin. Write a PowerShell script compatible with Windows Server 2022 that compresses IIS log files older than 30 days. Mandatory requirements: use Try/Catch constructs for error handling, write operation outputs to a local log file (in JSON format), and do not rely on any third-party modules."

2. Code Refactoring and Translation

Beyond pure generation, AI shines in technical debt analysis. By feeding undocumented legacy scripts (perhaps inherited from previous administrators) into the prompt, you can request line-by-line explanations, the addition of standardized comments, or the direct translation of entire logical blocks from Bash to PowerShell, ensuring architectural uniformity across hybrid environments.

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.

Linux Server Hardening: The 5 Mandatory Post-Install Steps

Linux Hardening
Image Generated with Gemini AI


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.

IT First Aid - Ep. 30: "This app has been blocked for your protection"


You are trying to install an old (perhaps management) software that is perfectly legitimate, but a large red Windows screen yells at you: "This app has been blocked for your protection". There is no "Run anyway" button.

1. The Certificate Block

The UAC (User Account Control) intercepts software whose digital signature certificate has expired or been revoked. Right-click the downloaded .exe file, go to Properties. If you see a security warning at the bottom, check the "Unblock" box and hit Apply.

2. Forced Launch via Terminal

App Lock
Image generated with Gemini AI


If Windows continues to block it, use Admin authority. Open the Command Prompt by running it as Administrator. Navigate using the cd command to the folder where the file is located (e.g., cd C:\Downloads) and type the name of the executable (e.g., setup.exe). Being launched from an already verified environment with maximum privileges, the installation will bypass the graphical block.

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 First Aid - Ep. 29: Forgot Windows Local Password


Warning: this maneuver is exactly why we sysadmins always insist on encrypting drives with BitLocker. If the account is local (not linked to a Microsoft email) and unencrypted, here is the classic "skeleton key" trick.

Forgot Password
Image generated with Gemini AI


1. The Utilman Trick

Boot the PC with a Windows installation USB drive. Use Shift+F10 to open the command prompt. The game involves navigating to the System32 folder and renaming the Accessibility executable (utilman.exe), replacing it with the command prompt (cmd.exe).

2. The Brutal Reset

Rebooting the PC normally, when you reach the lock screen, clicking on the Accessibility icon in the bottom right will open a command prompt with maximum privileges (SYSTEM). Just type net user username newpassword to force the change and get back into the system. No formatting required.

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 First Aid - Ep. 28: Bluetooth paired but won't connect


Your headphones or mouse show up in the "Paired" devices list, but clicking Connect does absolutely nothing. Endlessly removing and re-adding the device sometimes doesn't help if the radio stack is frozen.

Bluetooth Service
Image generated with Gemini AI


1. Restarting Radio Services

Press Win + R, type services.msc, and hit Enter. Look for the Bluetooth Support Service (or bthserv). If it's stopped, Start it; if it's already running, give it a nice Right-click > Restart. Do the same for related services you find nearby (like Bluetooth Audio Gateway Service).

2. The Troubleshooter

If restarting the daemon isn't enough, go to Settings > System > Troubleshoot > Other troubleshooters and run the one dedicated to Bluetooth. Windows will force a reset of the internal antenna's radio driver.

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 First Aid - Ep. 27: Can't access Network Folders or NAS


You just set up a corporate NAS or a printer with a shared folder, but your PC categorically refuses to see it on the Network, giving you a generic error.

SMB 1.0
Image generated with Gemini AI


1. Network Discovery

First common oversight: ensure your connection profile is set to "Private" and not "Public", otherwise the Windows firewall will close sharing ports by default.

2. The SMBv1 Protocol Demon

If the NAS or network device is a bit old, it uses the SMBv1 protocol to communicate. For security reasons (ransomware prevention), Windows 10/11 disables it out of the box. Press Start, type "Turn Windows features on or off", scroll down to "SMB 1.0/CIFS File Sharing Support", expand it, and check the "SMB 1.0/CIFS Client" box. Reboot your PC.

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

Practical Guide: KVM Hypervisor with Cockpit Web UI on Debian 12

Cockpit Dashboard

In our previous article, we analyzed the post-Broadcom VMware crisis. It is now time to take action by providing a robust and cost-effective technical solution.

In this guide, we will configure a clean Debian 12 (Bookworm) server as a Type 1 hypervisor using KVM (Kernel-based Virtual Machine). For management, we will use Cockpit, a native Linux web interface that makes administering Virtual Machines simple and intuitive.

1. System Verification and Update

First, verify that the CPU supports virtualization extensions (Intel VT-x or AMD-V):

egrep -c '(vmx|svm)' /proc/cpuinfo

Ensure the system is up to date:

sudo apt update && sudo apt full-upgrade -y

2. Installing the KVM and Libvirt Stack

Proceed with installing the hypervisor and management libraries.

sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virtinst libosinfo-bin -y

3. Network Configuration (Bridge)

To allow VMs to be visible on the LAN network, we must configure a Network Bridge (e.g., br0).

ATTENTION: An incorrect configuration of `/etc/network/interfaces` can cause loss of remote connectivity. Proceed with caution, preferably having physical or IPMI access.
# /etc/network/interfaces

auto lo
iface lo inet loopback

allow-hotplug enp3s0
iface enp3s0 inet manual

auto br0
iface br0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8
    bridge_ports enp3s0
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0

4. Cockpit Setup for Web Management

Install the base package and the specific module for VM management:

sudo apt install cockpit cockpit-machines -y

5. Complete Installation Video Tutorial

Integrating the textual guide, here is an Asciinema recording showing the entire process. You can copy text directly from the player.

Conclusions

By navigating to https://server_ip_address:9090, you now have full access to manage your virtual machines. We have transformed a standard Debian server into a powerful enterprise-grade KVM hypervisor, without licensing costs and vendor lock-in.




WSL 2 for IT: From Windows to Linux in 5 Mins

The Problem: The Burden of Virtual Machine Management



For years, sysadmins and developers forced to operate in hybrid environments have faced an exhausting compromise: maintaining a cumbersome dual-boot setup or relying on heavy, resource-hungry virtual machines (VMs). The need to execute Bash scripts, network tools, or Docker containers directly from a Windows Server or client infrastructure has historically led to performance bottlenecks and workflow fragmentation.

The Solution: Windows Subsystem for Linux 2 (WSL 2)

With WSL 2, the rules of the game have changed. Microsoft introduced a real, native Linux kernel integrated directly into Windows. This is no longer a simple translation layer, but a highly optimized architecture based on a lightweight Hyper-V utility. The result is native file system access and I/O performance that almost rivals a bare-metal installation.

WSL2
Image generated with Gemini AI

1. Quick Installation via PowerShell

Deployment has been drastically simplified. Simply open PowerShell with administrator privileges and run a single command to install the subsystem along with the default distribution (Ubuntu):

wsl --install

For production environments, the rock-solid stability of Debian is often preferred. You can view the list of available distributions and perform a targeted installation:

wsl --list --online
wsl --install -d Debian

2. Hardening and Resource Optimization

One of the most insidious field issues is the tendency of WSL 2 to progressively consume all available RAM on the host system. To prevent this architectural "memory leak", enforcing a strict resource limit is mandatory.

Create or edit the .wslconfig file located in the root of your user profile (the path is C:\Users\YourUsername\.wslconfig) and apply the following parameters:

[wsl2]
memory=4GB
processors=2
swap=0

To forcefully apply the new configuration, restart the WSL service from your terminal:

wsl --shutdown

Conclusion

Implementing WSL 2 transforms a Windows workstation or server into the ultimate Swiss Army knife for IT Management. You instantly gain the power of the Linux terminal for troubleshooting and networking, without giving up Microsoft's native domain administration and security tools.