目录
一、基本安全措施
1.系统账号清理
2.密码安全控制
3.命令历史限制
4.终端自动注销
二、切换用户 su 命令
三、提升权限 sudo 命令
1.su 命令的缺点:
2.sudo 命令
四、开关机安全控制
1.调整 BOIS 引导设置
2.禁用重启热键 Ctrl+Alt+Del
3.gurb 菜单限制
五、弱口令检测 JR(Joth the Ripper)
1.JR(Joth the Ripper)简介
2.安装 JR 工具
六、端口检测 NMAP
1.NMAP 简介
2.NMAP 的扫描语法
3.常用的扫描类型
4.常用选项:
(1)将非登录用户的 shell 设为/sbin/nologin
示例:
除了上述三种方法,也可以直接 vi 编辑/etc/passwd 文件进行修改。
(2)锁定长期不使用的账号
示例:
解锁:
除了上述方法,也可以直接 vi 编辑/etc/shadow 文件进行修改。
(3)删除无用的账号
(4)锁定账号文件 /etc/passwd、/etc/shadow
锁定:chattr +i /etc/passwd /etc/shadow
解锁:chattr -i /etc/passwd /etc/shadow
查看:lsattr /etc/passwd /etc/shadow
示例:
注意:锁定后即使是超户,也不能修改该文件,即不能创建、删除、修改用户信息。
(1)设置密码有效期
修改某个已存在用户的密码有效期:
chage -M 天数 用户名 passwd -x 天数 用户名
示例:
设置今后添加用户时的默认密码有效期:
示例:
[root@linuxli ~]# vi /etc/login.defs
(2)要求用户下次登录时修改密码
方法:chage -d 0 用户名
示例:
[root@linuxli ~]# chage -d 0 user1
(1)减少历史的命令条数
vi 编辑/etc/profile 文件,修改“HISTSIZE=”后面的数值
export HISTSIZE=数值
示例:
##vim编辑/etc/profile 文件,修改“HISTSIZE=100”
[root@linuxli ~]# vim /etc/profile
(2)注销时自动清空历史命令
vi 编辑宿主目录下的“.bash_logout”文件,添加“history -c”
示例:
##设置 linuxli 用户注销时自动清空历史命令
[root@linuxli ~]# vi ~linuxli/.bash_logout
vim 编辑/etc/profile 文件,添加“TMOUT=数值”
export TMOUT=数值
示例:
闲置 600 秒后自动注销
方法一:vi 编辑/etc/profile 文件,添加“TMOUT=600”
[root@linux ~]# vim /etc/profile
[root@linuxli ~]# source /etc/profile //使/etc/profile 配置文件生效,此时全局生效
[root@linuxli ~]# export TMOUT=600 仅当前用户环境下生效
1.作用:
切换用户(Substitute User)
2.格式:
su [-] 目标用户 (有“-”初始化环境变量,无“-”环境变量不改变)
3.查看 su 操作记录 安全日志文件:/var/log/secure
在使用 su 命令时,不指定用户名默认切换至 root 用户,需要输入 root 密码,但实际生 产中 root 密码是不可以被广泛告知的。如果需要执行 root 用户才有权限的命令,需要通过 sudo 命令或 wheel 组的设置来实现。
(1)作用:
以其他用户身份(默认 root 身份)执行授权的命令
(2)用法:
sudo 授权命令
默认设置为首次执行时,需输入当前用户的登录密码,5 分钟内再次执行 sudo 命 令时则无需再输入密码。
方法一:添加单个用户的 sudo 授权
visudo 或者 vi /etc/sudoers(效果相同),添加配置内容
格式:用户 主机名列表=命令程序列表,命令前加“!”表示“除了”此命令
示例:
(3)配置 sudo 授权
(4)查看 sudo 操作记录 ·方法:
第一步:
visudo 或者 vi /etc/sudoers 添加“Defaults logfile=/var/log/sudo”
第二步:
cat /var/log/sudo
示例:
启用Defaults logfile配置,给amber用户所有/sbin/以及/usr/sbin下的命令执行 权限,除了关机以及重启。
(5)查询授权操作 sudo -l
示例:
(1)将第一引导设备设为当前系统所在硬盘
(2)禁止其他设备(光盘、U 盘、网络)引导系统
BIOS中可以设置,极个别电脑不支持此功能
(3)将安全级别设为 setup,并设置管理员密码
(1)目的:
避免用户误操作
(2)方法:
删除 /usr/lib/systemd/system/ctrl-alt-del.target
恢复Ctrl+Alt+Del按键重启功能
ln -s /usr/lib/systemd/system/reboot.target /usr/lib/systemd/system/ctrl-alt-del.target
init q 不重启,立即生效配置文件
(1)、备份文件以防配置错误可以恢复
[root@linuxli ~]# cd /etc/grub.d/
[root@linuxli ~]# cp 01_users 01_users.bak
(2)、以明文方式设置grub的密码
在/etc/grub.d/01_users文件中指定超级用户,其中root为超级用户的用户名,PassRoot+123为超级用户root的密码,清空该文件并添加以下几行。(用户名和密码按实际情况设置)
[root@linuxli ~]# vim 01_users
cat << EOF
set superusers="root"
password root 123123
EOF
(3)、重新编译生成grub.cfg文件
[root@linuxli ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
(4)、设置密文密码
使用grub2-mkpasswd-pbkdf2命令创建密文
现在我们可以修改/etc/grub.d/01_users
最后:重新编译生成grub.cfg文件
[root@linuxli ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
##重启验证
(1)tar 包解压
tar xvf john-1.8.0.tar.xz
(2)进到解压后的 src 目录下,执行 make clean
[root@linuxli ~]# cd john-1.8.0/src/
[root@linuxli ~]# make clean linux-x86-64
(3)进到解压后的 run 目录下,执行命令
[root@linuxli ~]# cd ../run/
(4)示例:
字典式暴力破解,可添加内容至字典:
[root@linuxli ~]# vim password.lst
nmap [扫描类型] [选项] <扫描目标>
-sS TCP SYN 扫描(半开)
-sT TCP 链接扫描(全开)
-sF TCP FIN 扫描
-sU UDP 扫描
-sP ICMP 扫描
-s0 跳过ping检测【较少使用】
-n 禁止 DNS 反向解析
-p 指定端口号
1.扫描本机开放了哪些 TCP 端口、UDP 端口
2.检测当前 192.168.0.0/24 网段有哪些主机提供 FTP 服务
3.检测 192.168.0.0/24 网段有哪些存活主机
4.检测 192.168.60.100~254/24 有哪些主机开启了文件共享服务
端口号码 | 名称 | 注释 |
---|---|---|
1 | tcpmux | TCP 端口服务多路复用 |
5 | rje | 远程作业入口 |
7 | echo | Echo 服务 |
9 | discard | 用于连接测试的空服务 |
11 | systat | 用于列举连接了的端口的系统状态 |
13 | daytime | 给请求主机发送日期和时间 |
17 | qotd | 给连接了的主机发送每日格言 |
18 | msp | 消息发送协议 |
19 | chargen | 字符生成服务;发送无止境的字符流 |
20 | ftp-data | FTP 数据端口 |
21 | ftp | 文件传输协议(FTP)端口;有时被文件服务协议(FSP)使用 |
22 | ssh | 安全 Shell(SSH)服务 |
23 | telnet | Telnet 服务 |
25 | smtp | 简单邮件传输协议(SMTP) |
37 | time | 时间协议 |
39 | rlp | 资源定位协议 |
42 | nameserver | 互联网名称服务 |
43 | nicname | WHOIS 目录服务 |
49 | tacacs | 用于基于 TCP/IP 验证和访问的终端访问控制器访问控制系统 |
50 | re-mail-ck | 远程邮件检查协议 |
53 | domain | 域名服务(如 BIND) |
63 | whois++ | WHOIS++,被扩展了的 WHOIS 服务 |
67 | bootps | 引导协议(BOOTP)服务;还被动态主机配置协议(DHCP)服务使用 |
68 | bootpc | Bootstrap(BOOTP)客户;还被动态主机配置协议(DHCP)客户使用 |
69 | tftp | 小文件传输协议(TFTP) |
70 | gopher Gopher | 互联网文档搜寻和检索 |
71 | netrjs-1 | 远程作业服务 |
72 | netrjs-2 | 远程作业服务 |
73 | netrjs-3 | 远程作业服务 |
73 | netrjs-4 | 远程作业服务 |
79 | finger | 用于用户联系信息的 Finger 服务 |
80 | http | 用于万维网(WWW)服务的超文本传输协议(HTTP) |
88 | kerberos | Kerberos 网络验证系统 |
95 | supdup | Telnet 协议扩展 |
101 | hostname | SRI-NIC 机器上的主机名服务 |
102 | iso-tsap | ISO 开发环境(ISODE)网络应用 |
105 | csnet-ns | 邮箱名称服务器;也被 CSO 名称服务器使用 |
107 | rtelnet | 远程 Telnet |
109 | pop2 | 邮局协议版本2 |
110 | pop3 | 邮局协议版本3 |
111 | sunrpc | 用于远程命令执行的远程过程调用(RPC)协议,被网络文件系统(NFS)使用 |
113 | auth | 验证和身份识别协议 |
115 | sftp | 安全文件传输协议(SFTP)服务 |
117 | uucp-path | Unix 到 Unix 复制协议(UUCP)路径服务 |
119 | nntp | 用于 USENET 讨论系统的网络新闻传输协议(NNTP) |
123 | ntp | 网络时间协议(NTP) |
137 | netbios-ns | 在红帽企业 Linux 中被 Samba 使用的 NETBIOS 名称服务 |
138 | netbios-dgm | 在红帽企业 Linux 中被 Samba 使用的 NETBIOS 数据报服务 |
139 | netbios-ssn | 在红帽企业 Linux 中被 Samba 使用的NET BIOS 会话服务 |
143 | imap | 互联网消息存取协议(IMAP) |
161 | snmp | 简单网络管理协议(SNMP) |
162 | snmptrap | SNMP 的陷阱 |
163 | cmip-man | 通用管理信息协议(CMIP) |
164 | cmip-agent | 通用管理信息协议(CMIP) |
174 | mailq | MAILQ |
177 | xdmcp | X 显示管理器控制协议 |
178 | nextstep | NeXTStep 窗口服务器 |
179 | bgp 边界网络协 | |
191 | prospero | Cliffod Neuman 的 Prospero 服务 |
194 | irc | 互联网中继聊天(IRC) |
199 | smux | SNMP UNIX 多路复用 |
201 | at-rtmp | AppleTalk 选路 |
202 | at-nbp | AppleTalk 名称绑定 |
204 | at-echo | AppleTalk echo 服务 |
206 | at-zis | AppleTalk 区块信息 |
209 | qmtp | 快速邮件传输协议(QMTP) |
210 | z39.50 NISO | Z39.50 数据库 |
213 | ipx | 互联网络分组交换协议(IPX),被 Novell Netware 环境常用的数据报协议 |
220 | imap3 | 互联网消息存取协议版本3 |
245 | link | LINK |
347 | fatserv | Fatmen 服务器 |
363 | rsvp_tunnel | RSVP 隧道 |
369 | rpc2portmap | Coda 文件系统端口映射器 |
370 | codaauth2 | Coda 文件系统验证服务 |
372 | ulistproc | UNIX Listserv |
389 | ldap | 轻型目录存取协议(LDAP) |
427 | svrloc | 服务位置协议(SLP) |
434 | mobileip-agent | 可移互联网协议(IP)代理 |
435 | mobilip-mn | 可移互联网协议(IP)管理器 |
443 | https | 安全超文本传输协议(HTTP) |
444 | snpp | 小型网络分页协议 |
445 | microsoft-ds | 通过 TCP/IP 的服务器消息块(SMB) |
464 | kpasswd | Kerberos 口令和钥匙改换服务 |
468 | photuris | Photuris 会话钥匙管理协议 |
487 | saft | 简单不对称文件传输(SAFT)协议 |
488 | gss-http | 用于 HTTP 的通用安全服务(GSS) |
496 | pim-rp-disc | 用于协议独立的多址传播(PIM)服务的会合点发现(RP-DISC) |
500 | isakmp | 互联网安全关联和钥匙管理协议(ISAKMP) |
535 | iiop | 互联网内部对象请求代理协议(IIOP) |
538 | gdomap | GNUstep 分布式对象映射器(GDOMAP) |
546 | dhcpv6-client | 动态主机配置协议(DHCP)版本6客户 |
547 | dhcpv6-server | 动态主机配置协议(DHCP)版本6服务 |
554 | rtsp | 实时流播协议(RTSP) |
563 | nntps | 通过安全套接字层的网络新闻传输协议(NNTPS) |
565 | whoami | whoami |
587 | submission | 邮件消息提交代理(MSA) |
610 | npmp-local | 网络外设管理协议(NPMP)本地 / 分布式排队系统(DQS) |
611 | npmp-gui | 网络外设管理协议(NPMP)GUI / 分布式排队系统(DQS) |
612 | hmmp-ind | HMMP 指示 / DQS |
631 | ipp | 互联网打印协议(IPP) |
636 | ldaps | 通过安全套接字层的轻型目录访问协议(LDAPS) |
674 | acap | 应用程序配置存取协议(ACAP) |
694 | ha-cluster | 用于带有高可用性的群集的心跳服务 |
749 | kerberos-adm | Kerberos 版本5(v5)的“kadmin”数据库管理 |
750 | kerberos-iv | Kerberos 版本4(v4)服务 |
765 | webster | 网络词典 |
767 | phonebook | 网络电话簿 |
873 | rsync | rsync 文件传输服务 |
992 | telnets | 通过安全套接字层的 Telnet(TelnetS) |
993 | imaps | 通过安全套接字层的互联网消息存取协议(IMAPS) |
994 | ircs | 通过安全套接字层的互联网中继聊天(IRCS) |
995 | pop3s | 通过安全套接字层的邮局协议版本3(POPS3) |