Differences between VPS and Dedicated Servers
How to Transfer Files from Windows to Linux Using WinSCP
Why Regular Data Backup Is Important in Web Hosting
IPv4 vs IPv6: What are the differences?
Dedicated IP vs Shared IP: What are the differences?
How to Use TraceRoute on Windows or Linux
7 Ways to Secure Your VPS
8 Major Benefits of VPS Hosting
What to Do with a VPS
How to Fix Common Remote Desktop Connection Problems
How to Prevent SSH Brute-Force Attacks on Linux Using Fail2ban
How to Prevent Brute-force Login Attacks on MSSQL
Windows Server VPS vs Windows Desktop VPS: Choosing the Best Windows VPS Hosting
How to Install Windows Subsystem for Linux (WSL) on Windows 10
How to Use VNC to Access a Remote Windows Server
How to Install and Run ChatGPT as a Windows App
How to Install and Use Tabby Terminal on Windows.
How to Connect to Ubuntu Linux with SSH Keys Using PuTTy from Windows
8 Reasons to Choose Windows 10 Over Windows 11
How to Configure a Firewall on Windows VPS
Installing Xfce Desktop Environment and XRDP service on Remote Ubuntu 22.04
Installing KDE Plasma Desktop Environment and XRDP service on Remote Ubuntu 22.04
Installing Cinnamon Desktop Environment and XRDP service on Remote Ubuntu 22.04
Linux GUI Options: 9 Best Linux Desktop Environments to Use
How to Use VNC to Access a Remote Linux Server
How to Transfer Files from Windows to Linux Using CMD
How to Install the ModSecurity Apache Module
How to Install the Apache Web Server on Ubuntu 20.04
How To Monitor Linux System Logs with Logwatch
9 Benefits of Linux VPS Hosting
How to Install and Use Screen on Ubuntu Servers
How to Configure a Linux VPS Firewall with IPTables
Introduction What is the Use of UFW in Ubuntu Linux? The UFW (Uncomplicated Firewall) is a frontend for iptables and is particularly well-suited for host-based firewalls. UFW provides a framework for managing netfilter, as well as a command-line interface for manipulating the firewall. UFW is a great firewall tool that is designed to be run on hosts or servers. It allows or blocks incoming and outgoing connections to and from the server. You can block ports, IPs or even entire subnets using UFW. It is not as flexible as iptables but is vastly easier for basic operations. UFW vs IPTables When it comes to configuring firewall on Ubuntu server, you have two primary options: ufw and iptables. Both tools provide firewall functionality but differ in terms of ease of use and complexity. UFW is a front-end for iptables that aims to simplify the process of configuring a firewall. It provides a user-friendly command-line interface and allows you to manage firewall rules using human-readable syntax. UfW provides a set of default rules that are easy to understand and configure. IPTables provides granular control over network traffic by allowing you to define rules based on various criteria such as IP addresses, ports, protocols, and more. IPTables gives you more flexibility, but it's also slightly more complicated to configure. So use whichever one you're most happy with. If you use iptables, remember that it only affects IPv4 - you need to also use ip6tables if your server has IPv6. In this article, we will show you how to install and config the UFW firewall on Ubuntu 22.04. How to Install UFW Firewall To install UFW on Ubuntu, follow these 3 steps. Step 1: SSH into the Linux system To install UFW, you need to SSH into the system. Step 2: Update system check settings $ sudo apt update $ sudo apt upgrade To check if ufw is installed, you can use the which command: $ which ufw And if the result doesn’t show output, it means ufw is not installed and you should install it like below. Step 3: Install UFW $ sudo apt-get install ufw After your ufw installation is complete, use the command below to check. The initial default after installation, UFW will be disabled because it has not been activated and you have to enable it manually. $ sudo ufw status verbose ----------------------------- Output Status: inactive Step 4: Enable UFW, Activate UFW After Installation To enable UFW and start enforcing the firewall rules, run: $ sudo ufw enable To temporarily disable UFW, run: $ sudo ufw disable How to Config UFW Firewall Use ufw to manage firewall rules, add/delete/restore/reset ufw rules. 1. UFW Check Status To check the current status of UFW, run the following command: $ sudo ufw status This will show you if UFW is active or inactive, the default input and output policies, and any rules that have been created. A fresh Ubuntu 22.04 installation will have UFW inactive by default. 2. UFW Allow Port To allow incoming connections on a specific port, you need to allow that port using UFW. For example, to allow HTTP traffic on port 80, run: $ sudo ufw allow 80/tcp This will allow all incoming TCP connections on port 80. You can also specify the IP address to allow only for a specific host: $ sudo ufw allow from 192.168.1.100 to any port 80 To allow both TCP and UDP protocols on port 123, run: $ sudo ufw allow 123/tcp $ sudo ufw allow 123/udp 3. UFW Allow Multiple Ports To allow multiple ports at once, specify the starting and ending ports: $ sudo ufw allow 2000:2100/tcp This will allow all ports from 2000 to 2100. You can also specify ports in a comma-separated list: $ sudo ufw allow 80,443,8080/tcp $ sudo ufw allow 22,25,110/tcp 4. UFW Allow HTTP/HTTPS Traffic It is a common requirement to allow incoming HTTP and HTTPS traffic. You can do that with: $ sudo ufw allow 'Apache Full' This will allow HTTP traffic on port 80 and HTTPS traffic on port 443. 5. UFW Allow SSH To allow incoming SSH connections on port 22, run: $ sudo ufw allow 22/tcp This is required to manage your Ubuntu server remotely using SSH. 6. UFW Allow DNS Traffic DNS uses UDP protocol on port 53. To allow incoming DNS queries, run: $ sudo ufw allow 53/udp 7. UFW Allow VNC To allow incoming VNC connections (usually port 5900 ), run: $ sudo ufw allow 5900/tcp 8. UFW Deny Port To block specific ports or protocols, use deny instead of allow. For example, to block incoming SMTP traffic: $ sudo ufw deny 25/tcp Closing tcp and udp ports, replace 80 with the desired port number: $ sudo ufw deny 80 For a port range you use the syntax: $ ufw deny 1234:2345 $ ufw deny 1234:2345/tcp $ ufw deny 1234:2345/udp 9. UFW Set Default Policies By default, the UFW incoming policy is set to deny, which means all incoming traffic is blocked. You can change this policy using: $ sudo ufw default deny incoming # To deny all incoming traffic $ sudo ufw default allow incoming # To allow all incoming traffic Similarly, you can set the default outgoing policy using: $ sudo ufw default deny outgoing $ sudo ufw default allow outgoing It is recommended to keep the default incoming policy as deny for security. 10. UFW Checking Logs You can enable logging with the command: $ sudo ufw logging on Log levels can be set by running sudo ufw logging low|medium|high, selecting either low, medium, or high from the list. The default setting is low. UFW keeps logs of denied connections in /var/log/ufw.log. You can view the log file using: $ sudo less /var/log/ufw.log To enable verbose logging, run: $ sudo ufw logging verbose Then UFW will log all allowed and denied connections. 11. UFW Delete Rules The syntax is as follows to list all of the current rules in a numbered list format: $ sudo ufw status numbered Status: active To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN Anywhere [ 2] 80/tcp ALLOW IN Anywhere # accept Apache [ 3] 443/tcp ALLOW IN Anywhere # accept HTTPS connections [ 4] 1194/udp ALLOW IN Anywhere # OpenVPN server [ 5] 3000:4000/tcp ALLOW IN Anywhere [ 6] 3000:4000/udp ALLOW IN Anywhere To delete 6th rule type the command: $ sudo ufw delete 6 You can also delete rules for a specific port: $ sudo ufw delete allow 80 To flush all UFW rules and restore the default policy, run: $ sudo ufw reset 12. UFW Restore to default For some reason, you need to restore/delete all existing rules to return to the original defaults, use the reset option to do the following: $ sudo ufw disable $ sudo ufw reset $ sudo ufw enable This will: - Disable UFW - Flush existing rules - Re-enable UFW with the default configuration This ensures UFW works with the default settings again. 13. UFW Enable IPv6 Make sure the directive IPV6=yes do exists in /etc/default/ufw file. For instance: $ cat /etc/default/ufw Conclusion UFW is a powerful tool that can greatly improve the security of your servers when properly configured. This reference guide covers some common UFW rules that are often used to configure a firewall on Ubuntu. Your firewall is now configured to allow (at least) SSH connections. Be sure to allow any other incoming connections that your server needs, while limiting any unnecessary connections, so your server will be functional and secure. I hope this helps you configure and manage UFW firewall on Ubuntu 22.04. Let me know if you have any other questions!
Go Unlimited With B2BHOSTINGCLUB