美文网首页我用 LinuxLinuxLinux学习之路
Ubuntu 16.04服务器的初始化设置

Ubuntu 16.04服务器的初始化设置

作者: Originalee | 来源:发表于2018-09-19 20:59 被阅读15次

    最近在服务器的安全性这个问题上吃了点亏,于是决定写几篇Linux服务器初始化相关的文章,来记录这次踩坑的成果。尽早的设置会让服务器更加的安全,提高它的可用性,为后续的部署程序打下基础。

    一、root登录

    在我们买下一台云服务器之后,就可以从控制台中拿到服务器的ip以及账号密码。这时我们可以通过

    ssh root@SERVER_IP_ADDRESS
    

    这个命令来连接服务器。如果出现了接受有关主机的真实性的警告,就选择同意,在输入密码之后,就能完成登录过程。

    root是什么

    在Unix与类Unix系统中,root是在所有模式(单/多用户)下对所有文件与程序拥有一切权限的用户(也即超级用户)的约定俗成的通名。

    二、创建新用户

    root账号的权限是非常大的,所以在我们第一次登录了root账号之后,我们就应该准备一个新账号,以后登录就使用这个新账号。所以接下来的步骤我们准备创建一个新用户。

    例如我要创建一个名为"leon"的新用户。

    adduser leon
    

    确认之后,我们需要先给账户设置一个密码。之后系统会问我们一些信息,包括全名,家庭电话,工作电话等等。如果可以的话,给账户设置一个强度较高的密码并且记住,也可以选择性的留下你的其他信息。

    三、赋予root权限

    我们刚刚创建的leon是一个常规账户权限的账户,但是我们在日常的使用中可能需要超级管理员的权限,使用这一权限的方法是在命令前加上sudo,例如:

    sudo vi /etc/hosts
    

    为了避免权限不够的情况,我们要酌情的给一些确实需要并且值得信任的账户root权限,当我们使用root账户登录时这样操作,

    usermod -aG sudo leon
    

    现在我们的用户leon就已经有了运行超级用户权限的命令。

    四、使用ssh来登录服务器

    使用ssh密钥来登录服务器可以很好的提高服务器的安全性,这个操作我在之前的博客里已经写过,在这里我就贴个链接吧。

    使用ssh-key免密码登录服务器

    在完成ssh登录服务器的配置之后,我们来说说怎么禁用密码的验证方式来提高服务器的安全性。

    五、设置禁用密码登录

    如果我们允许服务器能通过密码验证登录的话,那么任意一个得到我们账号密码的坏人,就可能登录到服务器上进行破坏性的操作。所以为了服务器的安全考虑,我推荐大家禁止使用密码验证的方式来登录服务器。毕竟我们在信任的电脑上已经配置了ssh-key了。

    警告⚠️:一定要配置好ssh-key能够登录服务器了,才执行这一步的操作,否则你的服务器就永远登录不上去了,只能重装恢复了,可能会导致数据丢失。

    使用root账户或者sudo命令,打开ssh的配置文件:

    sudo vi /etc/ssh/sshd_config
    

    查找Passwordauthentication选项,删除他前面的注释#,然后将他的值改为no

    # sshd_config 禁用密码登录设置
    PasswordAuthentication no
    

    接下来找到如下两个配置,如果跟我下面保持一致,则不更改,否则更改为一致,默认配置就是如下的值:

    PubkeyAuthentication yes
    
    ChallengeResponseAuthentication no
    

    当你完成这些更改后,保存并使用, 使用:wq保存退出。

    重启ssh的程序

    sudo systemctl reload sshd
    

    现在密码验证就已经关闭了,你只能使用ssh来进行身份验证。

    在你退出这个登录连接之前,最好开一个新窗口,对自己的配置进行验证,首先确认ssh可以成功登录,免得等一下无法登录,再尝试使用另一个账号来登录服务器,如果拒绝了密码访问,那么我们的配置就成功了。

    六、设置防火墙

    Ubuntu 16.04服务器可以使用UFW防火墙来确保只允许与某些服务的连接。我们可以很容易地使用这个应用程序设置基本的防火墙。

    不同的应用程序可以在安装时向UFW注册其配置文件。这些配置文件允许UFW按名称管理这些应用程序。 OpenSSH,该服务允许我们现在连接到我们的服务器,已在UFW注册了一个配置文件。

    您可以通过键入以下内容查看此内容:

    sudo ufw app list
    

    可以看到以下内容

    Available applications:
      Apache
      Apache Full
      Apache Secure
      OpenSSH
    

    我们需要确保防火墙允许ssh连接,所以我们通过如下命令来允许这些连接:

    sudo ufw allow OpenSSH
    

    使用如下命令来启用防火墙:

    sudo ufw enable
    

    我们也可以自行查看防火墙的状态:

    sudo ufw status
    

    可以看到:

    Status: active
    
    To                         Action      From
    --                         ------      ----
    Apache Full                ALLOW       Anywhere
    OpenSSH                    ALLOW       Anywhere
    Apache Full (v6)           ALLOW       Anywhere (v6)
    OpenSSH (v6)               ALLOW       Anywhere (v6)
    

    例如iOS的api接口,微信小程序的配置需要使用https协议,那我们要打开443的端口访问,可以使用如下命令打开端口:

    sudo ufw allow 443 允许外部访问443端口
    

    到这里我们的服务器的基本配置也就已经完成了,接下来就可以单独为数据库打造安全访问的配置了。

    相关文章

      网友评论

        本文标题:Ubuntu 16.04服务器的初始化设置

        本文链接:https://www.haomeiwen.com/subject/imdwnftx.html