开发者学堂课程【线上Linux服务器优化经验:线上服务器网络安全配置与系统登陆安全配置】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/382/detail/4799
线上服务器网络安全配置与系统登陆安全配置
内容简介
一、网络安全配置
1.Selinux 配置(如何关闭 selinux)
2.iptables 配置
二、系统登录安全与 SSH 配置
1.授权用户登录与 sudo 设定(提升用户使用权限)
2.ssh 安全登录经验
一、网络安全配置
1.Selinux 配置(如何关闭 selinux)
系统安装完之后直接关闭Selinux,避免出现问题。
cat /etc/selinux/config(查找 Selinux)
SELINUX 的状态(参数):
enforcing 开启状态
permissive 提醒的状态
disabled 关闭状态
命令行关闭:setenforce 0
改完配置文件 disabled,变成关闭状态,但现在是没有生效的,所以我们需要把服务器重启才能生效。
如果不想重启还有一种方法就是执行命令 setenforce 0,通过这个命令可以对Selinux 关闭了。我们的业务也就正常了。
2.iptables 配置
也叫软件防火墙,这个是根据我们需要设置的。
/etc/sysconfig/iptables
推荐配置:
在配置 iptables 时,首先确认一下 iptables 是否是打开状态,如果没有打开,我们是要把它打开的。
打开之后我们可以发现其实 iptables 是由三个链组成的 INPUT AINPUT P INPUT 。
最常用的还是 INPUT 链,这个链其实它是对出入的连接做一个限制。INPUT对外面的访问请求做限制。
如果远程控制,iptables -P INPUT ACCEPT 要完全打开,如果没有打开,可能就直接连不上服务器了,被关到门外面去了。
iptables -P INPUT ACCEPT(要完全打开)
iptables -F
iptables -AINPUT(链)-p tcp-m tcp--dport 80(服务器端口)-jACCEPT(对所有人员开放)
Iptables-AINPUT-s1.1.1.1 -p tcp -m tcp--dport 22 -j ACCEPTiptables-AINPUT-s2.2.2.2 -p tcp-m tcp--dport22-jACCEPT
iptables -AINPUT -i eth1 -jACCEPT
iptables -AINPUT-i lo -jACCEPT
iptables -AINPUT-m state--state RELATED,ESTABLISHED -j
ACCEPT
iptables-A INPUT-p tcp-m tcp--tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -jDROP
iptables -A INPUT-p tcp-m tcp--tcp-flags FIN,SYN FIN,SYN -j DROP
iptables -A INPUT-p tcp-m tcp--tcp-flags SYN,RST SYN,RST -j DROP
iptables -A INPUT-p tcp -m tcp--tcp-flags FIN,RST FIN,RST -j DROP
iptables -A INPUT-p tcp-m tcp--tcp-flags FIN,ACK FIN -j DROP
iptables -A INPUT-p tcp-m tcp--tcp-flags PSH,ACK PSH -j DROP
iptables -A INPUT-p tcp-m tcp--tcp-flags ACK,URG URG -j DROP
iptables - DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
查看 iptables 策略:
最好指定 IP
允许某些 IP 开放,其他全部禁止
Iptables-L-n(命令,查看防火墙策略)
二、系统登录安全与 SSH 配置
1.授权用户登录与sudo设定(提升用户使用权限)
一般在服务器安装完成之后,建议不管管理员也好,开发人员也好,测试人员也好,都不建议给 sudo 用户登录,也就是禁止登录。
我们会建一个普通用户来登录系统,然后我们有时候会做一些管理员的工作,这时候就关系到授权用户,包括权限提升,类似于 sudo 操作。
具体操作在 /etc/sudoers 里面做一些操作。
设置一些权限
/etc/sudoers文件
=
常见配置:
Iiveylinux ALL=(ALL) NOPASSWD:ALL
2.ssh 安全登录经验
备份
:cp/etc/ssh/sshd_config sshd_config_bak (运维必备守则)必须做备份
vi /etc/ssh/sshd_config(SSH配置文件)
#SSH 链接默认端口
#不使用 DNS 反查,可提高 ssh 连接速度
UseDNS no(是否使用 DNS 反查)
#关闭 GSSAPI 验证,可提高 ssh 连接速度
GSSAPIAuthentication no(没有太大作用,建议关闭掉)
#禁止root账号登陆
PermitRootLogin no(默认是 yes,我们把它改成 no 就可以)可以提高安全程度
关于端口问题,默认连接端口是 Port 22 ,就是2端口,这个其实是有危险的,为了安全起见我们可以把2端口改掉,
比如改成 Port 2222 用四位以上的,建议设置比较高的。