目录
1. 账号管理与权限控制
1.1 基本安全措施:
1.1.1 账号管理和文件权限
1.1.2 密码安全控制
1.1.3历史命令和自动注销
1.2 用户切换与提权:
2. 系统引导与登录控制
2.1 开关机安全控制:
2.1.1 GRUB
2.1.2 限制更改GRUB引导参数
2.2 终端登录控制:
3. 弱口令检测与端口扫描
3.1 弱口令检测-JR:
3.2 端口扫描-NMAP:
4.操作举例(帮助理解)
1. 账号管理与权限控制
1.1 基本安全措施:
1.1.1 账号管理和文件权限
#检查账号情况
cat /etc/passwd | grep /sbin/nologin #禁止终端登录的账号
cat /etc/passwd | grep -v /sbin/nologin #重点关注没有禁止终端登录的账号 invert match反向匹配
#禁止账号登录
usermod -s /sbin/nologin nologintest #禁止用户nologintest终端登录 -s shell 指定新的shell
#恢复账号登录
usermod -s /bin/bash nologintest #恢复用户nologintest终端登录
#锁定账号
passwd -l nologintest #-l lock 锁定账号
#查看锁定状态
passwd -S nologintest #-s status 查看账号锁定状态
cat /etc/shadow #用户名后面有两个!!号
#解锁账号
passwd -u nologintest #-u unlock 解锁账号
#当某用户长期无人使用时,为了安全考虑可以先进行锁定
#锁定账号
usermod -L zhangsan #锁定张三用户
#查看锁定状态
passwd -S zhangsan
#解锁账号
usermod -U zhangsan #解锁张三用户
特殊权限 suid sgid sticky
#suid 冒险位,执行二进制文件(执行文件)与文件所有人有关,与谁来执行无关(执行者以所有者的权限运行)

#去掉suid冒险位

#sgid 强制位,对目录生效,在此目录中创建文件和目录的属组都跟父目录的属组相同

#sticky 粘制位,目录中的文件只能被文件拥有者删除,root也可以删除

文件ACL getfacl setfacl
对文件的权限进行附加说明的权限设定方式,独立于基础权限
#查看权限

#设定ACL权限

#取消lisi用户的ACL权限


#取消所有用户的ACL设置,恢复文件默认设置

文件属性 chattr lsattr +i +a
#基本权限rwx概念
#默认root用户新建目录权限755,新建文件权限644。普通用户新建目录权限775,新建文件权限664
#修改umask配置文件(/etc/bashrc,/etc/profile),umask命令可以查看umask的值
#锁定配置文件,文件不能删除,不能更改,不能移动
chattr +i /etc/passwd #chattr change attribution
#设置了`i'属性的文件不能进行修改:你既不能删除它,也不能给它重新命名,你不能对该文件创建链接,而且也不能对该文件写入任何数据.只有超级用户可以设置或清除该属性.
#查看锁定情况
lsattr /etc/passwd
----i----------- /etc/passwd
#解锁配置文件
chattr -i /etc/passwd
1.1.2 密码安全控制
将密码的有效期设为30天
#新创建的用户默认设定
vim /etc/login.defs
PASS_MAX_DAYS 30 #默认值PASS_MAX_DAYS 99999
#已有用户修改设定
chage -M 30 nologintest #-M MAX_DAYS 不是-m 修改的是/etc/shadow配置文件
#账户安全限制,打开/etc/login.defs 文件,修改下列信息,修改的信息只限制新创建的用户
PASS_MAX_DAYS 20 #密码最长使用期限
PASS_MIN_DAYS 0 #密码最短使用期限
PASS_MIN_LEN 5 #密码最小字符
PASS_WARN_AGE 7 #密码临近多久到期时发出警告
强制用户下次登录时重设密码
chage -d 0 nologintest #-d LAST_DAY
1.1.3历史命令和自动注销
#修改历史记录保存条数
#统一管理
vim /etc/profile
HISTSIZE=200 #历史记录的保存条数,默认是1000
#单独定制
vim ~/.bash_profile
export HISTSIZE=200
#注销用户并清除history历史记录
vim ~/.bash_logout
echo > ~/.bash_history
#修改闲置超时时间
#统一管理
vim /etc/profile
export TMOUT=200 #单位为秒
#单独定制
vim ~/.bash_profile
export TMOUT=200
1.2 用户切换与提权:
su命令
su - root # - 切换为新用户的环境变量
whoami
限制某些用户可以使用su命令
useradd pamtest01
useradd pamtest02
gpasswd -a pamtest01 wheel #将pamtest01用户加入至wheel组内
cat /etc/group | grep wheel #确认wheel组成员
#开启pam认证
vim /etc/pam.d/su
auth required pam_wheel.so use_uid #将注释符号去掉,非wheel组成员无法使用su命令
验证su命令限制生效

sudo命令
作用:将root命令授权给普通用户使用
授权的基本配置格式:
user MACHINE=COMMANDS
user(用户);授权的用户名,或采用%组名的形式
MACHINE:使用此配置文件的主机名称,一般设为localhost或者实际的主机名即可。
COMMANDS:允许授权的用户通过sudo方式执行的特权命令。多个命令之间以逗号分隔。

#添加用户授权前

#添加用户授权后

#禁止zhang用户以root权限查看/etc/shadow文件,其他文件可以以root权限查看

#对zu1授权

测试user1,user2是否可以使用fdisk -l命令
#sudo别名使用
# User Aliases(用户别名),别名需要大写


#查看当前用户被授权的命令有那些

#sudo日志/var/log/secure
#默认情况下通过sudo方式执行操作并不记录,若要启用sudo日志记录,需要在/etc/sudoers 文件内增加 Defaults logfile 设置

2. 系统引导与登录控制
2.1 开关机安全控制:
增加GRUB引导时间。
vim /boot/grub2/grub.cfg
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=20
else
set timeout=20
fi

2.1.1 GRUB
GNU GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。
2.1.2 限制更改GRUB引导参数
如果想编辑grub引导参数,按e键后,需要输入用户名密码。
#给编辑grub引导参数加密码
grub2-setpassword
#这个过程创建了一个/boot/grub2/user.cfg配置文件,其中包含已经加密的密码。密码的用户是root。如果想要删除密码,直接删除/boot/grub2/user.cfg文件就可以。
2.2 终端登录控制:
#限制普通用户登录终端
touch /etc/nologin #不需要更改任何信息,有这个文件就无法登录
rm -rf /etc/nologin #删除后普通用户就可以登录
3. 弱口令检测与端口扫描
3.1 弱口令检测-JR:
John the Ripper 开膛手约翰
安装过程
# tar -zxvf john-1.9.0.tar.gz -C /usr/src
# cd /usr/src/john-1.9.0
# cd src
# make clean linux-x86-64

#在run目录下 就会生成john工具
JR安装弱口令检测使用方法
1、复制shadow文件
# cp /etc/shadow /root/shadow.txt
2、直接查找
# cd /usr/src/john-1.9.0/run/
# ./john /root/shadow.txt
#查看已经检测出来的用户有哪些
# ./john --show /root/shadow.txt
#可以手动将需要添加的密码手动写入其中,做实验使用
# vim password.lst
#还可以结合用户自己选择的字典文件匹配查看
# ./john --wordlist=./password.lst /root/shadow.txt
3.2 端口扫描-NMAP:
yum安装nmap
yum -y install nmap
nmap使用
NMAP的扫描语法
nmap [扫描类型] [选项] <扫描目标 ...>
常用的扫描类型
-sS,TCP SYN扫描(半开)
-sT,TCP 连接扫描(全开)
-sF,TCP FIN扫描
-sU,UDP扫描
-sP,ICMP扫描
-P0,跳过ping检测
nmap 127.0.0.1 #查看当前主机的TCP所有开放端口
nmap -sU 127.0.0.1 #查看当前主机的UDP所有开放端口
nmap -p 22 192.168.37.0/24 #查看192.168.37.0网段所有主机22端口的开放情况,ssh
nmap -n -sP 192.168.37.0/24 #检测192.168.37.0/24网段有哪些存活主机,-n 禁用反向解析
4.操作举例(帮助理解)


《Linux系统安全及应用(账号权限管理、登录控制、弱口令、端口扫描)》 是转载文章,点击查看原文。
