Linux系统安全及应用
1、账号安全
系统账号清理
1)将非登录用户shell设为/sbin/nologin
2)锁定长期不使用的账号
3)删除无用的账号
4)锁定账号文件passwd、shadow
锁定:chattr +I /etc/passwd /etc/shadow
解锁:chattr -I /etc/passwd /etc/shadow
查看:lsattr /etc/passwd /etc/shadow
密码安全:
设置密码有效期:2种方式:
1)对新建用户设置:vim /etc/login.defs
PASS_MAX_DAYS 30
2)对已创建的用户:chage -M 30 用户名
用户下次登录时修改密码:chage -d 0 用户名
历史命令限制:
1)减少命令历史数量:HISTSIZE=200
2)自动清空历史命令:history -c
终端自动注销:TMOUT=10(秒)
2、su命令安全
Su:切换用户
两种格式:su 用户名:切换用户但不更改环境变量
Su - 用户名:完整切换
普通用户切换其他用户需要对方密码
Root用户切换无需密码
限制用户使用su命令:启用pam_whell模块,只允许whell组使用su命令
Vim /etc/pam.d/su
#auth required pam_whell.so use_uid (删除#号)
gpasswd -a 用户名 whell (将用户加入组)
日志文件:/var/log/secure
3、sudo:提升权限
语法:sudo 授权命令的绝对路径
需要输入本人密码
Sudo配置文件:/etc/sudoers
打开方式:visudo
Vim /etc/sudoers
格式:用户列表 主机名列表=权限列表
列:hanming ALL=/usr/sbin/useradd
%组名:代表组 ALL代表所用 *匹配任意
NOPASSWD:命令:无需密码就可执行
列表设置为别名:User_alias
Host_alias
Cmnd_alias
Sudo -l:查看sudo命令权限
Sudo -k:清除密码缓存,默认缓存5分钟
日志文件:/var/log/sudo
需要Defaults logfile配置
(Defaults logfile=/var/log/sudo)
4、开关机安全
1)调整Bios设置:
禁止从其他设备引导
设置Bios密码
2)禁用Ctrl+Alt+Del重启
Vim /etc/init/control-alt-delete.conf
3)grub菜单限制:
在title前设置密码:禁止更改参数
在title后设置密码:禁止进入系统
密码方式:明文:passwd密码
密文:用grub-md5-crypt生成
Vim /boot/grub/grub.conf
Password -md5 密码字串
5、终端安全登录:
1)减少开放的终端数:/etc/init/start-ttys.conf
/etc/sysconfig/init
ACTIVE_CONSOLES=/dev/tty[456]
2) 限制root用户使用的终端:/etc/securetty
3) 禁止普通用户登录:建立/etc/nologin文件 touch /etc/nologin
删除即可恢复登录 rm -f /etc/nologin
6、系统弱口令检测:Joth the Pipper 简称JR
开源软件:支持字典式的暴力破解,支持des和md5的加密破解
命令名为:john
破解命令:./john --wordist=password.lst /etc/shadow
--wordist(指定密码文件)
Password.lst(默认字典文件)
破解后密码保存在john.pot文件中,可用./john --show /etc/shadow查看
7、NMAP:网络端口扫描
是一款强大的网络扫描安全检测工具,可扫描TCP/UDP的端口
扫描类型:
-sS:SYN扫描 -St:TCP扫描
-sF:FIN扫描 -sU:UDP扫描
-sP:ICMP扫描 -P0:跳过ping检测
-n:禁用反向解析
Linux系统安全及应用示例
实验要求:
1、允许用户radmin使用su命令进行切换,其他用户一律禁止切换身份。
授权用户zhngsan管理所有员工的账号,但禁止其修改root用户的信息。
授权用户lisi能够执行/sbin、/usr/sbin目录下的所有特权命令,不需要密码验证。
所有的su、sudo、操作,必须在系统日志文件中进行记录。
禁止使用ctrl+alt+del快捷键,只开放tty3、tty5终端,为GRUB引导菜单设置密码。
步骤:
1)创建并将radmin用户加入到wheel
限制使用su命令,修改认证文件/etc/pam.d/su,启用pam_whell.so认证模块。
验证除了root、radmin用户以外,其他用户均不能使用su命令进行切换。(此前已有zhangsan和lisi用户,密码分别是2008.com和123456).如下图所示:root和radmin都可以切换为lisi用户,但lisi用户不能切换其他用户。
![](https://images2018.cnblogs.com/blog/1302526/201806/1302526-20180619095501825-1066565680.png)
2)设置sudo授权
通过visudo命令,授权用户zhangsan使用useradd、userdel、passwd、usermod命令,但禁止其执行“passwd root” 、 “usermod * root”操作。
授权lisi用户使用/sbin/* 、 /usr/sbin/*命令,添加NOPASSWD,以取消验证。
分别以zhangsan、lisi用户登录验证sudo操作。
如下图:zhangsan用户可以修改lisi密码(需要验证zhangsan密码),但不能修改root密码
如下图:lisi用户使用sudo命令创建用户时不需要验证lisi密码
3)限制引导及登录过程
Vim /etc/init/control-alt-delete.conf禁用ctrl+alt+del快捷键,reboot重启生效。
分别进入/etc/init/start-ttys.conf和 /etc/sysconfig/init 禁用tty1、tty2、tty4、tty6四个终端
使用grub-md5-crypt命令获取加密的密码字符串,然后进入/boot/grub/grub.conf在第一个title行之前添加密码配置
重启进入GRUB菜单界面,验证直接按E键无法编辑引导参数,需要先按P键输入密码再按E键
2、安装john软件,检测本机的弱口令。
解压进入后并编译
编译后会在run目录下生成john程序,准备待破解的密码文件,然后执行
3、安装NMAP软件,扫描网络上tcp和udp端口。
两台linux计算机,配置ip为192.168.1.0网段。(分别时1.10和1.20)一台安装NMAP扫描软件,另外一台安装ftp和http服务,并启动服务。
先扫描一下本机开放那些端口。再扫描另一台主机开放了那些端口。
查看本机tcp端口
查看本机udp端口
查看192.168.1.20主机tcp端口