linux安全设置
一、简介Linux种类较多,常见的有Redhat、Ubuntu、Centos、SUSE等
根据不同版本,其安全设置都不太相同,主要体如今以下三点
①设置文件所存放的路径
②操纵系统的命令
③操纵系统自身的安全特性或工具
我们以Centos7为例,举行安全设置解说,别的版本Linux可能存在安全设置方式不同,但整体设置
的维度和原则是一致的。
二、Centos 安全设置维度
①安装设置(默认设置即可)
②服务设置(默认设置即可)
③网络设置
④日志和审计
⑤访问、授权和认证系统运维
三、Centos 安全设置原则
①最小安全(最小安装、最小权限)
②不影响业务可用(安全与业务的矛盾)
③职责分离
④审计记录
由于Centos安全设置较多,本文仅列举部门范例代表,更多具体设置,可以参照相干国内或国际
标准,如等保、CIS等。
四、网络设置
①禁用不利用的网络协议
②禁用IPv6,,执行以下命令
https://i-blog.csdnimg.cn/blog_migrate/65ded10af89c4da55880e3d3525296e9.png
https://i-blog.csdnimg.cn/blog_migrate/766e1f0a0b3ea712cde325802469d2e8.png
检察设置是否生效
sysctl net.ipv6.conf.all.disable_ipv6
③禁用不利用的无线装备,由于Linux作为服务器工作时,无需利用无线
④检察无线装备 iw list
https://i-blog.csdnimg.cn/blog_migrate/bb9a63eb6410c275c64ba2b785ba3db7.png
⑤检察当前毗连ip link show up
https://i-blog.csdnimg.cn/blog_migrate/a451f1557a16f67ed5477e5591120d71.png
⑥关闭网络毗连ip link set <interface>down
这里以本地环回口lo为例,举行关闭
https://i-blog.csdnimg.cn/blog_migrate/5236f00975ff39a1cc166c2551513511.png
⑦当Linux作为独立主机利用时,设置网络关闭
关闭IP转发,默认即关闭
检察IP转发设置 sysctl net.ipv4.ip_forward
关闭IP转发 sysctl -w net.ipv4.ip_forware=0
⑧关闭数据包重定向
检察重定向设置sysctl net.ipv4.conf.all.send_redirects
关闭重定向设置sysctl -w net.ipv4.confall.send_redirects=0
https://i-blog.csdnimg.cn/blog_migrate/4ec7133b06d4cdbdc87c269e8d90a02b.png
⑨开启TCP SYN Cookies功能
TCP SYN功能某种水平上可以防止TCP的SYN DDOS攻击
检察TCP SYN Cookies功能 sysctl net.ipv4.tcp_syncookies
开启TCP SYN Cookies功能 sysctl -w net.ipv4.tcp_syncookies=1
https://i-blog.csdnimg.cn/blog_migrate/dc6c89510af35585c9acc1ec71c62ed1.png
五、防火墙设置
在Centos 较新的版本中,引入了nftables内核代替传统netfilter内核
通常nftables和netfilter只用安装一种即可
基于netfilter,又有两种前端操纵工具,即firewalld和iptables
本节我们以netfilter+firewalld举行操纵
①确定安装了firewalld和iptables管理工具 rpm -q firewalld iptables
假如表现找不到命令可以实验以下两种方式:实验利用完整路径来执行 rpm 命令
/bin/rpm -q firewalld iptables
/usr/bin/rpm -q firewalld iptables
https://i-blog.csdnimg.cn/blog_migrate/24af5f74bffa57832984530e53a6e09e.png
①安装firewalld和iptables yum install firewalld iptables
②检察iptables服务
https://i-blog.csdnimg.cn/blog_migrate/50b5794d63971e0cf5353675a206f2a5.png
关闭iptables的服务管理(由于同时开启iptables与firewald会冲突)
假如已安装,可以利用以下命令制止
systemctl stop iptables
yum remove iptables-services
③确保没有安装nftables
检察安装nftables的状态 rpm -q nftables
https://i-blog.csdnimg.cn/blog_migrate/a4ee64d4a914366ba140854e9d40393b.png
假如安装,可以删除 yum remove nftables
④确保防火墙服务主动启动,并正在运行
检察firewalld状态 systemctl is-enabled firewalld
https://i-blog.csdnimg.cn/blog_migrate/2d8ce75832ececeb719625f07412d103.png
检察firewalld状态(第二种方式) firewall-cmd --state
https://i-blog.csdnimg.cn/blog_migrate/c72ebec298136b78e887e5cd227fba9c.png
⑤开启firewalld systemctl unmask firewalld systemctl enable firewalld
https://i-blog.csdnimg.cn/blog_migrate/11efcefcd4eed39937d2c0b032e30f2d.png
开启防火墙,可能会导致网络制止,以是一定要分析清晰,当前网络毗连与网络设置,再来开启防
火墙。
⑥确定防火墙区域设置
默认firewalld会创建一个名为public的区域
区域代表防火墙中的信托等级,每一个接口都应该属于区域
检察当前区域,默认是public
firewall-cmd --get-default-zone
https://i-blog.csdnimg.cn/blog_migrate/6524b79a3022003379e98a5ab478ff5e.png
⑦防火墙默认区域设置
设置默认区域为public
firewall-cmd --set-default-zone=public
检察当前运动的区域和接口
firewall-cmd --get-active-zones
设置接口到区域 firewall-cmd --zone=public --change-interface=ens33
⑧检察当前答应的端口和服务 firewall-cmd --ist-all--zone=public
https://i-blog.csdnimg.cn/blog_migrate/e9bf37e8250842a21f80ae4a8d9ca4ea.png
六、关闭不需要的端口和服务
关闭端口
firewall-cmd --remove-port=<port-number>/<port-type>
如:firewall-cmd--remove-port=25/tcp关闭服务
firewal-cmd --remove-service=<service>
如:firewall-cmd--remove-service=smtp
七、系统审核
检察系统是否安装审核服务
rpm -q audit audit-libs
https://i-blog.csdnimg.cn/blog_migrate/4ec611afeb49e682bcf0a113aa5b5af4.png
假如没有安装,而举行安装 yum install audit audit-libs
检察审核服务是否开启 systemctl is-enabled auditd
https://i-blog.csdnimg.cn/blog_migrate/80c83c3bc759570a71a037da9ef62efe.png
检察服务状态 systemctl status auditd
八、日志和审计
设置审计数据巨细
检察audit日志最大空间,默认单元为M
如图,表现为8M
cat /etc/audit/auditd.conf |grep max
https://i-blog.csdnimg.cn/blog_migrate/2b1304130788369646d90db949e8661c.png
审计用户和用户组的操纵
检察当前用户和用户组相干的操纵记录 grep identity /etc/audit/rules.d/*.rules
https://i-blog.csdnimg.cn/blog_migrate/a201a507a41eba3b3ceed9f85b8ea029.png
当前没有任何相干设置
设置记录如下:
vi /etc/audit/rules.d/identity.rules
加入下图内容,同样,也可以输入其他命令路径
https://i-blog.csdnimg.cn/blog_migrate/37e68deb144c8ba255e16f5ceec53faa.png
设置rsyslog日志
rsyslog是代替syslog的新版本。rsyslog有一些良好的特性,比如利用tcp毗连,可以将日志存储到
数据库,可以加密传输目志等。
确保系统安装了rsyslog
rpm -q rsyslog
https://i-blog.csdnimg.cn/blog_migrate/0e48dec2474a46121de6c4763264de1a.png
检察rsyslog服务状态 systemctl is-enabled rsyslog
https://i-blog.csdnimg.cn/blog_migrate/8e17ca198e66086869da5a6b6863c9ce.png
确保日志正常输入
检察当前日志目录及日志权限,日志权限应该为600(仅root可读写)
ls-l /var/log
https://i-blog.csdnimg.cn/blog_migrate/b3a72cabf422e7f9be8ba4dd5cf1bfa1.png
检察日志归档处理
Linux系统利用logrotate按定期或指定巨细举行归档处理
确保logrotate正常的处理syslog日志
检察是否存在文件 Is /etc/logrotate.d/syslog
https://i-blog.csdnimg.cn/blog_migrate/e35a46f919e2b1cedd72426cba181701.png
九、访问、认证,授权
检察操持使命的访问授权 stat /etc/crontab
https://i-blog.csdnimg.cn/blog_migrate/cd6541dc69625a565b62feec5830d26f.png
如图展示了,仅root可以访问操持使命,且相干访问时间。
同理还应检查文件daily hourly monthly weekly
https://i-blog.csdnimg.cn/blog_migrate/669149594b1ac4b3607797fb0ff78e25.png
检察SSH设置文件权限
由于SSH可以利用密钥直接登录,假如SSH设置文件权限限定不严格,则造成SSH提权
检查/etc/ssh/sshd_config的权限
https://i-blog.csdnimg.cn/blog_migrate/9593ef6b09fca721fa140e60a0cade7a.png
设置答应通过SSH访问的用户
利用以下命令检察当前答应SSH访问的用
sshd -T | grep -E '^\s*(allow|deny)(users|groups)\s+\S+'
假如输出为空,说明没有设置
编辑文件/etc/ssh/sshd config,设置仅答应sangfor用户访问在文件中加入以下行
allowusers sangfor
生存,退出,并重启SSH服务。验证生效。
设置SSH验证失败次数
检察SSH验证失败次数 sshd -T|grep maxauthtries
https://i-blog.csdnimg.cn/blog_migrate/f9fa821906063d2611e55cd39349db1f.png
默认为6次,发起改为4次或更低
编辑SSH设置文件修改即可
vi /etc/ssh/sshd_config
https://i-blog.csdnimg.cn/blog_migrate/18662084247824704290ef508c32dfdb.png
克制空密码登录SSH sshd -T|grep permitemptypasswords
https://i-blog.csdnimg.cn/blog_migrate/c0a2fd1711c79ffeff06e26115b5c4da.png
检察SSH支持的加密方式,确保不要出现如desmd5这类已经不再安全的算法
sshd -T|grep ciphers
https://i-blog.csdnimg.cn/blog_migrate/0d06ec81adbfac1d6b2e628a979f07d8.png
PAM模块设置
PAM(Pluggable Authentication Modules)是Linux中的认证管理模块,所有认证相干可由PAM处
理。
密码要求
由/etc/security/pwquality.conf管理
minlen=14,最小密码长度
mincalss =4密码复杂度,分别是是大写字母、小写字母、数字、符号
用户账户和情况
检察密码逾期时间,发起设为60,如图为99999,显然不合适
grep ^\S*PASS MAX DAYS /etc/login.defs
https://i-blog.csdnimg.cn/blog_migrate/01d586a38dec55fbc3d0310ef980a7d9.png
检察用户的逾期时间
grep -E '^([^:]+):[^!*]' /etc/shadow | cut -d: -f1,5
https://i-blog.csdnimg.cn/blog_migrate/baf01346d0a92f743e7debf4d0c87ade.png
修改用户逾期时间
方法一:编辑默认文件,中的PASSMAXDAYS值 vi /etc/login.defs
方法二:chage --maxdays 365 <user>
https://i-blog.csdnimg.cn/blog_migrate/de4596c7faf5e398a5efef96decb107b.png
用户账户和情况
检察密码最小天数(原理同windows密码最小天数),发起设为1
grep ^\S*PASS _MIN _DAYS /etc/login.defs
https://i-blog.csdnimg.cn/blog_migrate/f4506f916bc74133d20ba88116a234dc.png
提示密码逾期时间,发起设置为7或更多检察方法如下:
https://i-blog.csdnimg.cn/blog_migrate/86ec9ab5b2b44346330807206d5036ee.png
用户账户和情况
主动禁用账号,发起设置为30天或更少
当用户指定时间没有利用时,主动禁用用户
检察 useradd -D|grep INACTIVE
https://i-blog.csdnimg.cn/blog_migrate/b2308adb262aca3ce3b9d9cad768b421.png
设置方法 useradd -D -f 30
检查文件/etc/passwd的权限,应为644,同理应检查/etc/group
检查文件/etc/shadow的权限,应为0,同理应检查/etc/gshadow
stat /etc/passwd
https://i-blog.csdnimg.cn/blog_migrate/5ca6d385b304a671707ee023fccc7e7e.png
stat /etc/shadow
https://i-blog.csdnimg.cn/blog_migrate/92d685194d43a94e18aa07173bfdc8fd.png
学习Linux的安全基线设置,理解Linux安全设置:Linux安全设置远比windows复杂,由于Linux相对
的开放性,设置方式多种多样,假如一个地方设置不好,轻易让整个安全基线工作失去意义。
Linux安全基线设置需要深入理解Linux原理,才能得心应手,融会贯通!
一、简介
二、Centos 安全设置维度
三、Centos 安全设置原则
四、网络设置
五、防火墙设置
六、关闭不需要的端口和服务
七、系统审核
八、日志和审计
九、访问、认证,授权
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]