The main tool to set up the firewall on Ubuntu is iptables. It is powerful, but very complicated to learn. Fortunately, there is an alternative called UFW (for Uncomplicated FireWall), that is described by Ubuntu as “a frontend for iptables”. Basically, UFW lets you set rules for your firewall in a much easier way that iptables does. Let’s learn how to set some basic rules using UFW!
In this series of tutorials we’ll take a look at basic server security, and in this first article we’ll learn how to improve SSH security. Any machine connected to the Internet immediately becomes a potential target to any kind of attack (hackers, automatic bots, …). Security is somewhat less of a concern for regular Web hosting (shared hosting or managed hosting for example), as most of it is managed by your hosting provider. Servers that you fully manage, however, come with absolutely no security out of the box. This is the case for most dedicated servers, VPS (Virtual Private Servers) and Cloud platforms (AWS, Google Cloud, …).
We’ve already seen how to create a simple socket server in Python, but sometimes we need to handle multiple incoming requests simultaneously, that require processor-heavy computation from the server. That’s what a threaded socket server can achieve.
Sockets are one of the most commonly used communication tools on computers, but they can be hard to understand at first. If you break it down however, it’s easy to understand how to use them. In this tutorial we’re going to learn how to implement a simple socket server in Python, that will accept a single client connection.