3Years - TotoroLMva 浪迹在上海的信息安全大学狗 我信仰的是信仰

分类 自动工具 下的文章

03月 08

Linux使用Audit审计系统配置手册

1.版本说明
本配置需要在被采集日志的服务器上安装Audit软件包,并进行程序配置。使用的软件与版本是audit-2.8.4。

2.安装Audit
使用root用户执行如下安装命令:

yum install audit

安装完成后,/etc/audit目录下会生成如下文件或目录:

auditd.conf  audit.rules  audit.rules.prev  audit-stop.rules  rules.d
[root@idss13 audit]# pwd 
/etc/audit  
[root@idss13 audit]# ls
auditd.conf  audit.rules  audit.rules.prev  audit-stop.rules  rules.d
[root@idss13 audit]# cd rules.d/ 
[root@idss13 rules.d]# ls  
audit.rules

/etc/audit/audit.rules文件是在auditd服务启动之后,由/etc/audit/rules.d/audit.rules文件内容生成的副本。

3.配置 Auditd服务
审核守护程序可以在 /etc/audit/auditd.conf 配置文件中进行配置。这个文件包括修改审核守护进程特性的配置参数。紧跟 # 字符(#)的任何空行或者文本都被忽略。
/etc/audit/auditd.conf配置文件的样例如下:

[root@idss13 audit]# vim auditd.conf 
#
# This file controls the configuration of the audit daemon
#

local_events = yes
write_logs = yes

#日志文件保存的路径
log_file = /var/log/audit/audit.log

#指定应用于日志文件权限的组。默认为root。
log_group = root

#描述了如何将信息存储在磁盘上。有两个选项:raw和nolog
log_format = RAW

#多长时间向日志文件中写一次数据。值可以是NONE、INCREMENTAL、DATA和SYNC之一
flush = INCREMENTAL_ASYNC

#如果flush设置为INCREMETNAL,审计守护进程在写到日志文件中前从内核中接收的记录数
freq = 50

#以兆字节表示的最大日志文件容量。当达到这个容量时,会执行max_log_file _action指定的动作
max_log_file = 8

#max_log_file_action设置为ROTATE时要保存的日志文件数目。必须是0~99之间的数。如果设置为小于2,则不会循环日志。如果递增了日志文件的数目,就可能有必要递增/etc/audit/audit.rules中的内核backlog设置值,以便留出日志循环的时间。如果没有设置num_logs值,它就默认为0,意味着从来不循环日志文件
num_logs = 5

#这是一个非负数,告诉审计守护进程应该采取多少优先级提升。默认值为4,0表示没有变化
priority_boost = 4

#控制调度程序与审计守护进程之间的通信类型。有效值为lossy和lossless。如果设置为lossy,若审计守护进程与调度程序之间的缓冲区已满(缓冲区为128千字节),则发送给调度程序的引入事件会被丢弃。然而,只要log_format没有设置为nolog,事件就仍然会写到磁盘中。如果设置为lossless,则在向调度程序发送事件之前和将日志写到磁盘之前,调度程序会等待缓冲区有足够的空间
disp_qos = lossy

#当启动这个守护进程时,由审计守护进程自动启动程序。
dispatcher = /sbin/audispd

name_format = NONE
##name = mydomain

#当达到max_log_file的日志文件大小时采取的动作。值必须是IGNORE、SYSLOG、SUSPEND、ROTATE和KEEP_LOGS之一。如果设置为IGNORE,则在日志文件达到max_log_file后不采取动作。如果设置为SYSLOG,则当达到文件容量时会向系统日志/var/log/messages中写入一条警告。如果设置为SUSPEND,则当达到文件容量后不会向日志文件写入审计消息。如果设置为ROTATE,则当达到指定文件容量后会循环日志文件,但是只会保存一定数目的老文件,这个数目由num_logs参数指定。老文件的文件名将为audit.log.N,其中N是一个数字。这个数字越大,则文件越老。如果设置为KEEP_LOGS,则会循环日志文件,但是会忽略num_logs参数,因此不会删除日志文件
max_log_file_action = ROTATE

#以兆字节表示的磁盘空间数量。当达到这个水平时,会采取space_left_action参数中的动作
space_left = 75

#当磁盘空间量达到space_left中的值时,采取这个动作。有效值为IGNORE、SYSLOG、EMAIL、SUSPEND、SINGLE和HALT。如果设置为IGNORE,则不采取动作。如果设置为SYSLOG,则向系统日志/var/log/messages写一条警告消息。如果设置为EMAIL,则从action_mail_acct向这个地址发送一封电子邮件,并向/var/log/messages中写一条警告消息。如果设置为SUSPEND,则不再向审计日志文件中写警告消息。如果设置为SINGLE,则系统将在单用户模式下。如果设置为SALT,则系统会关闭
space_left_action = SYSLOG

#是否验证电子邮件地址
verify_email = yes

#负责维护审计守护进程和日志的管理员的电子邮件地址。如果地址没有主机名,则假定主机名为本地地址,比如root。必须安装sendmail并配置为向指定电子邮件地址发送电子邮件
action_mail_acct = root

#以兆字节表示的磁盘空间数量。用这个选项设置比space_left_action更多的主动性动作,以防万一space_left_action没有让管理员释放任何磁盘空间。这个值应小于space_left_action。如果达到这个水平,则会采取admin_space_left_ action所指定的动作
admin_space_left = 50

#当自由磁盘空间量达到admin_space_left指定的值时,则采取动作。有效值为IGNORE、SYSLOG、EMAIL、SUSPEND、SINGLE和HALT
admin_space_left_action = SUSPEND

#如果含有这个审计文件的分区已满,则采取这个动作。可能值为IGNORE、SYSLOG、SUSPEND、SINGLE和HALT
disk_full_action = SUSPEND

#如果在写审计日志或循环日志文件时检测到错误时采取的动作。值必须是IGNORE、SYSLOG、SUSPEND、SINGLE和HALT之一
disk_error_action = SUSPEND

use_libwrap = yes
##tcp_listen_port = 60
tcp_listen_queue = 5
tcp_max_per_addr = 1
##tcp_client_ports = 1024-65535
tcp_client_max_idle = 0
enable_krb5 = no
krb5_principal = auditd
##krb5_key_file = /etc/audit/audit.key
distribute_network = no

4.定义审核规则
审核系统根据一组规则运行,这组规则定义了日志文件中所获取的内容。有三种类型的审核规则可以详细说明:

  1. 控制规则 — 允许审核系统的行为和它的一些被修改的配置。
  2. 文件系统规则 — 也被称为文件监视,允许审核进入特定文件或者目录。
  3. 系统调用规则 — 允许记录任何指定程序所做的系统调用。
  4. 审核规则可以在命令行上使用 auditctl实用程序进行详细说明(请注意这些规则并不是在重新启动时一直有效),或者写在/etc/audit/audit.rules文件中。以下两个部分总结了定义审核规则的两个方法。

a.使用 auditctl 实用程序来定义审核规则
注意:所有与审核服务交互的命令以及审核日志文件都需要 root 特权。作为 root 用户确保您执行这些命令。

auditctl 命令允许您控制审核系统的基本功能并且限定规则来决定哪些审核项目要记录。

定义控制规则:

以下是一些控制规则允许您修改审核系统的行为:
-b
在 Kernel 中设定最大数量的已存在的审核缓冲区,例如:

# auditctl -b 8192

-f
当追踪重要错误时设定所要完成的行动,例如:

# auditctl -f 2

以上配置触发 kernel 恐慌以防重要错误。

-e
启动或者禁用审核系统或者锁定它的配置,例如:

# auditctl -e 2

以上命令锁定审核配置。

-r
设定每秒生成信息的速率,例如:

# auditctl -r 0

以上配置在生成信息方面不设定限制速率。

-s
报告审核系统状态,例如:

# auditctl -s

AUDIT_STATUS: enabled=1 flag=2 pid=0 rate_limit=0 backlog_limit=8192 lost=259 backlog=0

-l
列出所有当前装载的审核规则,例如:

# auditctl -l
LIST_RULES: exit,always watch=/etc/localtime perm=wa key=time-change
LIST_RULES: exit,always watch=/etc/group perm=wa key=identity
LIST_RULES: exit,always watch=/etc/passwd perm=wa key=identity
LIST_RULES: exit,always watch=/etc/gshadow perm=wa key=identity

-D
删除所有当前装载的审核规则,例如:

# auditctl -D
No rules

定义文件系统规则:

定义文件系统规则,使用以下语法:

auditctl -w path_to_file -p permissions -k key_name

其中:
path_to_file 是审核过的文件或者目录:
permissions 是被记录的权限:
r — 读取文件或者目录。
w — 写入文件或者目录。
x — 运行文件或者目录。
a — 改变在文件或者目录中的属性。
key_name 是可选字符串,可帮助您判定哪个规则或者哪组规则生成特定的日志项。

定义系统调用规则:

为了定义系统调用规则,使用以下语法:

auditctl -a action,filter -S system_call -F 输入栏=value -k key_name

其中:

action 以及 filter 详细说明某个事件何时被记录。 action 可能是always(经常是)或者never(从不是)其中之一。 filter 详细说明哪个 Kernel规则匹配过滤器应用在事件中。以下是其中之一的与规则匹配的过滤器: task、exit、user 以及 exclude。

system_call 通过它的名字详细说明系统调用。所有的系统调用都可以在/usr/include/asm/unistd_64.h 文件中找到。许多系统调用都能形成一个规则,每个都在 -S 选项之后详细说明。

field=value 详细说明其他选项,进一步修改规则来与以特定架构、组 ID、进程 ID和其他内容为基础的事件相匹配。为了列出完整可用的输入栏类型和它们的数值,请参考 auditctl(8) 手册页。

key_name 是可选字符串,可帮助您判定哪个规则或者哪组规则生成特定的日志项。

b.在 /etc/audit/audit.rules 文件中定义持久的审核规则和控制
为了定义在重新启动时可以一直有效的审核规则,您必须把它们包含在 /etc/audit/audit.rules 文件中。这个文件使用相同的 auditctl 命令行语法来详细说明规则。任何在 # 之后的空行或者文本(#)可以忽略。

auditctl 指令可以被用来读取来自指定文件的规则,使用 -R 选项,例如:

# auditctl -R /usr/share/doc/audit-2.8.4/30-stig.rules

定义控制规则:

文件可以只包括以下的控制规则,修改审核系统的行为: -b、-D、-e、-f、或者 -r。
例如:在 audit.rules中控制规则:

# Delete all previous rules
-D

# Set buffer size
-b 8192

# Make the configuration immutable -- reboot is required to change audit rules
-e 2

# Panic when a failure occurs
-f 2

# Generate at most 100 audit messages per second
-r 100

定义文件系统和系统调用规则:

使用 auditctl 语法定义文件系统和系统调用原则。
例如,在 audit.rules 中的文件系统和系统调用规则:

-w /etc/passwd -p wa -k passwd_changes
-w /etc/selinux/ -p wa -k selinux_changes
-w /sbin/insmod -p x -k module_insertion

-a always,exit -F arch=b64 -S adjtimex -S settimeofday -k time_change
-a always,exit -S unlink -S unlinkat -S rename -S renameat -F auid>=500 -F auid!=4294967295 -k delete

预配置规则文件:

在 /usr/share/doc/audit-version/ 目录中, 根据不同的认证标准 audit 软件包提供一组预配置规则文件:

nispom.rules — 审核规则配置符合《国家行业安全程序操作运行指南》的第八章中详细说明的要求。
capp.rules — 审核规则配置满足由 CAPP 设定的要求,是公共标准认定的一部分。
lspp.rules —审核规则配置满足由 LSPP 设定的要求是公共标准认定的一部分。
stig.rules — 审核规则配置满足由 STIG 所设定的要求。

为了使用这些配置文件,需要创造您原始文件的备份 /etc/audit/audit.rules 并且复制您所选择的有关 /etc/audit/audit.rules 文件的配置文件:

# cp /etc/audit/audit.rules /etc/audit/audit.rules_backup
# cp /usr/share/doc/audit-version/stig.rules /etc/audit/audit.rules

5.启动Audit服务
一旦 auditd 进行适当配置,就可以开始服务来收集审核信息,并在日志文件中储存。作为 root 用户来开始执行以下指令 auditd:

# service auditd start

您可以可选择性地配置 auditd,作为 root 用户在启动事件开始使用以下指令:

# chkconfig auditd on

在 auditd上可以执行一些其他的行动, 使用 service auditd action 命令,action 可能是以下其中之一:

stop — 停止 auditd。
restart — 重启auditd。
reload 或者 force-reload — 重新加载 auditd 在 /etc/audit/auditd.conf 文件中的配置。
rotate — 在 /var/log/audit/ 目录中旋转日志文件。
resume — 在推迟审核事件日志之后重新开始,例如存在没有足够的磁盘分区空间来保存审核日志文件情况。
condrestart 或者 try-restart — 只有当它已经在运行时,重启 auditd 。
status — 显示运行状态 auditd。

  1. Audit审计规则文件

下载地址

7.注意事项
在配置完审计规则之后,使用如下命令查看规则是否已经加载:

auditctl -l

如果规则是指定了某个规则文件的,则需要注意执行如下加载命令的时候,是否有报错:

auditctl -R /规则文件的路径
11月 01

Redis未授权漏洞测试工具

1、安装Redis
2、编辑/etc/redis.conf

vim /etc/redis.conf

2.1、去掉ip绑定,允许除本地外的主机远程登录redis服务
去掉ip绑定,允许除本地外的主机远程登录redis服务:

2.2、关闭保护模式,允许远程连接redis服务:
关闭保护模式,允许远程连接redis服务:

redis-cli -h XXX.XXX.XXX.XXX 
05月 28

Google语法搜索漏洞

1目录遍历漏洞

语法为: site:jiebao8.top intitle:index.of

2 配置文件泄露

语法为: site:jiebao8.top ext:xml | ext:conf | ext:cnf | ext:reg | ext:inf | ext:rdp | ext:cfg | ext:txt | ext:ora | ext:ini

3数据库文件泄露

site:jiebao8.top ext:sql | ext:dbf | ext:mdb

4日志文件泄露

site:jiebao8.top ext:log

5备份和历史文件

site:jiebao8.top ext:bkf | ext:bkp | ext:bak | ext:old | ext:backup

6 SQL错误

site:jiebao8.top intext:”sql syntax near” | intext:”syntax error has occurred” | intext:”incorrect syntax near” | intext:”unexpected end of SQL command” | intext:”Warning: mysql_connect()” | intext:”Warning: mysql_query()” | intext:”Warning: pg_connect()”

7 公开文件信息

site:jiebao8.top ext:doc | ext:docx | ext:odt | ext:pdf | ext:rtf | ext:sxw | ext:psw | ext:ppt | ext:pptx | ext:pps | ext:csv

8 phpinfo() site:jiebao8.top ext:php intitle:phpinfo “published by the PHP Group”

05月 17

大牛总结的Linux提权Exp合集

项目下载地址:https://github.com/SecWiki/linux-kernel-exploits




#CVE  #Description  #Kernels
 
CVE-2017-1000367  [Sudo]
(Sudo 1.8.6p7 - 1.8.20)
 
CVE-2017-7494  [Samba Remote execution]
(Samba 3.5.0-4.6.4/4.5.10/4.4.14)
 
CVE-2016-5195  [Dirty cow]
(Linux kernel>2.6.22 (released in 2007))
 
CVE-2016-0728  [pp_key]
(3.8.0, 3.8.1, 3.8.2, 3.8.3, 3.8.4, 3.8.5, 3.8.6, 3.8.7, 3.8.8, 3.8.9, 3.9, 3.10, 3.11, 3.12, 3.13, 3.4.0, 3.5.0, 3.6.0, 3.7.0, 3.8.0, 3.8.5, 3.8.6, 3.8.9, 3.9.0, 3.9.6, 3.10.0, 3.10.6, 3.11.0, 3.12.0, 3.13.0, 3.13.1)
 
CVE-2015-7547  [glibc getaddrinfo]
(before Glibc 2.9)
 
CVE-2015-1328  [overlayfs]
(3.13, 3.16.0, 3.19.0)
 
CVE-2014-5284  [OSSEC]
(2.8)
 
CVE-2014-4699  [ptrace]
(before 3.15.4)
 
CVE-2014-4014  [Local Privilege Escalation]
(before 3.14.8)
 
CVE-2014-3153  [futex]
(3.3.5 ,3.3.4 ,3.3.2 ,3.2.13 ,3.2.9 ,3.2.1 ,3.1.8 ,3.0.5 ,3.0.4 ,3.0.2 ,3.0.1 ,2.6.39 ,2.6.38 ,2.6.37 ,2.6.35 ,2.6.34 ,2.6.33 ,2.6.32 ,2.6.9 ,2.6.8 ,2.6.7 ,2.6.6 ,2.6.5 ,2.6.4 ,3.2.2 ,3.0.18 ,3.0 ,2.6.8.1)
 
CVE-2014-0196  [rawmodePTY]
(2.6.31, 2.6.32, 2.6.33, 2.6.34, 2.6.35, 2.6.36, 2.6.37, 2.6.38, 2.6.39, 3.14, 3.15)
 
CVE-2014-0038  [timeoutpwn]
(3.4, 3.5, 3.6, 3.7, 3.8, 3.8.9, 3.9, 3.10, 3.11, 3.12, 3.13, 3.4.0, 3.5.0, 3.6.0, 3.7.0, 3.8.0, 3.8.5, 3.8.6, 3.8.9, 3.9.0, 3.9.6, 3.10.0, 3.10.6, 3.11.0, 3.12.0, 3.13.0, 3.13.1)
 
CVE-2013-2094  [perf_swevent]
(3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.0.4, 3.0.5, 3.0.6, 3.1.0, 3.2, 3.3, 3.4.0, 3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.5, 3.4.6, 3.4.8, 3.4.9, 3.5, 3.6, 3.7, 3.8.0, 3.8.1, 3.8.2, 3.8.3, 3.8.4, 3.8.5, 3.8.6, 3.8.7, 3.8.8, 3.8.9)
 
CVE-2013-0268  [msr]
(2.6.18, 2.6.19, 2.6.20, 2.6.21, 2.6.22, 2.6.23, 2.6.24, 2.6.25, 2.6.26, 2.6.27, 2.6.27, 2.6.28, 2.6.29, 2.6.30, 2.6.31, 2.6.32, 2.6.33, 2.6.34, 2.6.35, 2.6.36, 2.6.37, 2.6.38, 2.6.39, 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.0.4, 3.0.5, 3.0.6, 3.1.0, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7.0, 3.7.6)
 
CVE-2012-3524  [libdbus]
(libdbus 1.5.x and earlier)
 
CVE-2012-0056  [memodipper]
(2.6.39, 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.0.4, 3.0.5, 3.0.6, 3.1.0)
 
CVE-2010-4347  [american-sign-language]
(   2.6.0, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9, 2.6.10, 2.6.11, 2.6.12, 2.6.13, 2.6.14, 2.6.15, 2.6.16, 2.6.17, 2.6.18, 2.6.19, 2.6.20, 2.6.21, 2.6.22, 2.6.23, 2.6.24, 2.6.25, 2.6.26, 2.6.27, 2.6.28, 2.6.29, 2.6.30, 2.6.31, 2.6.32, 2.6.33, 2.6.34, 2.6.35, 2.6.36)
 
CVE-2010-4258  [full-nelson]
(2.6.31, 2.6.32, 2.6.35, 2.6.37)
 
CVE-2010-4073  [half_nelson]
(2.6.0, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9, 2.6.10, 2.6.11, 2.6.12, 2.6.13, 2.6.14, 2.6.15, 2.6.16, 2.6.17, 2.6.18, 2.6.19, 2.6.20, 2.6.21, 2.6.22, 2.6.23, 2.6.24, 2.6.25, 2.6.26, 2.6.27, 2.6.28, 2.6.29, 2.6.30, 2.6.31, 2.6.32, 2.6.33, 2.6.34, 2.6.35, 2.6.36)
 
CVE-2010-3904  [rds]
(2.6.30, 2.6.31, 2.6.32, 2.6.33, 2.6.34, 2.6.35, 2.6.36)
 
CVE-2010-3437  [pktcdvd]
(2.6.0, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9, 2.6.10, 2.6.11, 2.6.12, 2.6.13, 2.6.14, 2.6.15, 2.6.16, 2.6.17, 2.6.18, 2.6.19, 2.6.20, 2.6.21, 2.6.22, 2.6.23, 2.6.24, 2.6.25, 2.6.26, 2.6.27, 2.6.28, 2.6.29, 2.6.30, 2.6.31, 2.6.32, 2.6.33, 2.6.34, 2.6.35, 2.6.36)
 
CVE-2010-3301  [ptrace_kmod2]
(2.6.26, 2.6.27, 2.6.28, 2.6.29, 2.6.30, 2.6.31, 2.6.32, 2.6.33, 2.6.34)
 
CVE-2010-3081  [video4linux]
(2.6.0, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9, 2.6.10, 2.6.11, 2.6.12, 2.6.13, 2.6.14, 2.6.15, 2.6.16, 2.6.17, 2.6.18, 2.6.19, 2.6.20, 2.6.21, 2.6.22, 2.6.23, 2.6.24, 2.6.25, 2.6.26, 2.6.27, 2.6.28, 2.6.29, 2.6.30, 2.6.31, 2.6.32, 2.6.33)
 
CVE-2010-2959  [can_bcm]
(2.6.18, 2.6.19, 2.6.20, 2.6.21, 2.6.22, 2.6.23, 2.6.24, 2.6.25, 2.6.26, 2.6.27, 2.6.28, 2.6.29, 2.6.30, 2.6.31, 2.6.32, 2.6.33, 2.6.34, 2.6.35, 2.6.36)
 
CVE-2010-1146  [reiserfs]
(2.6.18, 2.6.19, 2.6.20, 2.6.21, 2.6.22, 2.6.23, 2.6.24, 2.6.25, 2.6.26, 2.6.27, 2.6.28, 2.6.29, 2.6.30, 2.6.31, 2.6.32, 2.6.33, 2.6.34)
 
CVE-2010-0415  [do_pages_move]
(2.6.18, 2.6.19, 2.6.20, 2.6.21, 2.6.22, 2.6.23, 2.6.24, 2.6.25, 2.6.26, 2.6.27, 2.6.28, 2.6.29, 2.6.30, 2.6.31)
 
CVE-2009-3547  [pipe.c_32bit]
(2.4.4, 2.4.5, 2.4.6, 2.4.7, 2.4.8, 2.4.9, 2.4.10, 2.4.11, 2.4.12, 2.4.13, 2.4.14, 2.4.15, 2.4.16, 2.4.17, 2.4.18, 2.4.19, 2.4.20, 2.4.21, 2.4.22, 2.4.23, 2.4.24, 2.4.25, 2.4.26, 2.4.27, 2.4.28, 2.4.29, 2.4.30, 2.4.31, 2.4.32, 2.4.33, 2.4.34, 2.4.35, 2.4.36, 2.4.37, 2.6.15, 2.6.16, 2.6.17, 2.6.18, 2.6.19, 2.6.20, 2.6.21, 2.6.22, 2.6.23, 2.6.24, 2.6.25, 2.6.26, 2.6.27, 2.6.28, 2.6.29, 2.6.30, 2.6.31)
 
CVE-2009-2698  [udp_sendmsg_32bit]
(2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9, 2.6.10, 2.6.11, 2.6.12, 2.6.13, 2.6.14, 2.6.15, 2.6.16, 2.6.17, 2.6.18, 2.6.19)
 
CVE-2009-2692  [sock_sendpage]
(2.4.4, 2.4.5, 2.4.6, 2.4.7, 2.4.8, 2.4.9, 2.4.10, 2.4.11, 2.4.12, 2.4.13, 2.4.14, 2.4.15, 2.4.16, 2.4.17, 2.4.18, 2.4.19, 2.4.20, 2.4.21, 2.4.22, 2.4.23, 2.4.24, 2.4.25, 2.4.26, 2.4.27, 2.4.28, 2.4.29, 2.4.30, 2.4.31, 2.4.32, 2.4.33, 2.4.34, 2.4.35, 2.4.36, 2.4.37, 2.6.0, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9, 2.6.10, 2.6.11, 2.6.12, 2.6.13, 2.6.14, 2.6.15, 2.6.16, 2.6.17, 2.6.18, 2.6.19, 2.6.20, 2.6.21, 2.6.22, 2.6.23, 2.6.24, 2.6.25, 2.6.26, 2.6.27, 2.6.28, 2.6.29, 2.6.30)
 
CVE-2009-2692  [sock_sendpage2]
(2.4.4, 2.4.5, 2.4.6, 2.4.7, 2.4.8, 2.4.9, 2.4.10, 2.4.11, 2.4.12, 2.4.13, 2.4.14, 2.4.15, 2.4.16, 2.4.17, 2.4.18, 2.4.19, 2.4.20, 2.4.21, 2.4.22, 2.4.23, 2.4.24, 2.4.25, 2.4.26, 2.4.27, 2.4.28, 2.4.29, 2.4.30, 2.4.31, 2.4.32, 2.4.33, 2.4.34, 2.4.35, 2.4.36, 2.4.37, 2.6.0, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9, 2.6.10, 2.6.11, 2.6.12, 2.6.13, 2.6.14, 2.6.15, 2.6.16, 2.6.17, 2.6.18, 2.6.19, 2.6.20, 2.6.21, 2.6.22, 2.6.23, 2.6.24, 2.6.25, 2.6.26, 2.6.27, 2.6.28, 2.6.29, 2.6.30)
 
CVE-2009-1337  [exit_notify]
(2.6.25, 2.6.26, 2.6.27, 2.6.28, 2.6.29)
 
CVE-2009-1185  [udev]
(2.6.25, 2.6.26, 2.6.27, 2.6.28, 2.6.29)
 
CVE-2008-4210  [ftrex]
(2.6.11, 2.6.12, 2.6.13, 2.6.14, 2.6.15, 2.6.16, 2.6.17, 2.6.18, 2.6.19, 2.6.20, 2.6.21, 2.6.22)
 
CVE-2008-0600  [vmsplice2]
(2.6.23, 2.6.24)
 
CVE-2008-0600  [vmsplice1]
(2.6.17, 2.6.18, 2.6.19, 2.6.20, 2.6.21, 2.6.22, 2.6.23, 2.6.24, 2.6.24.1)
 
CVE-2006-3626  [h00lyshit]
(2.6.8, 2.6.10, 2.6.11, 2.6.12, 2.6.13, 2.6.14, 2.6.15, 2.6.16)
 
CVE-2006-2451  [raptor_prctl]
(2.6.13, 2.6.14, 2.6.15, 2.6.16, 2.6.17)
 
CVE-2005-0736  [krad3]
(2.6.5, 2.6.7, 2.6.8, 2.6.9, 2.6.10, 2.6.11)
 
CVE-2004-1235  [elflbl]
(2.4.29)
 
CVE-N/A  [caps_to_root]
(2.6.34, 2.6.35, 2.6.36)
 
CVE-2004-0077  [mremap_pte]
(2.4.20, 2.2.24, 2.4.25, 2.4.26, 2.4.27)
12月 26

RHCSA题目

RHCSA 7

考试注意事项

1、考试分为上午RHCSA考试,下午RHCE考试 2、考试时间上午2.5小时,下午3.5个小时
3、总分都是300分,>=210成绩就算通过考试 4、准备签字笔、身份证 5、考试时要填写姓名(拼音)与邮箱,请注意保持一致
6、每人一台物理机,考试都是在虚拟机里面操作。物理机上有各种图标,来用操作虚拟机,比如重启,关机,重置等。
7、考试中如有不清楚请及时与考官联系

注意:

  1. 所有的光盘中的软件包考试的时候会给出
  2. 升级软件包所在目录也会给出
  3. 你可以用真实机来验证虚拟机中的考试实验是否正确完成
  4. 考题中出现的 X,是你宿主机的IP 地址主机位
  5. example.com 域所在的网络是192.168.0.0/24 cracker.com 域所在的网络是172.16.0.0/16,一般在题意中被要求拒绝的网络
  6. RHCSA 部分,在system1 主机上完成。RHCE 部分,在system1 和system2 上完成。考试前是进入不了虚拟机的,需要恢复其root密码,并设置好主机名、IP地址、掩码、网关、DNS服务器等。
  1. 恢复root密码
(1)按e编辑grub菜单 
(2)选择linux16那行,追加rd.break 
(3)ctrl+x引导 
(4)#mount  -o  remount,rw  /sysroot 
(5)#chroot  /sysroot 
(6)#passwd  root 
(8)    #touch  /.autorelabel
(8)#exit
(9)#exit
  1. 配置主机名,ip 地址,网关,DNS。主机名:serverX.example.com, IP:192.168.0.150+X/24,网关:192.168.0.254,DNS:192.168.0.254
    (X 是你的机器号)
hostnamectl  set-hostname  serverX.example.com
vim  /etc/sysconfig/network-scriptcs/ifcfg-eth0

配置为:

BOOTPROTO=none
IPADDR=192.168.0.150+X
NETMASK=255.255.255.
GATEWAY=192.168.0.254
DNS1=192.168.0.254
ONBOOT=yes
systemctl  restart  network 
vim  /etc/resolv.conf
nameserver  192.168.0.254
  1. SElinux 必须运行在Enforcing模式下。
vim  /etc/sysconfig/selinux
SELINUX=enforcing
Reboot
  1. 配置YUM源,使用地址http://classroom.example.com/rhel7/dvd作为默认的源

vim  /etc/yum.repos.d/rhel.repo

配置为:

[packages] 
name = packages
baseurl= http://classroom.example.com/rhel7/dvd
gpgcheck = 0
  1. 调整逻辑卷home的大小为300M,确保这个文件系统的内容仍然完整。注意:分区很少能精确到和要求的大小相同,因此在范围260M到320M之间都是可接受的
df  -hT            //查看到文件系统类型
lvresize  -L  300M  /dev/vgsrv/home
resize2fs  /dev/vgsrv/home        //ext4文件系统
xfs_growfs  /dev/vgsrv/home      //xfs文件系统
  1. 创建下面的用户、组和组成员关系: 名字为adminuser的组,用户natasha,使用adminuser作为附属组,用户harry,也使用adminuser作为附属组,用户sarah,在系统上不能访问可交互的shell,且不是adminuser的成员,natasha,harry,sarah密码都是redhat
groupadd  adminuser 
useradd  -G  adminuser  natasha 
useradd  -G  adminuser  harry 
useradd  -s  /sbin/nologin  sarah 
echo  "redhat" |passwd  --stdin  natasha         //或者用passwd命令改用户密码
echo  "redhat" |passwd  --stdin  harry 
echo  "redhat" |passwd  --stdin  sarah
  1. 复制文件/etc/fstab到/var/tmp/fstab,配置/var/tmp/fstab的权限如下: 文件/var/tmp/fstab所有者是root,文件/var/tmp/fstab属于root组, 文件/var/tmp/fstab不能被任何用户执行,用户natasha可读和可写/var/tmp/fstab,用户harry既不能读也不能写/var/tmp/fstab,所有其他用户(现在和将来)具有读/var/tmp/fstab的能力
cp  /etc/fstab  /var/tmp/ 
ls  -l  /var/tmp/fstab                     //查看文件的权限信息
setfacl  -m  u:natasha:rw  /var/tmp/fstab 
setfacl  -m  u:harry:-  /var/tmp/fstab
  1. 用户natasha必须配置一个cron job ,当地时间每天14:23运行,执行/bin/echo hiya
crontab  -e  -u  natasha 
23  14  *  *  *  /bin/echo  hiya
  1. 创建一个目录/home/admins,使之具体下面的特性:/home/admins所属组为adminuser这个目录对组adminuser的成员具有可读、可写和可执行,但是不是对其他用户。(root可以访问系统上所有的文件和目录)在/home/admins 下创建的任何文件所属组自动设置为adminuser
mkdir  /home/admins 
chgrp  adminuser  /home/admins 
chmod  2770  /home/admins 
ls  -ld  /home/admins                 //查看目录的权限信息
  1. http://classroom.example.com/rhel7/updates 安装合适的内核更新。下面的要求必须满足:更新的内核作为系统启动的默认内核,原来的内核在系统启动的时候仍然有效和可引导
vim  /etc/yum.repos.d/updates.repo

配置为

[updates]
name=updates
baseurl=http://classroom.example.com/rhel7/updates
gpgcheck=0
yum  update  kernel
reboot
  1. 系统classroom.example.com提供了一个LDAP证服务,你的系统应该按下面的要求绑定到这个服务:验证服务的基准DN是dc=example,dc=com,LDAP用于提供账号信息和验证信息链接应该使用位于:http://classroom.example.com/pub/example-ca.crt的证书加密当正确的配置后,IdapuserX可以登录你的系统,但没有家目录直到你完成autofs题目IdapuserX的密码是’password’
# yum  –y  install  sssd  authconfig-gtk  openldap-*  krb5-*
# authconfig-gtk 
 上午考试选择LDAP
 
#  su - ldapuserX
su: warning: cannot change directory to /home/guests/ldapuser1: No such file or directory 
mkdir: cannot create directory '/home/guests': Permission denied 
-bash-4.2$
  1. 配置你的系统使它是classroom.example.com的一个NTP客户
yum  –y  install  chrony 
vim  /etc/chrony.conf 
#server 0.rhel.pool.ntp.org iburst
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
#server 3.rhel.pool.ntp.org iburst
server  classroom.example.com  iburst 
systemctl  restart  chronyd 
systemctl  enable  chronyd 
chronyc  sources  -v
  1. 配置autofs自动挂载LDAP用户的家目录,如下要求: classroom.example.com使用NFS共享了/rhome给你的系统。这个文件系统包含了预先设置好的用户IdapuserX的家目录是classroom.example.com:/rhome/IdapuserX,IdapuserX的家目录应该自动挂载到本地/home/guests,下面的/home/guests/IdapuserX家目录必须对用户具有可写权限IdapuserX的密码是’password’
yum  install  autofs  -y 
vim  /etc/auto.master

配置为:

/home/guests  /etc/auto.misc
vim  /etc/auto.misc
*   -fstype=nfs,rw  192.168.0.254:/rhome/&
(或者写:ldapuser15      -fstype=nfs,rw  192.168.0.254:/rhome/ldapuser15)
systemctl  restart  autofs 
systemctl  enable  autofs 
su  -  ldapuserX
  1. 创建一个用户alex,uid为1234。这个用户的密码为redhat。
useradd  -u  1234  alex 
echo  redhat |passwd  --stdin  alex
  1. 为你的系统上额外添加一个大小为512M的交换分区,这个交换分区在系统启动的时候应该能自动挂载。不要移除和更改你系统上现存的交换分区。
fdisk  /dev/vda
partprobe 
mkswap  /dev/vda5
swapon  /dev/vda5
vim  /etc/fstab
/dev/vda5    swap    swap    defaults    0 0
  1. 找出所有者是natasha的文件,并把他们拷贝到/root/findfiles目录。
mkdir  /root/findfiles 
find  /  -user  natasha  -exec  cp  -rp  {}  /root/findfiles/  \;
  1. 在/usr/share/dict/linux.words中找出所有包含abrot的行。复制所有这些行并按照原来的顺序放在文件/root/grepfile.txt中。/root/grepfile.txt应该没有空白行,所有的行必须是原有行的精确复制。
grep  abrot  /usr/share/dict/linux.words  >  /root/grepfile.txt
  1. 创建名为/root/backupetc.tar.gz的备份文件,其中包含/etc的内容,tar必须使用gzip压缩。 bzip
tar  zcvf  /root/backupetc.tar.gz  /etc    tar jcvf  /root/backupetc.tar.bz2  /etc
  1. 按照下面的要求创建一个新的逻辑卷:逻辑卷命名为database,属于卷组datastore,且大小为20个PE。在卷组datastore的逻辑卷每个PE的大小为16M。使用ext3格式化这个新的逻辑卷.此逻辑卷在系统启动的时候应该能自动挂载到/mnt/database。
fdisk  /dev/vda
partprobe  
pvcreate  /dev/vda6
vgcreate  -s  16M  datastore  /dev/vda6     //如果创建错误,就删除VG:vgremove  /dev/datastore 删除 VG
lvcreate  -n  database  -l  20  datastore
lvdisplay  /dev/datastore/database 
mkfs.ext3  /dev/datastore/database 
mkdir   /mnt/database

vim  /etc/fstab
/dev/datastore/database    /mnt/database    ext3     defaults     0  0
mount   -a
df   -hT