When STIG Guidance Breaks Linux

When STIG Guidance Breaks Linux

Not all compliance guidance is technically correct. A DISA STIG remediation for Ubuntu 22.04 LTS recommends applying permission mode 2640 to systemd-journal directories — a setting that removes execute permissions and can disrupt core logging functionality. This post examines the issue in detail, explains why the recommendation is flawed, and outlines a safer, technically sound approach for administrators who need to balance compliance with system integrity.

Keeping UFW Updated with Cloudflare Networks

Keeping UFW Updated with Cloudflare Networks

Keeping your origin server properly locked down is an important step when running behind Cloudflare. This post explains how to automatically maintain Cloudflare’s constantly changing IP ranges using `ipset`, and how to integrate them with UFW so that only Cloudflare’s proxy network can reach your web ports. With boot-time restoration and scheduled updates, you can prevent direct-to-origin access, strengthen your firewall setup, and ensure all traffic continues to benefit from Cloudflare’s protection layer.

ConfigServer’s Login Failure Daemon is Vulnerable to Denial of Service Attacks

ConfigServer Firewall

Login Failure Daemon (lfd) is a process that monitors the authentication log and matches all its lines against the set of regular expressions to detect login attempts that continually fail within a short period of time. It is often used to detect login failures of SSH connections. However, the regular expressions lfd uses to detect brute force attacks contain severe errors, and an attacker can exploit those bugs to cause a denial of service attack.

How to Run Docker in Alpine Container in LXC/LXD

How to Run Docker in Alpine Container in LXC/LXD

When experimenting with Docker Swarm, I decided to set up five more nodes on my local computer. I used Alpine images in the LXC, and tried to use Docker in them. Although docker stared successfully, it was impossible to deploy any services to Alpine nodes, deployment failed with “cgroups: cannot find cgroup mount destination: unknown” error message.

Because I dislike when something that should work, does not work the way I expect it to work, I decided to dig deeper and try to fix the problem.