One of the key aspects to security on Linux systems is the regular updates the community makes to the distribution and packages. A lot of those updates are meant to improve security and fix potential vulnerabilities. For this reason, it’s important to keep your system up to date, especially on a publicly available server. But doing it manually would be a time consuming process, it would involve regularly login into your server and running updates. Instead, it’s much easier to configure a tool that will do it automatically for you. In this article we’ll learn how to enable automatic security updates on Ubuntu, using unattended-upgrades.
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!
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.
In some situations, it can be useful to simulate user events on a keyboard or mouse, without an actual keyboard or mouse. The original idea that made me look into this subject, was that I wanted to run RetroPie on my Raspberry Pi with different ways to control the system. Instead of a keyboard, I wanted to use GPIO inputs (buttons or joysticks), or even a web interface that I could access from my phone. We’ll use a program called xdotool to do this.
The Raspberry Pi is a small single board computer that was originally intended for education and developing countries. In the last 5 years, it achieved way more than this, as it is now one of the best and easiest platforms for tinkerers and DIYers. It is basically a full Linux computer with a small form factor and energy consumption, making it ideal for homemade projects. Most of the time, you can use the Raspberry Pi as a headless machine, without a monitor, keyboard or mouse, and just use Telnet or SSH to access it. This considerably reduces the total cost of a project, as there will be no need to buy a screen, keyboard or mouse. However, the tricky part of this setup is the first installation of the OS. In this tutorial we’ll learn how to set up a Raspberry Pi in a fully headless way.