系统安全及应用

系统安全

保护数据安全:组织和个人进入互联网行业必须要有的基础设施之一(客户数据 财务信息 知识产权)

法律法规:法律要求组织和个人必须具备保护网络完全和信息安全、系统安全的资质。

linux的账号安全防护

账号安全:

锁定长期不使用的账号:

passwd -l 用户名  //锁定

passwd -u 用户名  //解锁

usemod -L 用户名  //锁定

usemod -U 用户名  //解锁

把账号设置为非登录用户:

usermod -s nologin 用户名

删除无用的账号:

userdel -r 用户名

密码的安全控制:

从密码的有效期来进行控制:

修改新建用户的密码有效期

[root@pup ~]# vim /etc/login.defs

PASS_MAX_DAYS 30  //修改最后的天数(25行)

创建新用户(9.6)查看

[root@pup ~]# cat /etc/shadow

仅限于新建用户,已有用户不受影响

对已有用户的密码有效期进行修改

[root@pup ~]# chage -M 7 9.6  //chage -M 指定天数 用户名

锁定重要文件(如passwd、shadow、fstab等)

lsattr 文件名:查看文件的锁定状态

chattr +i 文件名:锁定文件,不能对文件内容进行任何操作

chattr -i 文件名:解除锁定

历史命令进行限制

history -c  //临时清除历史记录,重启后记录还在

永久修改当前用户的历史命令条数

[root@pup ~]# vim /etc/profile

HISTSIZE=80 :历史记录保存多少条,数字可变

[root@pup ~]# source /etc/profile  //刷新文件,立即生效

设置登录超时时间

[root@pup ~]# vim /etc/profile

TMOUT=600:设置登陆超时时间

[root@pup ~]# source /etc/profile

禁止su命令切换用户

su切换靠的是PAM认证

wheel组的作用:用来控制系统管理员的访问权限

授权方式:sudo 必须要加入wheel组,还需要其他配置,一旦加入wheel组,可以被授权使用一些系统管理员才能够使用的访问命令和文件

wheel默认为空,需要管理员手动添加用户。被指相应的sudo访问规则

(配置时一定要注意:有限放开原则)

查看su操作记录

[root@pup1 ~]# cat /var/log/secure

例:有carrot和ovo两个用户,要求设置carrot可以使用su命令切换用户,ovo用户则不允许使用

[root@pup1 home]# vim /etc/pam.d/su  #编辑配置文件

将此行取消注释:

[root@pup1 home]# gpasswd -a carrot wheel  #将carrot用户加入wheel组中

gpasswd -a 用户名 wheel :放开权限的用户添加到wheel组

可见carrot用户可以使用su命令切换至ovo用户,ovo用户不可以切换至carrot用户

sudo

sudo授权普通用户可以使用管理员的命令和文件

格式:

用户  主机名=(用户)命令程序列表

例:ovo ALL=(root)/sbin/ifconfig

即ovo这个普通用户可以和root一样拥有管理员权限,但是只限于ifconfig命令

例:普通用户无法执行修改网卡的命令,应用sudo之后即可强制执行

限制协议命令,即使用户在wheel组,也不可以使用

PAM安全认证

提供了一种标准的身份认证的接口,允许管理员定制化配置各种认证方式和方法

特点:可插拔式的认证模块

  • 是一种高效而且灵活便利的用户级别的认证方式
  • 为了加强su命令的使用控制,可以记住pam认证模块,只允许个别用户使用su命令进行切换
PAM的认证模块有四个不同类型:

认证模块:用于验证用户的身份,基于密码来对用户身份进行验证

授权模块:控制用户对于系统资源的访问权限(文件权限、进程权限等)

账户管理模块:管理用户的账户信息,密码策略,账户锁定策略

会话管理模块:管理用户的会话,记录会话信息,注销用户会话,远程终端连接

PAM相关文件

PAM使用配置/etc/pam.d/下的文件,来管理对程序的认证方式

一般遵循的顺序:

Service(服务)——PAM(配置文件)——pam_*.so

首先确定用哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib/security下)进行安全认证

ls /etc/pam.d*/:配置文件位置

ls /lib64/security:认证模块位置

认证流程:

system-auth:系统的认证配置文件、管理用户登录、登录验证、账号授权等相关策略都在此文件之中

[root@pup pam.d]# cat system-auth

type类型:

auth:用户身份认证

account:账户有效性,限制/允许用户访问某个服务,限制用户的登陆位置

root:只能从控制台登录,必须输入账号密码

password:用户修改密码时,对密码的机制进行校验

session:会话控制,最多能打开的文件数,最多能够打开的进程数

控制位:

required:一票否决,这个模块在认证中必须是返回成功才能通过认证,但是如果认证返回失败,失败结果不会通知用户,所有type中的模块全部认证完毕,最后再把结果反馈给用户

requisite:一票否决,必须返回成功才能通过认证,一旦返回失败,不会再向下执行其他模块,直接结束

sufficient:一票通过,返回成功,表示通过了身份认证的要求,不会再执行同一类型的相同模块;如果返回失败,忽略,继续执行同一类型中的其他模块

required和requisite:可选模块,即使返回失败,也可以忽略

网络端口扫描

网络扫描工具:NMAP--可以进行网络扫描、安全检测

-p:扫描端口

-sT:扫描tcp连接

-sU:扫描udp连接

-n:禁用反向DNS解析

正向:域名解析成ip地址

反向:ip地址解析成域名

-sP:ICMP扫描,和ping是一样的,快速判断主机是否存活

例:查看网段中存活的主机: nmap -n -sP 192.168.233.0/24

例:nmap -p 80 192.168.233.0/24

扫描80端口,查询整个网段哪台主机能提供80端口服务

例:查看本机开放的tcp或者udp端口

nmap -sT 127.0.0.1 192.168.233.10 #查看tcp的端口

nmap -sU 127.0.0.1 #查看本机的udp服务端口。

总结

系统安全加固的措施:

1、对账号和密码进行安全加固:

账号锁定,密码锁定

定期修改密码

2、修改历史记录的保存数目

3、sudo的机制,在配置普通用户拥有sudo权限的时候进行有限开放的原则,需要哪些就给哪些

4、grub菜单编辑加密

5、可以通过弱口令检测工具,巡检系统当中的简单密码,然后修改掉,保证账号安全

6、锁定重要文件,/etc/passwd /etc/shadow /etc/fatab nginx.conf httpd.conf 重要的配置文件或者系统文件,进行锁定

7、强化密码策略,把密码设置复杂一点

8、配置防火墙策略

9、定期备份

10、系统定期更新,修复系统中的漏洞

11、安装杀毒软件

12、改掉一些大家都知道的服务端口 例如:httpd nginx 端口号都是80

13、设置日志文件的权限。只有管理员可以读,其他啥用没有

14、进制普通用户切换到root用户

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值