广州睿东网络科技有限公司是国内最专业的香港空间,云主机,香港VPS,香港服务器租用提供商,专注为国内站长提供高速且稳定的香港空间,云主机,香港VPS,香港服务器租用,欢迎您的选购!
当前位置:首页 -> 云主机 -> 域名优惠

简单几步让服务器更安全

云服务器 34℃ 1889评论

对于爱折腾的人来说,在自己的服务器上搭建博客是一件很有趣的事情,但从头开始配置服务器,完成博客部署并非一件易事,使用或者配置不恰当更是可能引起服务器的安全隐患。本文参考了 DigitalOcean 的一篇文章,介绍几个简单的增强服务器安全性的方法,希望对你有所帮助。

选择服务器

如果你想自由的写作,或者希望写的东西能够不仅仅在墙内传播,请购买一台海外服务器。这里强烈推荐 Linode 的日本机房,主要优势有三点:访问速度快,价格便宜,当 IP 被封禁时换得快。如果你只是搭建博客的话,选择最低配每月 $5 的乞丐版完全够用了(本站选择的便是)。

选择操作系统

选择版本稳定的发行版,Debian 是比较好的选择,Ubuntu 升级过于频繁,而且每半年的大版本升级经常搞坏系统,不推荐,CentOS 的包管理器用得不顺手,弃。惊喜的发现 Debian 9 Stretch 稳定版时隔两年也发布了,正合我意。

更新系统

修改系统的更新源,选择与服务器连接比较好的源,因为服务器在日本,我优先选择日本的源,然后开始执行升级和清理工作。

  1. apt update

  2. apt full-upgrade

  3. apt autoremove

修改 SSH 端口号

修改 ssh 的默认 22 端口。

  1. vim /etc/ssh/sshd_config

  2. # 修改端口

  3. Port 2222

  4. service ssh restart

禁用 ROOT 账号

root 权限过大,我们新建一个普通用户加入 sudo 组,同时彻底禁用 root 通过 ssh 登录服务器。

  1. apt install sudo

  2. adduser ritchie

  3. visudo

  4. # 赋予 ritchie 以 sudo 权限

  5. ritchie ALL=(ALL:ALL) ALL

  6. vim /etc/ssh/sshd_config

  7. # 禁用 ROOT 登录 SSH

  8. PermitRootLogin no

  9. service ssh restart

使用 SSH-KEY 登录

首先本地生成一对公钥和私钥,将公钥部署到服务器上,彻底禁用密码登录。

  1. $ ssh-keygen

  2. $ ssh-copy-id username@remote_host -p 2222

  3. $ sudo vim /etc/ssh/sshd_config

  4. # 禁用密码登录

  5. PasswordAuthentication no

  6. $ sudo service ssh restart

启用 UFW 服务

UFW 全称为 Uncomplicated Firewall,是 Ubuntu 系统上默认的防火墙组件, 为了轻量化配置 iptables 而开发的一款工具。高级的防火墙技巧博主也不会,但是简单的设置下防火墙默认禁止进的访问,将 OpenSSH 和 WEB Server 的常用端口放行,其他的端口全部禁用即可。

  1. $ sudo apt install ufw

  2. $ sudo ufw default allow outgoing

  3. $ sudo ufw default deny incoming

  4. $ sudo ufw app list

  5. $ sudo vim /etc/ufw/applications.d/openssh-server

  6. [OpenSSH]

  7. title=Secure shell server, an rshd replacement

  8. description=OpenSSH is a free implementation of the Secure Shell protocol.

  9. ports=2222/tcp

  10. $ sudo ufw allow OpenSSH

  11. $ sudo ufw allow WWW Full

  12. $ sudo ufw logging off

  13. $ sudo ufw status verbose

  14. Status: active

  15. Logging: off

  16. Default: deny (incoming), allow (outgoing), disabled (routed)

  17. New profiles: skip

  18. To                         Action      From

  19. --                         ------      ----

  20. 80,443/tcp (WWW Full)      ALLOW IN    Anywhere

  21. 2222/tcp (OpenSSH)         ALLOW IN    Anywhere

  22. 80,443/tcp (WWW Full (v6)) ALLOW IN    Anywhere (v6)

  23. 2222/tcp (OpenSSH (v6))    ALLOW IN    Anywhere (v6)

至此,我拥有了一个相对安全的操作系统作为宿主环境,下面可以放心的继续配置 WEB 服务器和应用啦。

参考资料 Initial Server Setup with Ubuntu 16.04


相关文章推荐

shell 在手分析服务器日志不愁


PHP 进阶之路 - 揭开 PHP 线程安全的神秘面纱


欢迎关注 SegmentFault 微信公众号 :)

投诉
喜欢 (1889)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: