Home

Awesome

<div align="center"> <img src="others/readme_images/cover.webp" width="600px" alt="Cover"> <br/><br/> <br/> <img src="https://img.shields.io/github/stars/mutablesecurity/mutablesecurity?color=blue&logoColor=white&label=stars&logo=github&style=flat-square" alt="GitHub Stars"> <img src="https://img.shields.io/github/issues-closed/mutablesecurity/mutablesecurity?color=blue&logoColor=white&label=issues&logo=github&style=flat-square" alt="GitHub closed issues"> <img src="https://img.shields.io/github/license/mutablesecurity/mutablesecurity?color=lightgray&logoColor=white&label=license&logo=opensourceinitiative&style=flat-square" alt="License"> <br/> </div>

Description

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

Functionalities

Supported Cybersecurity Solutions

<table> <thead> <tr> <th>Solution</th> <th>Description</th> <th>Others</th> </tr> </thead> <tbody> <tr> <td> <a href="https://vector.dev/"> <img src="others/readme_images/solutions/vector.webp"> </a> </td> <td>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.</td> <td> <img alt='Maturity: Production' src='https://img.shields.io/badge/Maturity-Production-blightgreen?style=flat-square'> </td> </tr> <tr> <td> <a href="https://teler.app"> <img src="others/readme_images/solutions/teler.webp"> </a> </td> <td>teler is a real-time intrusion detection and threat alert based on web log. Targets only nginx installed on Ubuntu.</td> <td> <img alt='Maturity: Production' src='https://img.shields.io/badge/Maturity-Production-blightgreen?style=flat-square'> </td> </tr> <tr> <td> <a href="https://suricata.io"> <img src="others/readme_images/solutions/suricata.webp"> </a> </td> <td>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.</td> <td> <img alt='Maturity: Production' src='https://img.shields.io/badge/Maturity-Production-blightgreen?style=flat-square'> </td> </tr> <tr> <td> <a href="https://www.fail2ban.org"> <img src="others/readme_images/solutions/fail2ban.webp"> </a> </td> <td>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.</td> <td> <img alt='Maturity: Production' src='https://img.shields.io/badge/Maturity-Production-blightgreen?style=flat-square'> </td> </tr> <tr> <td> <a href="https://letsencrypt.org"> <img src="others/readme_images/solutions/lets_encrypt.webp"> </a> </td> <td>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.</td> <td> <img alt='Maturity: Production' src='https://img.shields.io/badge/Maturity-Production-blightgreen?style=flat-square'> </td> </tr> <tr> <td> <a href="https://www.clamav.net/"> <img src="others/readme_images/solutions/clamav.webp"> </a> </td> <td>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.</td> <td> <img alt='Maturity: Production' src='https://img.shields.io/badge/Maturity-Production-blightgreen?style=flat-square'> </td> </tr> <tr> <td colspan=3><center>More coming soon...</center></td> </tr> </tbody> </table>

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

<div align="center"> <img src="others/readme_images/demo.webp" width="100%" alt="Demo"> </div>

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 hello@mutablesecurity.io.

Contributing

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