第十章 系统安全及应用

第一章账号安全基本措施

1.1将用户设置为无法登录

1.2锁定用户

1.3删除账户

1.4锁定配置文件

1.5命令历史

1.6切换用户

1.7认证类型  控制类型  PAM 模块及其参数 

1.8 sudo

1.9 暴力破解密码

1.10 nmap 扫描


第一章账号安全基本措施

1.1将用户设置为无法登录

 1.2锁定用户

 1.3删除账户

userdel     -r      用户名

1.4锁定配置文件

chattr

-a     让文件或目录仅供附加用途。只能追加

-i      不得任意更动文件或目录。

1.5命令历史

Bash 终端环境中,历史命令的记录条数由变量 HISTSIZE 控制,默认为 1000 条。通 过修改/etc/profile 文件中的 HISTSIZE 变量值,可以影响系统中的所有用户。例如,可以设 置最多只记录 200 条历史命令。

家目录里的这些文件只对  自己的用户的有效

.bash_logout: 退出用户后 会执行里面的命令 

.bash_profile  登录用户前执行里面的命令

.bashrc           登录用户前执行里面的命令

 

#可以使用以下命令临时清除历史命令
history -c           临时清除命令

vim  /etc/profile

export    HISTSIZE=100                              #全局   生效    命令长度100

开机清空历史命令

vim  ~/.bashrc

echo " " > ~/.bash_history

1.6切换用户

su   切换用户

su   [-] 用户名

su    切换到root

管理员切换到普通用户不需要输入密码

su  -    切换的比较彻底

su       有限的切换

1.7认证类型  控制类型  PAM 模块及其参数 

PAM 认证类型包括四种

认证管理(authentication management):接受用户名和密码,进而对该用户的密码进行认证;

帐户管理(account management):检查帐户是否被允许登录系统,帐号是否已经过 期,帐号的登录是否有时间段的限制等;

密码管理(password management):主要是用来修改用户的密码;

会话管理(session management):主要是提供对会话的管理和记账。

控制类型也可以称做 Control Flags,用于 PAM 验证类型的返回结果。

1)required 验证失败时仍然继续,但返回 Fail

2)requisite 验证失败则立即结束整个验证过程,返回 Fail

3)sufficient 验证成功则立即返回,不再继续,否则忽略结果并继续

4)optional 不用于验证,只是显示信息(通常用于 session 类型)

shell模块

功能:检查有效shell

帮助:man pam_shells

案例:不允许使用/bin/csh的用户本地登录

vim   /etc/pam.d/su

文中第一行  实际第二行

文中第二行  实际第六行

a)以上两行是默认状态(即开启第一行,注释第二行),这种状态下是允许所有用户间使用su命令进行切换的。

b)两行都注释也是允许所有用户都能使用su命令,但是 root用户要输入密码

c)如果开启第二行,表示只有root用户和wheel组内的用户才可以使用su命令

d)如果注释第一行,开启第二行,表示只有whee1组内的用户才能使用su命令,root用户也被禁用su命令。

 1.8 sudo

sudo 即superuser do,允许系统管理员让普通用户执行一些或者全部的root命令的一个工具.这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性在最早之前,一般用户管理系统的方式是利用su切换为超级用户。但是使用su的缺点之一在于必须要先告知超级用户的密码。sudo使一般用户不需要知道超级用户的密码即可获得权限。首先超级用户将普通用户的名字、可以执行的特定命令、按照哪种用户或用户组的身份执行等信息,登记在特殊的文件中(通常是/etc/sudoers),即完成对该用户的授权(此时该用户称为“sudoer”);在一般用户需要取得特殊权限时,其可在命令前加上“sudo”,此时sudo将会询问该用户自己的密码(以确认终端机前的是该用户本人),回答后系统即会将该命令的进程以超级用户的权限运行。之后的一段时间内(默认为5分钟,可在/etc/sudoers自定义),使用sudo不需要再次输入密码。由于不需要超级用户的密码,部分Unix系统甚至利用sudo使一般用户取代超级用户作为管理帐号,例如Ubuntu、Mac OS X等。

配置文件位置

/etc/sudoers

root                                                        ALL=(ALL)                                        ALL

可以执行命令的用户名         哪台主机=已谁的身份运行               可以执行的命令

 

lisi                                             ALL =                               /usr/bin/mount    /dev/sr0                      /mnt

 

lisi    ALL=            /usr/bin/*, !/usr/bin/cat

在后面的命令生效,如果和前面冲突,已后为准

通配符 *   有个小问题

子目录

设置GRUB 2加密

[root@kgc ~]# grub2-mkpasswd-pbkdf2      #根据提示设置GRUB菜单的密码

1.9 暴力破解密码

./configre  安装路径和选择功能
make        .c .py 高级语言 机器   make(编译) 高级编译二进制  0 1 让机器课读懂
make install 将程序 存起来


cd /opt
tar. zxf john-1.8.0.tar.gz
#解压工具包

yum install -y gcc gcc-c++ make
#安装软件编译工具

cd /opt/john-1.8.0/src
#切换到src子目录

make clean linux-x86-64
#进行编译安装

cp /etc/shadow /opt/shadow.txt
#准备待破解的密码文件

cd /opt/john-1.8.0/run
./john /opt/shadow.txt
#执行暴力破解

./john --show /opt/shadow.txt
#查看已破解出的账户列表

> john. pot
#使用密码字典文件
#清空已破解出的账户列表,以便重新分析
./john --wordlist=./password.1st /opt/shadow.txt
#使用指定的字典文件进行破解

1.10 nmap 扫描

===============网络端口扫描============
控制位
SYN  建立链接
ACK  确认
FIN  结束断开
PSH  传送 0 数据缓存   上层应用协议
RST  重置
URG  紧急

#安装
rpm -qa|grep nmap  查看nmap
yum install -y nmap

nmap命令常用的选项和描类型
-p:指定扫描的端口。
-n:禁用反向DNS解析(以加快扫描速度) ip转换成 域名  12222 2www.baidu.com       
-sS: TCP的SYN扫描 (半开扫描),只向目标发出SYN数据包,如果收到SYN/ACK响应包就认为目          标端口正在监听,并立即断开连接;否则认为目标端口并未开放。
-sT: TCP连接扫描,这是完整的TCP扫描方式(默认扫描类型),用来建立一个TCP连接,如果成功           则认为目标端口正在监听服务,否则认为目标端口并未开放。
-sF:TCP的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙         只对sYN数据包进行简单过滤,而忽略了其他形式的TCP攻击包。这种类型的扫描可间接检测          防火墙的健壮性。
-sU: UDP扫描,探测目标主机提供哪些UDP服务,UDP扫描的速度会比较慢。
-sP: ICMP 扫描,类似于ping检测,快速判断目标主机是否存活,不做其他扫描。
-P0:跳过ping检测, 这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这           种方式可以避免因无法ping通而放弃扫描。


用于主机发现的一些用法
-sL: List Scan 列表扫描,仅将指定的目标的IP列举出来,不进行主机发现。  
  
-sn: Ping Scan 只进行主机发现,不进行端口扫描。  
  
-Pn: 将所有指定的主机视作开启的,跳过主机发现的过程。  
  
-PS/PA/PU/PY[portlist]: 使用TCPSYN/ACK或SCTP INIT/ECHO方式进行发现。  
  
-PE/PP/PM: 使用ICMP echo, timestamp, and netmask 请求包发现主机。-PO[protocollist]: 使用IP协议包探测对方主机是否开启。  
  
-n/-R: -n表示不进行DNS解析;-R表示总是进行DNS解析。  
  
--dns-servers <serv1[,serv2],...>: 指定DNS服务器。  
  
--system-dns: 指定使用系统的DNS服务器  
  
--traceroute: 追踪每个路由节点 


Nmap用于端口扫描的一些用法
-sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描。  
  
  -sU: 指定使用UDP扫描方式确定目标主机的UDP端口状况。  
  
  -sN/sF/sX: 指定使用TCP Null, FIN, and Xmas scans秘密扫描方式来协助探测对方的TCP端口状态。  
  
  --scanflags <flags>: 定制TCP包的flags。  
  
  -sI <zombiehost[:probeport]>: 指定使用idle scan方式来扫描目标主机(前提需要找到合适的zombie host)  
  
  -sY/sZ: 使用SCTP INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况。  
  
  -sO: 使用IP protocol 扫描确定目标机支持的协议类型。  
  
  -b <FTP relay host>: 使用FTP bounce scan扫描方式  

示例:
#分别查看本机开放的TCP端口、UDP端口
nmap -sT 127.0.0.1
nmap -sU 127.0.0.1


#检测192.168.80.0/24网段有哪些主机提供HTTP服务
nmap -p 80 192.168.80.0/24
nmap -p 80 192.168.91.100/24


#检测192.168.80.0/24网段有哪些存活主机
nmap -n -sP 192.168.80.0/24 
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值