声明:只为普及网络安全知识。望大家了解、和请勿危害网络的安全环境。
尽量精简你服务器,让它轻快些。只安装那些你真正需要的软件。如果存在不想要的软件,就要清除它们。软件少了,未打补丁的代码也会少的。在你安装任何软件包和依赖包之前,你应该阅读该软件的文档并只安装那些你需要的组件
只开启那些你需要的服务。许多发行版或者软件包也许已经在不同的端口开启了相应的服务。其实这会有一些安全风险,先打开终端运行下面这行命令:
netstat -npl
输出的结果将会告诉你系统正在哪些端口运行哪些服务。如果你发现有你不想运行的服务,关闭这些服务吧。你也应该注意那些随系统启动运行的服务。你可以运行systemd来查看这些服务:
systemctl list-unit-files –type=service | grep enabled
根据各自的系统,你会得到一个类似下图所示的输出。如果你发现任何不想运行的服务,可以运行systemctl命令来关闭:
systemctl disable service_name
就像你不会把自家门的钥匙给你认识的每一个人,你也不应该让你认识的人可以随便进入你的服务器。既然明确了这一原则,你就要对服务器增加一些进入的限制。然而请记住:做这些并不能阻止那些一门心思使你服务器瘫痪的人。我们做的只不过是增加服务器的安全级别以应对偶然的攻击。
以root用户远程登陆服务器可不是什么好的习惯。我们将要禁止以root用户远程登陆服务器,在做这之前,我们要先创建一个有sudo权限的普通用户以便能够远程登陆服务器并且执行管理员权限。只要你用这个用户登陆服务器,你总能够在你需要时切换为root权限。如果你在系统上已经有了一个这样的用户,跳过下面这些步骤;否则,继续跟着我做。
不同发行版新建用户的方式有所不同,Red Hat/CentOS使用useradd命令,Ubuntu/Debian使用adduser命令。
另一个改动是改变sshd文件中的默认端口。这只不过好像是增加一些烟雾来保护你的服务器安全,并不是对服务器真的做了什么。就像是用很多一模一样的车去运送重要人物一样,这可以让意图不轨之人不知道他乘的是哪辆车
你能够通过无密码方式更简单地远程登陆服务器,并且通过关闭密码验证也可以增加一点安全级别。不过你也只能在生成ssh密钥的机器上登陆服务器了
联系客服