admin管理员组文章数量:1574129
集群:
1系统安全及应用:
系统账号清理:
1 将非登录用户的Shell设为/sbin/nologin
useradd -s /sbin/nologin benet
2 锁定长期不使用的账号
passwd -l zhangsan 锁定
passwd -u zhangsan 解锁
passwd -S zhangsan 查看
3 删除无用的账号
4 锁定账号文件passwd、shadow
chattr +i /etc/passwd /etc/shadow 锁定文件
chattr -i /etc/passwd /etc/shadow 解锁文件
lsattr /etc/passwd /etc/shadow 查看文件状态
5 设置密码有效期
[root@localhost ~]# vi /etc/login.defs --适用于新建用户
PASS_MAX_DAYS 30
[root@localhost ~]# chage -M 30 lisi --适用于已有用户
6 要求用户下次登录时修改密码
chage -d 0 zhangsan
密码的复杂要求 7位
CroUtAB1,
7 命令历史:
vim /etc/profile ===对新用户生效
HISTSIZE=20
export HISTSIZE=20 ===对当前用户生效
8 自动注销:
vim /etc/profile ===对新用户生效
export TMOUT=600
export TMOUT=600 ===对当前用户生效
9
su - root
su root
10
查看su操作记录
安全日志文件:/var/log/secure
11
sudo
配置sudo授权
visudo 或者 vi /etc/sudoers
记录格式:用户 主机名列表=命令程序列表
root@localhost ~]# visudo
……
%wheel ALL=NOPASSWD: ALL
jerry localhost=/sbin/ifconfig
syrianer localhost=/sbin/*,!/sbin/ifconfig,!/sbin/route
12 查看su操作记录
安全日志文件:/var/log/secure
13 调整BIOS引导设置
将第一引导设备设为当前系统所在硬盘
禁止从其他设备(光盘、U盘、网络)引导系统
将安全级别设为setup,并设置管理员密码
14 禁用重启热键Ctrl+Alt+Del
systemctl mask ctrl-alt-del.target
systemctl daemon-reload
15 GRUB菜单限制
GRUB限制的实现
1 获得加密字串
[root@benet ~]# grub2-mkpasswd-pbkdf2
输入口令:
Reenter password:
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.DD974D895D79DE7343B70E4C478F58A03DEB55397D97EA35479B497E7E3377DC48A2C00E48EEB4404FD10108F12F9DF2F55BF995A69FCD73E7B9BC8898A4F995.4857398CB2E9E47134186A050795EA49811B50EADAA584FF78BE74D2BE0D3B5D82E6F82F3B04CBA545D4672937391CE0260731325712FC5A44B569E2580234D5
2 备份配置文件
[root@benet ~]# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
[root@benet ~]# cp /etc/grub.d/00_header /etc/grub.d/00_header.bak
3 修改配置文件
vim /etc/grub.d/00_header
cat <<EOF
set superusers=“root”
password_pbkdf2 root grub.pbkdf2.sha512.10000.DD974D895D79DE7343B70E4C478F58A03DEB55397D97EA35479B497E7E3377DC48A2C00E48EEB4404FD10108F12F9DF2F55BF995A69FCD73E7B9BC8898A4F995.4857398CB2E9E47134186A050795EA49811B50EADAA584FF78BE74D2BE0D3B5D82E6F82F3B04CBA545D4672937391CE0260731325712FC5A44B569E2580234D5
EOF
4 生成新的groub配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
16限制root只在安全终端登录
安全终端配置:/etc/securetty
[root@localhost ~]# vi /etc/securetty
……
tty1
tty2
tty3
tty4
#tty5
#tty6
17 禁止普通用户登录
建立/etc/nologin文件
删除nologin文件或重启后即恢复正常
[root@localhost ~]# touch /etc/nologin
[root@localhost ~]# rm -rf /etc/nologin
18 JR
一款密码分析工具,支持字典式的暴力破解
通过对shadow文件的口令分析,可以检测密码强度
1 安装
tar xf john-1.8.0.tar.gz
cd john-1.8.0/
cd src/
make clean linux-x86-64
2 暴击破解
cd john-1.8.0/run/
./john /root/shadow.txt
3 字典破解
./john --wordlist=./password.lst /root/shadow.txt
4 查看结果
./john --show /root/shadow.txt
第一章系统安全及应用
账号安全基本措施
一、系统账号清理
1.将非登录用户的Shell设为/sbin/nologin
*/sbin/nologin----禁止终端登录,确保不被人为改动
(经常检查,防止恶意篡改)
2.锁定长期不使用的账号
*例如一些用户长期不使用,但不确认是否删除
3.删除无用的账号
(例:mysql程序卸载后,删除程序用户mysql)
4.锁定账号文件passwd、shadow
*例如:服务器账户已固定,不再进行更改。可锁定
grep “/sbin/nologin$” /etc/passwd |wc -l
grep “/sbin/nologin$” /etc/passwd |awk -F: ‘{print $1}’ > nologin.txt
useradd tom
echo “123” | passwd --stdin tom
usermod -L tom
passwd -S tom
锁定后,使用其他终端tom登录验证
usermod -U tom
passwd -S tom
chattr +i /etc/passwd /etc/shadow
锁定文件并查看状态
lsattr /etc/passwd /etc/shadow
----i-------e- /etc/passwd
----i-------e- /etc/shadow
useradd lisi
解锁文件并查看状态
chattr -i /etc/passwd /etc/shadow
lsattr /etc/passwd /etc/shadow
------------e- /etc/passwd
------------e- /etc/shadow
useradd lisi
二 密码安全控制
1.设置密码有效期
2.要求用户下次登录时修改密码
适用于新建用户—密码有效期30天
[root@localhost ~]# vi /etc/login.defs
……
PASS_MAX_DAYS 30
适用于已有用户
[root@localhost ~]# chage -M 30 lisi
强制在下次登录时更改密码
[root@localhost ~]# chage -d 0 tom
三、命令历史限制
1.减少记录的命令条数
2.注销时自动清空命令历史
[root@localhost ~]# vi /etc/profile
……
HISTSIZE=200
source /etc/profile
[root@localhost ~]# vi ~/.bash_logout
……
history -c
clear
3.终端自动注销----闲置600秒后自动注销
(注意:执行耗时较长操作时,取消此变量 unset TMOUT )
[root@localhost ~]# vi ~/.bash_profile
……
export TMOUT=600
===============================================
二 用户切换及提权
一、使用su命令切换用户
1.用途及用法
用途:Substitute User,切换用户
格式:su - 目标用户
2.密码验证
root --> 任意用户, 不验证密码
普通用户 --> 其他用户,验证目标用户的密码
【带 - 选项表示将使用目标用户的登录Shell环境】
[jerry@localhost ~]$ su - root
口令:
[root@localhost ~]# whoami
root
3.限制使用su命令的用户(默认都可以使用su命令,防止密码穷举危险,只允许少量用户使用)
*启用pam_wheel认证模块
*将允许使用su命令的用户加入wheel组
[root@localhost ~]# vi /etc/pam.d/su
#%PAM-1.0
auth sufficient pam_rootok.so
auth required pam_wheel.so use_uid
……
grep wheel /etc/group
验证:
su - tom
$ su -
【不能切换到root用户,需要将用户“tom”加入到“wheel”组中】
[root@localhost ~]# gpasswd -a tom wheel
验证:
$ su -
4.查看su操作记录
*安全日志文件:/var/log/secure
[root@localhost ~]# tail /var/log/secure
5.su命令的缺点
*知道root密码的用户越少越安全
sudo—普通用户拥有一部分管理权限,又不需要知道root密码
二使用sudo机制提升权限
1.sudo命令的用途及用法
*用途:以其他用户身份(如root)执行授权的命令
*用法:sudo 授权命令
2.配置sudo授权 /etc/sudoers
2.1 /etc/sudoers
文件默认权限440,vi编辑时‘:w!’保存
*visudo 或者 vi /etc/sudoers
2.2 记录格式:用户 主机名列表=命令程序列表
用户:用户名或“%组名”(组内所有用户)
主机名:一般为localhost或实际主机名
命令列表:命令的绝对路径,多命令用‘,’号分割
ll /etc/sudoers
验证:使用lisi登录
$ /sbin/ifconfig ens33:1 192.168.10.2
$ sudo /sbin/ifconfig ens33:1 192.168.10.2
[root@localhost ~]# visudo
……
【wheel组成员不需验证密码即可执行任何命令】
%wheel ALL=NOPASSWD: ALL
【lisi可使用ifconfig命令】
lisi localhost=/sbin/ifconfig
【可以使用通配符*、取反符号!】
zhangsan localhost=/sbin/*,!/sbin/ifconfig,!/sbin/route
【关键字、别名机制–必须大写】
#User_Alias OPERATORS=tom,jack,rose
#Host_Alias MAILSERVERS=smtp,pop
#Cmnd_Alias PKGTOOLS=/bin/rpm,/usr/bin/yum
#OPERATORS MAILSERVERS=PKGTOOLS
3.查看sudo操作记录
*需启用 Defaults logfile 配置
*默认日志文件:/var/log/sudo
[root@localhost ~]# visudo
……
【启用日志配置以后,sudo操作过程才会被记录,在Defaults列前添加】
Defaults logfile = “/var/log/sudo”
[root@localhost ~]# tail /var/log/sudo
4.查询授权的sudo操作 sudo -l
【初次使用sudo时需验证当前用户的密码】
[lisi@localhost ~]$ sudo -l
【默认超时为5分钟,在此期间不再重复验证】
$ sudo /sbin/fdisk -l
==============================================
系统引导和登录控制
服务器一般用远程登录的方式进行管理,而本地引导和终端登录过程被忽视,会留下安全隐患。因此需要加强对其他用户的非授权介入的安全管理
1.开关机安全控制
1.1调整BIOS引导设置
1)将第一引导设备设为当前系统所在硬盘
2)禁止从其他设备(光盘、U盘、网络)引导系统
3)将安全级别设为setup,并设置管理员密码
1.2禁用重启热键Ctrl+Alt+Del
*避免因用户误操作导致重启
查看此文件获取热键信息
[root@localhost ~]# cat /etc/inittab
inittab is no longer used when using systemd.
ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
systemd uses ‘targets’ instead of runlevels. By default, there are two main targets:
multi-user.target: analogous to runlevel 3
graphical.target: analogous to runlevel 5
To view current default target, run:
systemctl get-default
To set a default target, run:
systemctl set-default TARGET.target
查看此文件—软连接文件
[root@localhost ~]# ll /usr/lib/systemd/system/ctrl-alt-del.target lrwxrwxrwx. 1 root root 13 9月 1 18:50 /usr/lib/systemd/system/ctrl-alt-del.target -> reboot.target
在不影响此文件的前提下禁用此热键(注销此服务)
[root@localhost ~]# systemctl mask ctrl-alt-del.target
Created symlink from /etc/systemd/system/ctrl-alt-del.target to /dev/null.
重新加载systemd配置
[root@localhost ~]# systemctl daemon-reload
2.GRUB限制
2.1使用grub2-mkpasswd-pbkdf2生成密钥
pbkdf算法加密更安全。在/etc/grub.d/00_header配置文件中,添加用户密码(注意–实验中每个人生成的密码不一样)
[root@localhost ~]# grub2-mkpasswd-pbkdf2
输入口令:
Reenter password:
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.0C702158DDDE9B72C06A36B5540E059E363ACD64EFA2741D44A2629A52EED4D4C5E4BAF35F7EB3E25E9DB6AD2E9DD52501E1E22D30A61F110448AC726D0EB9DE.D097E4CF0C56F01D0A2DACE9C0A233E5FABFE0F014C0D90E1BEC7FC5B0DCF5F01043B69D149EEC938CA9B1EDD5CACF5EFD2F905ADE06F6033B1BE4A0018CA13F
grub.pbkdf2.sha512.10000.97FA017EC513EDA687BD0890A16B06A750F10F6F7B52CBA3217AF3D2F8A9DC70EA01B280D60C94760D9E3D58C461463BA592AEE77784D0591E96060E192ED2D1.7F07993A2DF2FD9296BD18E4641A4DBBBBD5A7878C2070FCB893139AB83F50620058F36D2EEDF62C63F46BC61E0C952F7682EC75BC34736FAB1A8A5E6DEEFB0E
2.2修改/etc/grub.d/00_header文件中,添加密码记录
生成新的grub.cfg配置文件
[root@localhost ~]# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
[root@localhost ~]# cp /etc/grub.d/00_header /etc/grub.d/00_header.bak
[root@localhost ~]# vim /etc/grub.d/00_header
末尾添加:注意要添加自己生成的密码
cat << EOF
set superusers=“root”
password_pbkdf2 root grub.pbkdf2.sha512.10000.0C702158DDDE9B72C06A36B5540E059E363ACD64EFA2741D44A2629A52EED4D4C5E4BAF35F7EB3E25E9DB6AD2E9DD52501E1E22D30A61F110448AC726D0EB9DE.D097E4CF0C56F01D0A2DACE9C0A233E5FABFE0F014C0D90E1BEC7FC5B0DCF5F01043B69D149EEC938CA9B1EDD5CACF5EFD2F905ADE06F6033B1BE4A0018CA13F
EOF
生成新的grub.cfg配置文件
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file …
Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-c381cd10df4c4fffbaffe73a487f3834
Found initrd image: /boot/initramfs-0-rescue-c381cd10df4c4fffbaffe73a487f3834.img
done
验证:重启进入grub菜单,按E键将无法修改引导参数
3.终端登录安全控制
3.1限制root只在安全终端登录
安全终端配置:/etc/securetty
[root@localhost ~]# vi /etc/securetty
……
tty1
tty2
tty3
tty4
#tty5 【禁止root用户从终端tty5、tty6登录】
#tty6
sed -i ‘14,23s/^/#/g’ /etc/securetty
3.2 禁止普通用户登录
*建立/etc/nologin文件,login程序会检查此文件是否存在。如果存在则拒绝普通用户登录系统(root不受限制)
*删除nologin文件或重启后即恢复正常
*建议在服务器维护期间临时使用
[root@localhost ~]# touch /etc/nologin
==============================================
弱口令检测和端口扫描
一、系统弱口令检测
1.Joth the Ripper,简称为 JR
一款密码分析工具,支持字典式的暴力破解
通过对shadow文件的口令分析,可以检测密码强度
官方网站:http://www.openwall/john/
root 123
password 123123
123456
[root@localhost ~]# tar xf john-1.8.0.tar.gz
[root@localhost ~]# cd john-1.8.0
[root@localhost john-1.8.0]# ls -ld *
drwxr-xr-x 2 root root 208 10月 1 09:02 doc
lrwxrwxrwx 1 root root 10 5月 30 2013 README -> doc/README
drwxr-xr-x 2 root root 143 10月 1 09:02 run
drwxr-xr-x 2 root root 4096 10月 1 09:02 src
doc 手册文档
run 运行程序
src 源码文件
[root@localhost john-1.8.0]# ls doc/
CHANGES CONTACT CREDITS EXTERNAL INSTALL MODES README
CONFIG COPYING EXAMPLES FAQ LICENSE OPTIONS RULES
[root@localhost john-1.8.0]# cd src/
编译安装
[root@localhost src]# make clean linux-x86-64
make命令可列表显示支持的系统类型及编译操作
[root@localhost src]# make
To build John the Ripper, type:
make clean SYSTEM
where SYSTEM can be one of the following:
linux-x86-64-avx Linux, x86-64 with AVX (2011+ Intel CPUs)
linux-x86-64-xop Linux, x86-64 with AVX and XOP (2011+ AMD CPUs)
linux-x86-64 Linux, x86-64 with SSE2 (most common)
linux-x86-avx Linux, x86 32-bit with AVX (2011+ Intel CPUs)
linux-x86-xop Linux, x86 32-bit with AVX and XOP (2011+ AMD CPUs)
…………………………
确认已生成可执行程序john
[root@localhost src]# ls …/run/john
…/run/john
添加测试账号
[root@localhost src]# useradd test1
[root@localhost src]# useradd test2
[root@localhost src]# echo “123456”|passwd --stdin test1
[root@localhost src]# echo “abc123”|passwd --stdin test2
准备待破解的密码文件
[root@localhost src]# cp /etc/shadow /root/shadow.txt
[root@localhost src]# cd …/run
执行暴力破解
[root@localhost run]# ./john /root/shadow.txt
*如果已破解会即时输出。密码 用户名
*检测时间长,可ctrl+c终止
*信息自动保存到john.pot文件
查看密码信息
[root@localhost run]# ./john --show /root/shadow.txt
清空已破解出的账户列表,进行重新分析
[root@localhost run]# :> john.pot
准备好密码字典文件,默认为password.lst
[root@localhost run]# vim password.lst
添加root用户密码123进字典
…………………………
13 #!comment: For more wordlists, see http://www.openwall/wor dlists/
14 123456
15 123
16 12345
……………………………………………………
执行john程序,结合–wordlist=字典文件
[root@localhost run]# ./john --wordlist=./password.lst /root/shadow.txt
二、网络端口扫描
1.NMAP
一款强大的网络扫描、安全检测工具
2.Nmap包含四项基本功能:
主机发现(Host Discovery)
端口扫描(Port Scanning)
版本侦测(Version Detection)
操作系统侦测(Operating System Detection)
3.NMAP的扫描语法
nmap [扫描类型] [参数] 目标IP
4.常用的扫描类型
-sS、-sT、-sF、-sU、-sP、-P0
4.1. 扫描类型
-sT TCP 连接扫描,会在目标主机中记录大量的链接请求和错误信息
-sS SYN扫描,只完成三次握手前两次,很少有系统记入日志,默认使用,需要root(admin)权限
-sP Ping扫描,默认使用,只有能Ping得通才会继续扫描
-P0 扫描之前不需要Ping,用于绕过防火墙禁Ping功能
-sA 高级的扫描方式,用来穿过防火墙的规则集
-sV 探测端口号版本
-sU UDP扫描,扫描主机开启的UDP的服务,速度慢,结果不可靠
-sX -sN 秘密的FIN数据包扫描,圣诞树(Xmas Tree)和空模式,针对Unix和Linux主机,系统要求遵循TCP RFC文档
4.2. 扫描参数
-v 显示扫描过程,推荐使用
-h 帮助文档
-p 指定端口号,如[1-65535],[22,135,1433,3306,]等格式
-O 启动远程操作系统监测,存在误报
-A 全面系统监测,使用脚本检测,扫描等
-T4 针对TCP端口禁止动态扫描延迟超过10ms
-iL 批量扫描,读取主机列表,如[-iL C:\ip.txt]
5.示例
[root@localhost ~]# yum -y install nmap
分别查看本机开放的TCP端口、UDP端口
[root@localhost ~]# nmap 127.0.0.1
[root@localhost ~]# nmap -sU 127.0.0.1
检测192.168.4.0/24网段有哪些主机提供ssh服务
[root@localhost ~]# nmap -p 22 192.168.10.0/24
检测192.168.4.0/24网段有哪些存活主机(能够ping通)
[root@localhost ~]# nmap -n -sP 192.168.19.0/24
检测此地址段是否开启文件共享服务
[root@localhost ~]# nmap -p 139,445 192.168.10.1-100
检测红蜘蛛软件对应开放端口tcp1688
[root@localhost ~]# nmap -p 1688 192.168.19.0/24
[root@localhost ~]# nmap -O --osscan-guess 192.168.202.101
检测目标的操作系统情况
OS DETECTION:
-O: Enable OS detection
–osscan-limit: Limit OS detection to promising targets
–osscan-guess: Guess OS more aggressively
版权声明:本文标题:linux系统安全 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1726386836a1068251.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论