AYOUB.*
← ALL PROJECTSREPOS ↗
← All projects
🛡️Security Tool
LibrarySecurity ToolvmainPython

Automous

Python-based Linux server hardening with Ansible

Read the full case study

Key Facts & Overview

Automous is a Python tool that automates Linux server hardening using Ansible. It is based on the UT Austin Hardening Checklist and imthenachoman's Secure-A-Linux-Server guide. It applies profile-based hardening end-to-end from a single command, with custom Ansible modules and dynamic role assignment.

  • ›Built on the UT Austin Hardening Checklist and imthenachoman's guide.
  • ›Roles: firewalld, strict_permissions, security_scanning, fail2ban, apparmor, log_management, kernel_hardening, aide, clamav, lynis.
  • ›Disables root SSH login and enforces key-based authentication.
  • ›A separate docker_hardening module hardens container environments.

Core Architectural Features

Profile-based hardening (high, medium, low, web_server, database_server)
Custom Ansible modules (e.g. remove forbidden packages)
Dynamic role assignment per profile
End-to-end single-command automation
Comprehensive security coverage
Modular, extensible architecture

Installation

# 1. Install the uv package manager
pip install uv

# 2. Clone and enter the repo
git clone https://github.com/ayoubzulfiqar/Automous.git
cd Automous

# 3. Install dependencies
uv sync

Usage

# High security hardening (max features)
python main.py --target 192.168.1.100 --profile high

# Web server hardening (HTTP/HTTPS open)
python main.py --target 10.0.0.5 --profile web_server

# Database server hardening
python main.py --target 172.16.0.10 --profile database_server

# Reverse (experimental) — undo hardening changes
python main.py --target 192.168.1.100 --profile high --reverse

API Reference

--target <IP>

IP address or hostname of the target server (required).

--profile <NAME>

Security profile: high, medium, low, web_server, database_server (required).

--reverse

Undo hardening changes (experimental).

profiles.json

Edit to create custom profiles by listing roles.

Resources & Repositories