文章目录

  • 一、账号安全控制
    • 1.基本安全措施
      • (1)系统账号的清理
      • (2)密码安全控制
      • (3)历史命令、自动注销
  • 二、用户切换、提权
    • 1.用户切换
    • 2. 提升执行权限
  • 三、PAM安全认证
    • 1.PAM认证模块介绍
    • 2.PAM认证用法
    • 3.PAM验证流程
  • 四、系统引导和登录控制
    • 1.开关机安全控制
    • 2.限制更改GRUB引导参数
    • 3.终端及登录控制
  • 五、弱口令扫描、端口扫描
    • 1.弱口令扫描
    • 2.网络扫描--NMAP

所有实验均在虚拟机CentOS7.6下完成

本章主要从清理用户账号、锁定用户账号或账号配置文件、设置用户密码有效期限、设置历史命令清除、设置账号超时自动登出、结合PAM认证模块设置用户账号的切换su和提权sudo来提升系统的安全性。

一、账号安全控制

1.基本安全措施

(1)系统账号的清理

在Linux系统中,存在大量用户,除了超级用户root外,其他大量用户只是用来维护系统运作、启动或保持服务进程,为了系统安全,这些用户的登录Shell通常是/sbin/nologin,表示禁止终端登录,确保不被人改动。
有一部分用户是很少用到的,我们可以到/etc/passwd加“#”进行注释或使用usermod命令对用户进行锁定。
对用户进行注释
vi /etc/passwd
找到相应用户对他进行注释#

对用户进行锁定
usermod -L tom2 ##锁定账户
tail -10 /etc/shadow ##查看
passwd -S tom2 ##查看

当服务器中的用户账号已经固定,我们可以锁定账户配置文件
chattr +i /etc/passwd ##锁定配置文件
lsattr /etc/passwd ##查看锁定状态,-----i------这样的标志表示锁定
usreadd zhang ##创建用户,是创不了的

chattr -i /etc/passwd ##解锁
lsattr /etc/passwd ##查看解锁状态

(2)密码安全控制

在Linux系统中,为了降低密码暴露的风险,需要经常改密码;管理员可以在服务器上限制密码的最大有效天数,要求用户登录时修改密码,否则不能登录。
vi /etc/login.defs
PASS_MAX_DAYS 30 ##密码有效期30天
保存退出
此种方法修改完配置文件,下次新建用户时,用户密码最大有效天数为30天


chage -M 30 bely
此种方法可以对已有用户修改密码最大有效天数

chage -d 0 tom
强制要求用户下次登录时重设密码

(3)历史命令、自动注销

shell环境中的历史命令机制,记录用户命令操作过程,提供便利的同时,也暴露出安全威胁,只要找出历史命令文件,便可查看很多操作,甚至发现密码。
bash终端环境中,历史命令的记录条数由变量HISTSIZE控制,默认1000条。修改/etc/profile文件,可修改历史命令条数,可以影响系统中的所有用户。
vi /etc/profile
HISTSIZE=200

清除历史命令
修改用户登出时执行的文件~/.bash_logout
vi ~/.bash_logout
history -c
clear
保存退出

bash终端环境中,可以用变量TMOUT设置自动注销,当用户超过一定时间内没有任何输入,便自动注销,避免被其他人员误操作,默认单位时间秒。
vi ~/.bash_profile ##适用于新登录的用户
export TMOUT=60
保存退出
重启后生效,等待60s后会登出

export TMOUT=60 ##适用于当前用户,一次性的

当我们需要有较长耗时的操作时,必要时可执行“unset TMOUT”命令取消TMOUT变量设置。

二、用户切换、提权

在大多数Linux服务器中,一般不会直接用root用户登录,因为root特权用户权限太高,如果误操作会造成很大程度的破坏,且担心root用户密码在不安全网络中暴露。所以我们需要为普通用户切换身份和提升权限机制,以便管理执行任务。
Linux系统中用su命令来切换用户,sudo命令来提升权限。

1.用户切换

切换用户后可以获得该用户的所有权限
su - root
输入密码便可切换,root用户切换其他用户不需要输入密码

默认情况下,任何用户都可以使用su命令,这样可以反复尝试root用户的密码,这样带来安全隐患。可以使用pam_wheel认证模块,限制使用su命令的用户,将要使用su的用户加入wheel组,修改/etc/pam.d/su的认证配置,启用pam_wheel认证。
useradd tom1
gpasswd -a tom1 wheel
vi /etc/pam.d/su
将下图第六行的#注释号去掉
保存退出

登录tom1登录,切root用户可以切换

登录tom2用户,切root用户,不能切换

2. 提升执行权限

可以以root用户的身份,进行授权,让指定用户可以执行一部分本身不能执行的命令。
在配置文件/etc/sudoers中添加授权,文件默认权限为440,需要使用专门的visudo命令工具进行编辑;若使用vi编辑,使用w!保存。
授权命令格式如下:
user MACHINE=COMMANDS
包括用户(user)、主机(MACHINE)、命令三部分。
1)用户(user):授权的用户名,或采用“%组名”的形式授权一个组
2)主机(MACHINE):使用此配置文件的主机名,一般设为localhost
3)命令(COMMANDS):允许授权用户通过sudo方式执行的特权命令,需要填写命令程序的完整路径,多个命令之间以逗号“,”进行分隔。
配置举例
授权用户tom1能够执行ifconfig命令来修改IP地址。
visudo
tom1 localhost=/sbin/ifconfig
保存退出
部分配置文件如下:


sudo ifconfig ens33:0 192.168.2.20/24
/sbin/ifconfog ens33:0 ##可查看网卡ip地址

在当前会话中,第一次用过sudo执行命令时,必须验证用户自己的密码,5分钟间隔内不用再次验证。
sudo -l
可以查看授权的设置

三、PAM安全认证

1.PAM认证模块介绍

PAM认证模块,叫做可插拔式的认证模块。一项重要的功能就是为了加强su命令的使用控制,可以借助于PAM认证模块,只允许极个别用户使用su命令进行切换。PAM提供了对所有服务进行认证的中央机制,适用于login,远程登录(telnet,rlogin,fsh,ftp),su等应用程序中,系统管理员通过PAM配置文件来制定不同应用程序的不同认证策略。
PAM认证首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib/security下)进行安全认证。用户访问服务器的时候,服务器某一个服务程序把用户的请求发送到PAM模块进行认证,不用的应用程序对应的PAM模块也是不同的。

2.PAM认证用法

例如查看su的PAM配置文件:cat /etc/pam.d/su 每一行都是一个独立的认证过程,每一行可以区分为三个字段:1)认证类型 2)控制类型 3)PAM模块及其参数。

下面简单的介绍四种常见认证类型:
  (1)认证管理(authentication management)接受用户名和密码,进而对该用户的密码进行认证
  (2)账户管理(account management)检查账户是否被允许登录系统,账号是否已经过期,账号的登录是否有时间段的限制等
  (3)密码管理(password management)主要是用来修改用户的密码
  (4)会话管理(session management)主要是提供对会话的管理和记账(accounting)
那么控制类型也可以称做Control Flags,用于PAM验证类型的返回结果,具体有以下四种:
  (1)required验证失败时仍然继续验证,但返回Fail
  (2)requisite验证失败则立即结束整个验证过程,返回Fail
  (3)sufficient验证成功则立即返回,不再继续,否则忽略结果并继续
(4)optional不用于验证,只是显示信息(通常用于session类型)

3.PAM验证流程

当发起一个有PAM认知的服务请求后,对请求服务的用户身份和密码进行认证,认证失败则结束,认证成功继续向下验证;向下进行权限认证,验证成功程序执行后续动作,失败则结束。

四、系统引导和登录控制

1.开关机安全控制

在开关机方面,系统本身要做一些安全措施,去保护服务器的安全。
(1)调整BIOS引导设置
将第一优先引导设备(First Boot Device)设为当前系统所在磁盘
禁止从其他设备(如光盘、U盘、网络等)引导系统,对应项设为Disabled
将BIOS的安全级别改为“set up”,并设置好管理密码,以防为授权的修改

(2)禁止Ctrl+Alt+del键重启

2.限制更改GRUB引导参数

GRUB引导菜单可以对系统问题进行修复、修改,但如果谁都可以去修改的话,就会造成很大的安全隐患,所以我们应该对GRUB菜单设置一个密码。其实在centos7中基本上使用急救模式去对系统进行修复。
grub2 -setpassword ##设置密码
输入密码
cat /boot/grub2/user.cfg ##查看密码,有那一大推的字母就是了
reboot ##重启

重启按E,一定要把鼠标点进虚拟机再按E


按ctrl+c可进入到grub界面

3.终端及登录控制

Linux服务器中,默认开启6个tty终端,可以使用Ctrl+Alt+Fn允许任何用户进行本地登录。(1)减少开放的tty终端
(2)禁止root用户登录
vi /etc/securetty
#tty5
#tty6
这样tty5 6就不可以root用户登录了

(3)禁止普通用户登录
当服务器在维护使,可能不希望有其他用户登录,只需要建立/etc/nologin文件,如果这个文件存在就会拒绝普通用户的登录
touch /etc/nologin
我们登tom2账号时,便不能登录

五、弱口令扫描、端口扫描

1.弱口令扫描

对于简单的口令可以使用John the Ripper来破解,此工具为穷举破解,取决于字典内容。
(1)下载安装John the Ripper密码破解
下载安装包使用ftp传到虚拟机中/opt下,解压
yum install -y gcc gcc-c++
cd /opt
tar zxvf john-1.8.0.tar.gz /opt
cd src
make linux-x86-64 ##编译,完成后在run运行目录下就会有john可执行脚本文件,就可以使用这就文件来破解密码了
cp /etc/shadow /root/shadow.txt
cd /opt/john-1.8.0/run
./john /root/shadow.txt ##破解密码,破解文件为/root/shadow
等待破解完成

(2)查看破解的密码
/opt/john-1.8.0/run/john --show /root/shadow.txt

(3)使用密码字典文件

2.网络扫描–NMAP

nmap工具可以探测对方存活状态和端口服务
探测本地对外开启的端口
nmap 127.0.0.1

探测主机状态
nmap -sP 20.0.0.0/24 ##-sP 是ICMP扫描,类似ping检查,查看主机是否存活

探测TCP协议端口
nmap -sT 127.0.0.1 ##-sT是TCP端口协议扫描

nmap -sU 127.0.0.1 ##-sU 是UDP端口协议扫描

系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)相关推荐

  1. lqc_更新系统+弱口令扫描+nmap

    实验四:更新系统+弱口令扫描+nmap 1.添加yum及更新系统 a.更新设置:(必须先安装好三个yum源) echo "0 3 * * 6 yum -y update" > ...

  2. 弱口令扫描工具mysql ftp_基于端口的弱口令检测工具--iscan

    iscan: 基于端口的弱口令检测工具 亲手打造了一款基于端口的弱口令检测工具,使用python进行编写,主要可以用于渗透测试中常见服务端口弱口令的检测.目前支持以下服务: 系统弱口令:ftp.ssh ...

  3. 局域网弱口令扫描工具_漏洞扫描软件AWVS的介绍和使用

    什么是AWVS? Acunetix Web Vulnerability Scanner(AWVS)是用于测试和管理Web应用程序安全性的平台,能够自动扫描互联网或者本地局域网任何网站中是否存在漏洞,并 ...

  4. 打造自己的弱口令扫描工具

    在内网检测中,弱口令扫描是必不可少的环节,选择一个好用的弱口令扫描工具,尤为重要. 我曾写过一款弱口令检测工具,经常有童鞋在后台询问关于iscan源代码的事情,但其实通过Python打造自己的弱口令扫 ...

  5. 弱口令介绍及破解方式

    一.弱口令的定义 仅包含简单数字和字母的口令,例如"123"."abc"等,因为这样的口令很容易被别人破解,从而使用户的计算机面临风险,因此不推荐用户使用. 二 ...

  6. 实验任务(三)---密码破解技术

    中国人民公安大学 Chinese people' public security university 网络对抗技术 实验报告   实验三 密码破解技术     学生姓名 陈秋雨 年级 2015 区队 ...

  7. 〖教程〗NbtScan 139端口弱口令/Netbios密码爆破

    版本 Ladon >= 7.1 139端口 NetBIOS File and Print Sharing 通过这个端口进入的连接试图获得NetBIOS/SMB服务.这个协议被用于Windows& ...

  8. 弱口令扫描、暴力破解密码

    1使用场景 在internet环境中,过于简单的口令时服务器面临的最大风险.尽管大家都知道复杂的口令更安全,但仍然有很多用户贪图方便而采用简单的口令.对于任何一个承担安全责任的管理员,及时找出这些弱口 ...

  9. 局域网弱口令扫描工具_安全测试技术 | 渗透测试获取弱口令密码,你的账号安全了吗?...

    1.Burp suite官网下载 Burp Suite 是用于攻击web 应用程序的集成平台.它包含了许多Burp工具,这些不同的burp工具通过协同工作,有效的分享信息,支持以某种工具中的信息为基础 ...

最新文章

  1. Linux下使用ssh密钥实现无交互备份
  2. Linux移植之auto.conf、autoconf.h、Mach-types.h的生成过程简析
  3. 莫斯科保卫战之PHP-502 Bad Gateway
  4. python—unittest—数据驱动详细讲解(ddt)
  5. 缓存redis的实现思路
  6. 蒙提霍尔悖论(三门问题)终极分析(补充)附完整源码
  7. spring 注解方式配置Bean
  8. js中判断值不等于undefined
  9. 这40张图送给单身程序员,情人节请一笑而过!
  10. linux下tcpdump的使用简介
  11. OPPO Reno 3 Pro细节流出:同价位最轻薄的双模5G手机
  12. vue store的值刷新就被覆盖解决方案
  13. worker进程和task进程区别_swoole中使用task进程异步的处理耗时任务
  14. 怎么样更好的做好站内的优化
  15. 【Android进阶】使用Andbase快速开发框架实现常见侧滑栏和滑动标签页组合效果...
  16. pygame安装教程(window)
  17. Android Binder机制介绍
  18. 【fiddler手机抓包不能上网问题解决】
  19. 【Unity实战100例】技能伤害区域判定(矩形,圆,三角形,扇形)(三)
  20. word论文页码排版

热门文章

  1. 技能终将过时,而能力与时俱进
  2. TI培训——电子电路基础知识讲座(第三章上)
  3. Codeforces Round #693 (Div. 3)部分题解
  4. Web安全 -- 信息收集(上)
  5. 【Android】高德地图在Debug模式下运行正常但是打Release包时则闪退解决办法
  6. LAYUI 数据表格table 监听switch/checkbox事件
  7. 7-1 求1到N的和 (5 分)
  8. python-清华大学镜像源
  9. 软件测试周度目标,部门周度工作计划表(新)-
  10. Active-Directory-Security-101 手册