How To Configure UFW Firewall on Debian 12
In this tutorial, we will show you how to configure UFW Firewall on Debian 12. For those of you who didn’t know, UFW, the Uncomplicated Firewall, is a front-end for iptables, offering a simplified approach to firewall management on Debian systems. With its intuitive interface, UFW enables users to define firewall rules using a straightforward command-line syntax. It serves as an excellent alternative to traditional complex firewall tools, allowing users to secure their networks with ease.
This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo
‘ to the commands to get root privileges. I will show you the step-by-step setup UFW Firewall on a Debian 12 (Bookworm).
Prerequisites
- A server running one of the following operating systems: Debian 12 (Bookworm).
- It’s recommended that you use a fresh OS install to prevent any potential issues.
- SSH access to the server (or just open Terminal if you’re on a desktop).
- An active internet connection. You’ll need an internet connection to download the necessary packages and dependencies for UFW Firewall.
- A
non-root sudo user
or access to theroot user
. We recommend acting as anon-root sudo user
, however, as you can harm your system if you’re not careful when acting as the root.
Configure UFW Firewall on Debian 12
Step 1. Before we install any software, it’s important to make sure your system is up to date by running the following apt
commands in the terminal:
sudo apt update sudo apt install apt-transport-https lsb-release ca-certificates curl dirmngr gnupg
This command will refresh the repository, allowing you to install the latest versions of software packages.
Step 2. Configure UFW Firewall on Debian 12.
Begin by checking if UFW is already installed on your system:
sudo ufw status
If UFW is not installed, you can install it using the following command:
sudo apt update sudo apt install ufw
Verify the successful installation:
sudo ufw version
Step 3. Configuring Basic Firewall Rules.
By default, UFW denies all incoming and outgoing traffic, ensuring that your system remains secure. Let’s enable UFW and set the default policies:
sudo ufw enable sudo ufw default deny incoming sudo ufw default allow outgoing
With these commands, UFW is active and will block any incoming connections while allowing outgoing traffic.
Step 4. Allowing or Denying Specific Network Services.
To enable certain services, such as SSH for remote access, use the following commands:
sudo ufw allow ssh
Similarly, you can allow other services, like HTTP and HTTPS:
sudo ufw allow http sudo ufw allow https
Step 5. Enabling UFW Logging for Troubleshooting.
UFW logging allows you to monitor traffic and identify potential threats. To enable logging, use the following command:
sudo ufw logging on
The logs are stored in /var/log/ufw.log
.
Step 6. Advanced UFW Configuration.
UFW offers application profiles for popular services, simplifying the configuration process. To list available application profiles:
sudo ufw app list
Custom rules allow you to tailor UFW to your specific requirements. For instance, to allow incoming connections on port 8080:
sudo ufw allow 8080/tcp
To deny outgoing traffic to a specific IP address:
sudo ufw deny out to 192.168.0.100
UFW enables you to specify source and destination IP addresses for fine-grained control:
sudo ufw allow from 192.168.0.100 to any port 22
If your system has multiple network interfaces, you can configure UFW accordingly. For instance, to allow traffic on the eth1 interface:
sudo ufw allow in on eth1 to any
Congratulations! You have successfully installed UFW Firewall. Thanks for using this tutorial to set up the UFW Firewall on Debian 12 Bookworm. For additional help or useful information, we recommend you check the official Debian website.