RSSAmplifier

dev.in.the.shell · Jul 12, 2021

Set up a firewall with UFW

0
Sign in to vote or save

dev.in.the.shell

What it is

The Uncomplicated Firewall is just an easy way to interact with iptables, the default way for Linux based systems to control connections to and from the web.

You’ll usually find it in web servers, although it can —and arguably should— be installed on your main machine.

Basic Setup

Let’s take a look at a basic setup for a web server:

Status: active

Default: deny (incoming), allow (outgoing)

To Action From

-- ------ ----

22 LIMIT IN Anywhere

80 ALLOW IN Anywhere

443 ALLOW IN Anywhere

The second line tells us the default policies for all non specified ports. In this case it denies all incoming traffic while allowing all outgoing.
Specific port policies are listed below (SSH, HTTP, HTTPS, etc.).

Config

If we run ufw status right after installing it, we’ll get an underwhelming Status: inactive as a response.

Makes sense, now let’s configure a basic server-ready setup like the one above:

ufw default deny incoming # Block everything from the web

ufw limit in 22 # Limit incoming SSH connections

ufw allow in 80 # Allow incoming HTTP connections

ufw allow in 443 # Allow incoming HTTPS connections

ufw enable


Important: Make sure to not block ssh communication! That might lock yourself out of your VPS/Server completely!


Now if you run ufw status verbose you should see pretty much the same information as we saw in the example above.

Deleting rules

For example, if you want to delete the previous HTTPS rule:

ufw delete allow in 443

ufw reload

Fine-Tuning

Of course, you can easily change the default behavior as well as fine tune the policy on a per port basis.
You can deny, reject, limit or allow either in or out going traffic for which ever port you might need, as well as use the same parameters to define default behaviors.

Read the original on devintheshell.com

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.