Skip to content

Release: v15.09

Release v15.09 enhances support for DirectAdmin, including a major bug fix, an updated module interface, enables automatic updates for the CSF DirectAdmin web interface,, and a newly added DirectAdmin Installation Guide.

This release also resolves a few issues regarding the installation process, and includes multiple performance improvements that significantly increase file read efficiency.




Changelog

A list of the most important changes are listed below.


Introducing AbuseIPDB


AbuseIPDB


We have added a new AbuseIPDB integration to the file /etc/csf/csf.blocklists. When enabled, this integration allows CSF to automatically block known malicious IP addresses before they can reach your server.

# #
#   @blocklist              AbuseIPDB
#   @details:               https://abuseipdb.com/account/api
#   @notes:                 Requires you to create an account.
#                           Requires you to generate an API key.
#                           Add your generated API key in the URL below by 
#                               replacing `YOUR_API_KEY`.
#                           Change the 3rd field `10000` to a higher number
#                               if you are on a paid plan.
#   
#                           Full documentation at:
#                               https://docs.configserver.dev/install/integrations/abuseipdb/
# #

#   ABUSEIPDB|86400|10000|https://api.abuseipdb.com/api/v2/blacklist?key=YOUR_API_KEY&plaintext


Think of AbuseIPDB like the classic arcade game Asteroids: hostile attackers and abusive IPs are the incoming asteroids, and your server’s firewall is the laser cannon. As soon as a threat gets too close, it’s eliminated, along with 100 points per hit.

By leveraging AbuseIPDB’s real-time threat intelligence, you gain a proactive defense layer that helps keep your server protected in the ongoing battle against malicious activity across the digital cosmos.

We’ve also added a dedicated documentation page that explains the AbuseIPDB integration in detail. You can read more about it here:


Review our list of curated guides related to AbuseIPDB below:



We have decided to make slight adjustments to the Sponsor icon that rests within the footer of the CSF interface:

  • Removed heartbeat animation.
  • Sponsor icon no longer shows if you are a sponsor with a valid license.
  • Added new setting SPONSOR_ICON_HIDE to file /etc/csf/csf.conf which will hide the icon.
  • Added new setting SPONSOR_ICON_ANIM to file /etc/csf/csf.conf which will stop icon animation.


We have added the following new settings to the /etc/csf/csf.conf:

# #
#   This will enable or disable the beating heart animation
#   for the footer sponsor icon.
#   
#   0       = No animation          (default)
#   1       = Show animatin
#   empty   = Uses default
# #

SPONSOR_ICON_ANIM = "0"

# #
#   This will hide the heart icon in the footer which leads
#   to the sponsor website if clicked.
#   
#   If you remove this, please consider sponsoring to help
#   support the project. Even five dollars helps.
#   
#   0       = Show                  (default)
#   1       = Hide
#   empty   = Uses default
# #

SPONSOR_ICON_HIDE = "0"



DirectAdmin: New Docs

We have added a new section to our documentation that walks through the process of installing DirectAdmin alongside CSF on a server.

This completes our installation guides, as DirectAdmin was the last remaining supported control panel without dedicated documentation.

To view this documentation, visit:



DirectAdmin: Install Error

We have resolved an installation issue affecting the DirectAdmin control panel that could cause the installation process to fail completely.

Previously, users may have encountered the following error during installation:

./install.directadmin.sh: line 1196: syntax error: unexpected end of file


After the v15.09 update, the ability to install CSF integration into DirectAdmin should be restored.



CyberPanel: Fixed Vertical Scrollbar

CyberPanel previously had a bug that caused a small vertical scrollbar to appear at the top of each CSF page. This meant that when navigating to a new page, users had to scroll slightly further than expected for the page content to display correctly.

We have now removed this unnecessary internal scrollbar. The embedded iframe automatically adjusts its height to match the loaded CSF page, providing a smoother and more seamless scrolling experience.

We have provided a gif of the bug as it was:

Cyberpanel › Verticle Scrollbar
Cyberpanel › Verticle Scrollbar



CWP: Rebranding

Across various areas of the CSF codebase and documentation, the control panel now known as Control Web Panel was previously referred to as CentOS Web Panel.

This update corrects those references by rebranding all mentions of CentOS Web Panel to Control Web Panel, ensuring consistency with the panel’s current and official name.

Why the change:
The control panel was originally named CentOS Web Panel, but was later renamed to Control Web Panel to avoid naming conflicts. Our updates simply reflect this change and do not alter functionality.



CWP: Output Sanitization

During routine bug fixes related to Control Web Panel (CWP) integration, we identified an opportunity to further enhance security at the interface level.

To improve overall safety and reliability, we have updated our code to sanitize all data exchanged between CSF and Control Web Panel. This ensures that any information sent to or received from the control panel is properly filtered and validated before being processed or displayed.

What this means: Output sanitization prevents unexpected or unsafe data from being interpreted by the control panel. This reduces the risk of malformed input, unintended behavior, or potential abuse; without affecting normal functionality or the user experience.



CWP: Fixed Terminal Output

In update v15.08, we introduced a newly formatted output style for commands related to CSF. While this improved the terminal experience, it unintentionally affected Control Web Panel users.

As a result, the Firewall Manager section within the Control Web Panel displayed raw ANSI color codes instead of clean, readable output. This behavior was not intended and has now been corrected, ensuring the output is properly formatted when viewed through the control panel.


Control Web Panel › Firewall Manager › Solution
Control Web Panel › Firewall Manager › Problem


We have added new logic which differentiates between CSF commands accessed via a GUI, and commands that have been triggered via TTY.

Control Web Panel › Firewall Manager › Solution
Control Web Panel › Firewall Manager › Solution



Webmin: Firewall Button Restored

In Webmin’s Authentic theme (dark mode), built-in JavaScript caused the Firewall Configuration button on the home page to be hidden when the page loaded.

The Firewall Configuration button provides direct access to CSF’s internal configuration page, allowing users to modify /etc/csf/csf.conf through a graphical interface instead of editing the file manually.

Although Webmin replaced the hidden button with a small icon in the top-left corner of the CSF home page that links to the same configuration area, the original button was no longer visible.

This update restores the Firewall Configuration button while retaining the icon added by Webmin, ensuring both access methods remain available.

Webmin › Firewall Configuration
Webmin › Firewall Configuration



OpenVPN and Docker Integration

As we have worked toward making all bash related scripts POSIX compliant; this change in standards caused our Docker and OpenVPN integration scripts to break.

We have now re-worked the scripts to be fully POSIX compliant, and also updated the code to be more optimized and clean.

Along with these changes, we have also introduced flags that are available for these scripts.

To view the scripts, you can download them from our extras folder within our repository.


You have two ways to activate these scripts

  1. Drop them in your CSF pre/post folder via /usr/local/include/csf/post.d/openvpn.sh, and automatically load them by restarting CSF.
  2. Manually activate the scripts directly.


Automatic

To activate these scripts automatically, drop them inside the folder:

└── usr
    └── local
        └── include
            └── csf
                └── pre.d
                └── post.d
                    └── docker.sh
                    └── openvpn.sh
        └── csf
            ├── bin
            │   ├── csfpre.sh
            │   └── csfpost.sh


Once the scripts are added to the correct path, restart CSF using the command:

sudo csf -ra


Manual

You can activate the docker.sh and openvpn.sh integration scripts manually. First you will need to download them from our repository and place them somewhere on your server.

Once you have them on your server, set the permissions to be executable:

sudo chmod +x /path/to/docker.sh
sudo chmod +x /path/to/openvpn.sh


Finally, you can run the scripts with the commands:

sudo sh /usr/local/include/csf/post.d/openvpn.sh


You should see the following output:

PASS               Found installed package CSF + LFD  
PASS               Found installed package OpenVPN    
PASS               Found installed package iptables   
PASS               Declared iptables4 binary /usr/sbin/iptables 
PASS               Declared iptables6 binary /usr/sbin/ip6tables 
INFO               Using the following values:                  
                      Ethernet Adapter         eth0
                      Public IP                XX.XX.XX.XX
                      VPN Tunnel Adapter       tun0
INFO               Starting OpenVPN integration with CSF 
                      + RULES [ADD] -A INPUT -i tun+ -j ACCEPT 
                      + RULES [ADD] -A FORWARD -i tun+ -j ACCEPT 
                      + RULES [ADD] -A FORWARD -o tun0 -j ACCEPT 
                      + RULES [ADD] -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
                      + RULES [ADD] -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE 
                      + RULES [ADD] -A INPUT -i eth0 -m state --state NEW -p udp --dport 1194 -j ACCEPT 
                      + RULES [ADD] -A FORWARD -i tun+ -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT 
                      + RULES [ADD] -A FORWARD -i eth0 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT 
                      + RULES [ADD] -t nat -A POSTROUTING -j SNAT --to-source XX.XX.XX.XX 
                      + RULES [ADD] -A OUTPUT -o tun+ -j ACCEPT 


You can also activate the --help flag:

sudo sh /usr/local/include/csf/post.d/openvpn.sh --help


Which will output:

ConfigServer Firewall - Docker Patch - v15.0.9
https://github.com/Aetherinox/csf-firewall
Sets up your firewall rules t work alongside OpenVPN.
This script requires that you have iptables installed on your system.
The required packages will be installed if you do not have them.
openvpn.sh [ --restart | --flush | --detect | --dryrun | --version | --help ]

Syntax:                                         
      Command            openvpn.sh [ --option [ arg ] ]
      Options            openvpn.sh [ -h | --help ]
          -A                required                        
          -A...             required; multiple can be specified
          [ -A ]            optional                        
          [ -A... ]         optional; multiple can be specified
          { -A | -B }       one or the other; do not use both
      Examples           openvpn.sh --detect 
                          openvpn.sh --dryrun 
                          openvpn.sh --version 
                          openvpn.sh --help | -h | /?

Flags:                                         
      -D,  --detect                       lists the detected values for ethernet adapter, tunnel, and public ip
      -r,  --restart                      restart csf and lfd services        
      -f,  --flush                        flush all iptable rules from server 
      -d,  --dryrun                       simulates installation, does not install csf <default> false 
      -v,  --version                      current version of this utilty <current> 15.0.9 
      -h,  --help                         show this help menu          







Full Changelog

The full changelog is available here.



Comments