Skip to content
This repository has been archived by the owner on Feb 12, 2023. It is now read-only.

CLI program for automating the setup, configuration, and use of cybersecurity solutions

License

Notifications You must be signed in to change notification settings

MutableSecurity/mutablesecurity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cover


GitHub Stars GitHub closed issues License


Description

MutableSecurity is a CLI program for making cybersecurity solution management easier and more accessible, from deployment and configuration to monitoring.

Functionalities

  • Multiple solution supported so far (and more under development)
  • Operations managing the solution lifecycle
    • Initially configuring the solution via YAML files
    • Installing the solution
    • Retrieving and changing the solution configuration
    • Retrieving metrics about the solution functioning
    • Updating the solution to its newest version
    • Uninstalling the solution
  • Multiple authentication methods
    • Password-based when deploying to the local host
    • Password-based or key-based SSH for remote hosts
  • Deployments to multiple hosts with the same command
  • Intuitive CLI
  • Extensive usage and contribution documentations

Supported Cybersecurity Solutions

Solution Description Others
Vector is a lightweight tool for building observability pipelines. As soon as solutions are enabled in the configuration, Vector starts to send their logs to the configured Loki instance. The latter can be either on-premise or in the cloud, the only condition being to permit authentication via username and API token. Maturity: Production
teler is a real-time intrusion detection and threat alert based on web log. Targets only nginx installed on Ubuntu. Maturity: Production
Suricata is the leading independent open source threat detection engine. By combining intrusion detection (IDS), intrusion prevention (IPS), network security monitoring (NSM) and PCAP processing, Suricata can quickly identify, stop, and assess even the most sophisticated attacks. Maturity: Production
Fail2ban is an intrusion prevention software framework that protects Unix-like servers from brute-force attacks. It scans log files and bans IP addresses conducting too many failed operations (for example, login attempts). This module targets Debian-based operating systems and has already set a SSH jail. Maturity: Production
Let's Encrypt is a free, automated, and open certificate authority brought to you by the nonprofit Internet Security Research Group (ISRG). Certbot is a free, open source software tool for automatically using Let's Encrypt certificates on manually-administrated websites to enable HTTPS. Maturity: Production
Clam AntiVirus (ClamAV) is a free software, cross-platfom antimalware toolkit able to detect many types of malware, including viruses. ClamAV includes a command-line scanner, automatic database updater, and a scalable multi-threaded daemon running on an anti-virus engine from a shared library. FreshClam is a virus database update tool for ClamAV. ClamAV Daemon checks periodically for virus database definition updates, downloads, installs them, and notifies clamd to refresh it's in-memory virus database cache. Maturity: Production
More coming soon...

Requirements

MutableSecurity depends on packages that have unique builds for each Python version (for instance, pyinfra's gevent).

Thus, Python 3.9 is required for the executable and installation via Debian package or repository. Any version greater than or equal to 3.9 can be used when installing via PyPi.

Installation

Via Debian Repository

# 1. Add the GPG keyring
wget -O- https://debian.mutablesecurity.io/pubkey.gpg | \
    gpg --dearmor | \
    sudo tee /usr/share/keyrings/mutablesecurity.gpg > /dev/null

# 2. Add the Debian repository
echo "deb [signed-by=/usr/share/keyrings/mutablesecurity.gpg] https://debian.mutablesecurity.io bullseye main" |\
    sudo tee /etc/apt/sources.list.d/mutablesecurity.list

# 3. Fetch the details by apt-updating
sudo apt update

# 4. Install the package
sudo apt install mutablesecurity

Via PyPi

Just run pip install mutablesecurity. Ensure that /home/<username>/.local/bin is added into your $PATH variable.

Debian Package

From the Releases section in this repository, download the latest Debian package. After that, install it using dpkg -i mutablesecurity.deb.

Executable

In the same Releases section, you can find executables that wrap up the whole project. Only download the latest version and place it into a convenient location (for example, /usr/bin or /home/<username>/.local/bin).

Demo

Demo

Support

If you have any type of suggestion (for example, proposals for new functionalities or support for other security solutions), please open an issue or drop us a line at [email protected].

Contributing

To find out how you can contribute to this project, check out our contribution guide.