Ubuntu 20.04 LTS (Focal Fossa)的初始服务器设置

时间:2019-05-19 01:26:31  来源:igfitidea点击:

在本教程中,我们假设你已经安装了新的Ubuntu Ubuntu 20.04 LTS (Focal Fossa)服务器。
我们建议你的服务器使用LTS版本的Ubuntu,比如Ubuntu 20.04 LTS (Focal Fossa)。
现在,在安装Ubuntu server 20.04服务器之后,继续在服务器上执行安装后的步骤。
本教程包含的步骤对于配置服务器以应用服务器的基本安全性非常有用。

1. 升级你的系统

首先,通过系统终端登录到Ubuntu 20.04系统。
现在,执行以下命令更新apt缓存并升级系统上的所有包。

sudo apt update
sudo apt upgrade

2. 创建用户帐户

我们不建议在Ubuntu 20.04上使用root用户。
让我们为系统管理创建一个帐户,并为此启用sudo访问。

sudo adduser sysadmin

现在将新创建的用户添加到sudo组,以便它可以获得所有sudo特权。

ssudo usermod -aG sudo sysadmin

3. 安全SSH服务器

我们建议更改默认的SSH端口,这有助于保护系统免受黑客攻击。
要更改默认端口编辑OpenSSH配置文件 /etc/ssh/sshd_config,并执行以下更改。
更改默认端口——最好更改默认ssh端口,因为默认端口总是对攻击者开放。

Port 2222

禁用Root SSH登录-你也可以禁用Root通过SSH登录。

PermitRootLogin no

4. 设置基于key的SSH

强烈建议使用基于密钥的ssh登录,而不是密码登录。
要对此进行配置,请在本地系统上创建一个ssh密钥对。
Linux用户可以使用collowing命令,Windows用户使用puttygen.exe生成ssh密钥对。

ssh-keygen

输出示例:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/sysadmin/.ssh/id_rsa):
Created directory '/home/sysadmin/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/sysadmin/.ssh/id_rsa
Your public key has been saved in /home/sysadmin/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:Wewuzm5MjMkiTQA4zFKPpGWpOcEE7TGRlFSgYGpsWHE Hyman@theitroad
The key's randomart image is:
+---[RSA 3072]----+
|@O%OE            |
|@@O+     .       |
|*X.+.     o      |
|* . .    +       |
| . o . +S .      |
|  . o + o.       |
|   . . o. .      |
|       oo.       |
|       o+        |
+----[SHA256]-----+

现在复制新创建的公钥 .ssh/id_rsa.pub文件内容到服务器 ~/.ssh/authorized_keys文件中。
我们可以直接将公钥复制到服务器文件或使用以下命令。

ssh-copy-id -i ~/.ssh/id_rsa.pub Hyman@theitroad

现在用SSH登录到服务器,它不会再次提示输入密码。

ssh Hyman@theitroad

5. 用FirewallD配置防火墙

默认的Ubuntu 20.04服务器版本,没有安装firewalld。
我们可以简单地运行以下命令从默认存储库安装所需的包。

sudo apt install firewalld

安装后,启动防火墙服务,并使其在系统启动时自动启动。

systemctl start firewalld
systemctl enable firewalld

默认情况下,防火墙允许SSH访问远程用户。
我们可能还需要允许其他服务通过防火墙到达远程用户。
我们可以直接提供一个服务名称,如“http”或“https”来允许。
firewalld使用/etc/services文件确定服务的对应端口。

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https

如果在/etc/services文件中没有定义任何服务名称。
防火墙规则可以直接使用端口号。
例如,允许TCP端口8080或10000(默认的Webmin)到防火墙。

firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=10000/tcp

对防火墙进行任何更改后,请确保使用以下命令重新加载更改。

firewall-cmd --reload

要查看,所有允许的端口和服务使用以下命令。

firewall-cmd --permanent --list-all

输出:

public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: cockpit dhcpv6-client http https ssh
  ports: 8080/tcp 10000/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

总结

你的Ubuntu 20.04 LTS (Focal Fossa)系统已经可以使用了。