参考来自DigitalOcean的文章:Initial Server Setup with Ubuntu 14.04,为了提高Ubuntu服务器的安全性,下面这几步应该在服务器建立后尽早设置。

1.创建新用户

如DigitalOcean最初提供的就是root账号,众所周知,root账号拥有最高权限,在日常管理中完全没必要使用root账户。

通过如下命令创建新用户:
adduser demo #demo改为自己想要的用户名

然后输入两次新用户的密码,接下来会提示填写用户信息,这里可以一路回车。

2.给新创建的用户添加提权命令

如上新创建的demo用户只有普通权限,如果以demo登录服务器,需要root权限的命令就不能执行,而只有退出demo后以root登录才能执行。

所以在root下使用如下命令:
gpasswd -a demo sudo #demo改为自己设置的用户名

这样demo就能用sudo命令给自己提权到root权限了。

3.配置SSH

  1. 修改默认端口号:
    编辑SSH配置文件:

nano /etc/ssh/sshd_config
修改
Port 22
如可以改为:
Port 4444

一定要记住新的端口号!SSH登录一定需要正确的端口号!

  1. 禁止通过SSH登录root账号:
    找到文件中这样一行:

PermitRootLogin yes
修改为:
PermitRootLogin no

保存文件并退出。

4.重启SSH服务

输入如下命令:
service ssh restart

5.配置防火墙

这里是配置Ubuntu自带的防火墙ufwufw相对很简单,这里只是用它来管理网络端口,即打开需要用到的网络端口,关闭不需要的。

  1. 设置SSH端口例外:
    如果没更改SSH端口,即默认端口22的话,执行下面的命令:

sudo ufw allow ssh
如果更改过执行这个命令:
sudo ufw allow 4444/tcp #将4444改为自己的SSH端口号

  1. 设置HTTP端口例外:
    如果需要用到HTTP服务,执行下面的命令:

sudo ufw allow 80/tcp

  1. 设置SSL/TLS端口例外:
    如果需要用到SSL/TLS服务,执行下面的命令:

sudo ufw allow 443/tcp

  1. 设置SMTP邮件服务端口例外:
    如果需要用到SMTP邮件服务,执行下面的命令:

sudo ufw allow 25/tcp

上述设置完毕即可启用ufw:
sudo ufw enable


ufw命令的示例用法:

ufw status  # 查看ufw防火墙是否在工作,查看使用中的规则

ufw enable  # 启动ufw防火墙

ufw default deny  # 启动默认防御(阻止外部联接,放行对外联接)

ufw allow 53  # 允许其它主机访问本机53端口,协议包含tcp和udp

ufw allow 25/tcp  # 允许其它主机使用tcp协议访问本机25端口

ufw allow smtp  # UFW也可以检查 /etc/services文件,明白服务的名字及对应的端口和协议

# UFW同时支持出入口过滤。用户可以使用in或out来指定向内还是向外。如果未指定,默认是in
ufw allow in http  # 许可访问本机http端口

ufw reject out smtp  # 禁止访问外部smtp端口,不告知“被防火墙阻止”

ufw deny out to 192.168.1.1  # 禁止本机192.168.1.1对外访问,告知“被防火墙阻止”

ufw delete deny 80/tcp  # 要删除规则,只要在命令中加入delete就行了