Securing SSH on Ubuntu 14.04

Securing SSH on Ubuntu 14.04

After you create a new server, there are some configuration tweaks that you should make to harden the security of your server.

Create a new user

As the root user, you have privileges to do anything that you want with the server - no restrictions. Because of this, it is better to avoid using the root user account for every task on your server. Let's start by making a new user. Replace username with the desired user name:

adduser username

Choose a new secure password and respond to the questions accordingly (or just hit ENTER to use the default value).

Giving user root privileges

New user accounts don't have privileges outside of their home folder and cannot run commands that will alter the server (like install, update, or upgrade). To avoid the use of the root account, we will give the user root privileges. There are two ways of doing this:

Adding user to sudo group

The easy way is to add the user to the sudo group. Replace username with the desired user name:

adduser username sudo

This will add the user to the group sudo. This group has the privilege of running the commands with sudo access.

Modifying sudoers file

The other way is to put your user in the sudoers file. If your server has multiple users with root privileges, then this approach is somewhat better because if someone messes with the sudo group, you will be still able to run commands with root privileges to work on the server.

First, run this command:

visudo

This will open the sudoers file. This file contains the definitions of groups and users who can run commands with root privileges.

root    ALL=(ALL:ALL) ALL

After this line, write your user name and grant it full root privileges. Replace username accordingly:

username    ALL=(ALL:ALL) ALL

Save and close the file (Ctrl + O and Ctrl + X in nano).

Testing your new user

To login to your new user account without logout and login, simply call:

su username

Test sudo permissions using this command:

sudo apt-get update

The shell will ask for your password. If sudo was configured properly, then your repositories should be updated. Otherwise, review the previous steps.

Now, logout from the new user:

exit

Sudo setup is complete.

Securing SSH

The next part of this guide involves securing the ssh login to the server. First, change the root password:

passwd root

Choose something hard to guess, but that you can remember.

SSH key

SSH keys are a safer way to login. If you are not interested in SSH keys, skip to the next part of the tutorial.

Use the following Vultr Doc to make an SSH key: How Do I Generate SSH Keys?

After you get your public key, login with your new user again.

su username

Now make the .ssh directory and the authorized_keys file in the home directory of that user account.

cd ~
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys

Add the public key that you generated from the other tutorial to the authorized_keys file.

 nano .ssh/authorized_keys

Save the file, then change the permissions of that file.

chmod 600 .ssh/authorized_keys

Return to the root user.

exit

SSH configuration

Now we will make the SSH daemon more secure. Let's start with the config file:

nano /etc/ssh/sshd_config
Change SSH inbound port

This step will change the port used to access the server, it is entirely optional but recommended.

Find the line with the Port config, should look like this:

Port 22

Now change this port to any port that you want. It must be greater than 1024.

Port 4422
Disable root ssh login

This step will disable root login through SSH, it is entirely optional but highly recommended.

Find this line:

PermitRootLogin yes

... and change it to:

PermitRootLogin no

This will make the server more secure against bots that try brute force and/or common passwords with user root and port 22.

Disable X11 forward

This step will disable X11 forwarding, don't do this if you use some remote desktop program to access to your server.

Find the X11 line:

X11Forwarding yes

... and it change to:

X11Forwarding no
Restart SSH daemon

Now that we made the changes to secure the SSH Login, restart the SSH service:

service ssh restart

This will restart and reload the server settings.

Testing changes

Without disconnecting your current ssh session, open a new terminal or PuTTY window and test another SSH login.

ssh -p 4422 username@SERVER_IP_OR_DOMAIN

If everything checks out, we have successfully hardened the security of your server. Enjoy!


How to Setup Unattended Upgrades on Debian 9 (Stretch)

How to Setup Unattended Upgrades on Debian 9 (Stretch)

Using a Different System? If you purchase a Debian server, then you should always have the latest security patches and updates, whether youre asleep or not

Återställ MySQL Root Password på Debian/Ubuntu

Återställ MySQL Root Password på Debian/Ubuntu

Om du har glömt ditt MySQL root-lösenord kan du återställa det genom att följa stegen i den här artikeln. Processen är ganska enkel och fungerar på dessa

Installera Wordpress med Apache, PHP och MySQL (Automated Startup Script)

Installera Wordpress med Apache, PHP och MySQL (Automated Startup Script)

Du kan kopiera och klistra in följande bash-skript i startskriptområdet på Vultr-kontrollpanelen. Det kommer att installera alla nödvändiga paket för att ru

Säkerhetskopiera flera MySQL- eller MariaDB-databaser automatiskt

Säkerhetskopiera flera MySQL- eller MariaDB-databaser automatiskt

Inledning I den här artikeln, gå igenom hur man säkerhetskopierar flera MySQL- eller MariaDB-databaser som sitter på samma maskin med hjälp av ett anpassat bash-skript

Använda MySQL Views på Debian 7

Använda MySQL Views på Debian 7

Introduktion MySQL har en fantastisk funktion som kallas vyer. Visningar är lagrade frågor. Se dem som ett alias för en annars lång fråga. I den här guiden,

Run Your Own Arma 3 Server on Ubuntu 14

Run Your Own Arma 3 Server on Ubuntu 14

Overview This guide will cover the installation and operation of your Arma 3 server using SteamCMD and screen. For additional information regarding th

Create an HTML 5 RDP/SSH Frontend Using Guacamole on Ubuntu 16.04 LTS

Create an HTML 5 RDP/SSH Frontend Using Guacamole on Ubuntu 16.04 LTS

Introduction The goal of this tutorial is to get rid of the public SSH and public RDP connections. By placing this all behind a very convenient HTML5 client

Hur man installerar GruntJS på Debian 9

Hur man installerar GruntJS på Debian 9

GruntJS är en JavaScript-uppdragskörare skriven ovanpå NodeJS. Den kan användas för att automatisera repetitiva uppgifter för din applikation som minifiering, kompilering

Securing SSH on Ubuntu 14.04

Securing SSH on Ubuntu 14.04

After you create a new server, there are some configuration tweaks that you should make to harden the security of your server. Create a new user As the roo

Installera MariaDB 10 på CentOS 6

Installera MariaDB 10 på CentOS 6

I skrivande stund är MariaDB 10.1 utvecklingsversionen av MariaDB. Den är baserad på MariaDB 5.5 och inkluderar backportade funktioner från MySQL 5.6. Ther

Installera Percona på Debian 7

Installera Percona på Debian 7

MySQL multi-master replikering är en utmärkt funktion inom MySQL. Det finns dock bara ett problem; standard multi-master replikering verkar aldrig vara en

Hur man installerar Cauldron (Minecraft) på en CentOS 6-server

Hur man installerar Cauldron (Minecraft) på en CentOS 6-server

Inledning Denna handledning kommer att täcka processen för att installera Caudron. För de som inte är bekanta med Caudron är det en typ av Minecraft Server.

Installera MariaDB på CentOS 7

Installera MariaDB på CentOS 7

Forked från MySQL, MariaDB har varit känt för att vara en drop-in ersättare som ger förbättringar och prestandaoptimeringar över MySQL. Denna handledning kommer

How to Install InvoicePlane on Ubuntu 16.04

How to Install InvoicePlane on Ubuntu 16.04

Using a Different System? InvoicePlane is a free and open source invoicing application. Its source code can be found on this Github repository. This guid

Hur man distribuerar Ghost på Fedora 25

Hur man distribuerar Ghost på Fedora 25

Använder du ett annat system? Ghost är en bloggplattform med öppen källkod som vinner popularitet bland utvecklare och vanliga användare sedan lanseringen 2013. jag

Ställ in MySQL Master-Slave-replikering på Debian/Ubuntu

Ställ in MySQL Master-Slave-replikering på Debian/Ubuntu

Introduktion När du kör en kritisk webbplats är det viktigt att se till att du har minst en redundant backupserver. Detta säkerställer att du

Hur man installerar RubyGems på Linux

Hur man installerar RubyGems på Linux

RubyGems är en pakethanterare för Ruby. En pakethanterare organiserar paket under utvecklingen av en applikation. I det här dokumentet kommer du att lära dig hur du installerar

Använder Chef-solo för att konfigurera en Django-app på Ubuntu

Använder Chef-solo för att konfigurera en Django-app på Ubuntu

Det finns många sätt att automatisera processen för att ställa in och konfigurera en box. Av någon anledning, om hela vårt system vid denna tidpunkt består av bara

Installera Prosody på Debian 7

Installera Prosody på Debian 7

Installera Prosody på Debian 7 Prosody är en XMPP-kommunikationsserver skriven i LUA. Det syftar till att vara lätt att konfigurera och konfigurera, och effektivt med system

Plesk: Uppgradera MariaDB från version 5.50 till 10.2 på CentOS 7

Plesk: Uppgradera MariaDB från version 5.50 till 10.2 på CentOS 7

Den här artikeln skrevs för Plesk 12.5 och Plesk Onyx 17.x. I dessa versioner levereras Plesk med MariaDB v5.50. Nackdelen med denna MariaDB-version i

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer