As my first post on this blog I would like to introduce a tool of mine that has come a long way, that can be used by Sysadmins or Security professionals to help on Linux Servers hardening efforts or serve as a guideline, this tool is Jshielder.
JShielder is an Open Source Bash Script developed to help SysAdmin, developers or Security professionals secure there Linux Servers in which they will be deploying any web application or services. This tool automates the process of installing all the necessary packages to host a web application and Hardening a Linux server with little interaction from the user. The user also has the ability to automate the necessary steps to deploy a secure reverse proxy using apache. Newly added separate bash script follows CIS Benchmark Guidance to establish a Secure configuration posture for Linux systems.
This tool is a Bash Script that hardens the Linux Server security automatically and the steps followed are:
- Configures a Hostname
- Reconfigures the Timezone
- Updates the entire System
- Creates a New Admin user so you can manage your server safely without the need of doing remote connections with root.
- Helps user Generate Secure RSA Keys, so that remote access to your server is done exclusive from your local pc and no Conventional password
- Configures, Optimize and secures the SSH Server (Some Settings Following CIS Benchmark)
- Configures IPTABLES Rules to protect the server from common attacks
- Disables unused FileSystems and Network protocols
- Protects the server against Brute Force attacks by installing a configuring fail2ban
- Installs and Configure Artillery as a Honeypot, Monitoring, Blocking and Alerting tool
- Install, configure, and optimize MySQL
- Install the Apache Web Server
- Install, configure and secure PHP
- Secure Apache via configuration file and with installation of the Modules ModSecurity, ModEvasive, Qos and SpamHaus
- Installs RootKit Hunter
- Secures Root Home and Grub Configuration Files
- Installs Unhide to help Detect Malicious Hidden Processes
- Installs Tiger, A Security Auditing and Intrusion Prevention system
- Restrict Access to Apache Config Files
- Disables Compilers
- Creates Daily Cron job for System Updates
- Kernel Hardening via sysctl configuration File (Tweaked)
- LEMP Deployment with ModSecurity (Needs Updating and Testing)
- /tmp Directory Hardening
- PSAD IDS installation
- Enables Process Accounting
- Enables Unattended Upgrades
- MOTD and Banners for Unauthorized access
- Disables USB Support for Improved Security (Optional)
- Configures a Restrictive Default UMASK
- Configures and enables Auditd
- Configures Auditd rules following CIS Benchmark
- Sysstat install
- ArpWatch install
- Additional Hardening steps following CIS Benchmark
- Secures Cron
- Automates the process of setting a GRUB Bootloader Password
- Secures Boot Settings
- Sets Secure File Permissions for Critical System Files
At the moment the tool is available for the following distro:
- Ubuntu Server 14.04LTS
- Ubuntu Server 16.04LTS
- Ubuntu Server 18.04LTS
We are currently working to release the LAMP Deployer and CIS Level 1 and 2 hardening for distros like CentOS, Debian, RedHat and others.
Obtaining a running JShielder on your Linux System
Downloading the tool is as easy a cloning the repo
# git clone https://github.com/Jsitech/JShielder
Access the directory and run jshielder as the root user
# cd JShielder/ # ./JShielder.sh
On the Jshielder screen select the Distro you will be hardening and the deployment type, follow the on-screen prompts.
When Jshielder is done, it will reboot the server.
In the case of the LAMP deployment, it is recommended you test your web application since the security measures may conflict with the application, some tweaking may be necessary.
Other tools are available that leverage Jshielder to securely deploy CMS like WordPress or Joomla.
These projects are available at:
We will read each other in the next one!