教你linux服务器防互联网攻击的基本安全防护措施
扫描二维码
随时随地手机看文章
现在,中小企业的活动主要转移到使用云服务的云上。 互联网安全是一个陈词滥调,也是一个永不过时的话题。 许多备受瞩目的网站(包括Internet)都经历了安全事件。 安全攻击和防御,渗透,审计等需要强大的专业知识和深入的加密算法。 那些拥有专业机构的人正在寻找和找到合适的解决方案,但是作为运营商,我们不能忽略最基本的原则之一。 价格越高。 此外,我们支付的费用相对较低,这有助于保护80-90%以上的攻击。 让我们看一下我刚购买的云服务器的安全日志:
通过上面日志可以看出在没做任何安全防护策略时,会有大量的扫描攻击。如果密码设置得比较简单,估计服务器很快就成为黑客的肉鸡了。本节我们仅讲下系统层面的,还有web安全和数据库安全以后再介绍,在企业中还有用到跳板机和VPN等在这由于篇幅有限也略过。
首先root用户要禁掉远程ssh登录。禁root远程登录前先建立一个普通用户,普通用户建好后可以分配sudoers 权限,以方便管理系统服务等。
两条命令搞定:useradd 用户名;passwd 用户名,输入两次密码。完了id 用户名 检查下,再看下是否建立了用户的home目录,还有不要忘记用建立好的用户ssh登录试下。
将普通用户加入sudo权限有两种方式:第一种是直接将普通用户加入到wheel组就行,加入前我们先测试下:执行ls /root后提示权限不允许,再执行sudo ls /root 输入密码后提示不在sudoers file会向管理员报告。
在root或其他sodu用户身份下运行如下命令:
usermod -aG wheel username ,然后用id username看下已经加入wheel组了。
用这种方式对大多数的sudo命令是有权限的,有些还是不行。
第二种方式:vim /etc/sudoers 找到如下段落:
在root下面加上一行:username ALL=(ALL) NOPASSWD:ALL
意思表示赋予所有sudo权限并且不需当前用户验证密码。加入后输入 :wq! 强制保存退出,此文件是只读的。这样,下一步就可以关闭root远程登录了。
关闭root远程ssh登录操作
编辑 sshd配置文件,vim /etc/ssh/sshd_config 找到下面字段,没有就加上。
把前头处PermitRootLogin 改为no 保存退出。
记得重启sshd 服务,systemctl restart sshd。重启后再systemctl status sshd确认。
修改sshd服务默认的22监听端口,做一步前特别要注意确保其他端口能正常访问再关闭22端口,不要把自己锁在门外里,以免尴尬,影响工作。
先看下系统防火墙,默认是开启的。如果需开系统防火墙,请把要修改的端口号后加入允许的安全策略里,另外还要看下云服务商的安全组,也要把相应端口加进去。
执行 firewall-cmd –list-all 查看已开放的端口如下:
防火墙加入端口执行:firewall-cmd –zone=public –add-port=(自定义端口号)/tcp 返回success
重载防火墙使配置生效,firewall-cmd –reload 返回success
再运行 firewall-cmd –list-all 是不是你想加入的端口在里面呢?
另外,如果系统开启了selinux则也要把端口加入selinux 的 ssh_port_t中。如不打算开selinux,下面的步骤请略过。
先安装selinux的管理工具yum install –y policycoreutils-python
查询当前ssh 服务端口:semanage port –l |grep ssh
执行semanage port -a -t ssh_port_t -p tcp 自定义端口号。没什么问题再执行上面命令检查。
接着编辑 sshd配置文件 vim /etc/ssh/sshd_config 在port 22 下面加一行:
重启sshd服务 systemctl restart sshd 查看sshd服务是否正常并检查系统监听端口
用普通用户和修改后的端口登录ssh测试
这步很简单,在此就不赘述了。测试好后还是编辑 sshd配置文件把22号端口去掉并重启sshd服务。如果万一哪步没弄好或端口被阻止了,那要记得在本地shell环境操作了,现在云服务器一般都有VNC等远程连接服务。