RH413-RHEL6.4课程总结
Unit1
Tracking Security Updates
更新分以下三类
RHSA
RHBA
RHEA
yum updateinfo list 查看所有更新
yum updateinfo list --cve=CVE-2013-0755查看某一更新
yum --security list updates 查看安全更新
yum updateinfo list | grep 'Critical'|cut -f1 -d''|sort -u|wc -l
Unit2
Managing Software Updates
rpm -qa >/root/pre-update-software.$(date +%Y%m%d) 把安装的所有的软件包导入到一个文件
yum updateinfo >/root/updateinfo-report.$(date +%Y%m%d)
yum update --security -y 只更新安全的包,安装前gpgcheck=1要开启
yum update --cve=<CVE> 可以更新具体的
rpm --import <GPG-KEY-FILE> 导入安装包的key
rpm -qa |grep gpg-pubkey 查看可信的GPG keys
rpm -qi gpg-pubkey 查看安装包的详细信息
rpm -K rpm package 查看安装包的md5值是不是正确
rpm -vvK rpm package 给出调试信息
rpm -qp --scripts rpm package 查看安装包有没有脚本运行
Unit3
Creating File Systems
lvcreate -l 100%FREE -n lvname vgname -l, --extents LogicalExtentsNumber[%{VG|PVS|FREE|ORIGIN}]
cryptsetup luksFormat /dev/vgname/lvname 键入YES开始加密格式化,输入密码
cryptsetup luksOpen /dev/vgname/lvname luksname 打开并命名
mkfs -t ext4 /dev/mapper/luksname 设置文件系统
mkdir /secret
mount /dev/mapper/luksname /secret
umout /secret
cryptsetup luksClose luksname 关闭加密
dd if=/dev/urandom of=/path/to/passsword/file bs=4096 count=1 加密文件也可以用明文
chmod 600 /path/to/password/file
cryptsetup luksAddkey /dev/vdaN /path/to/password/file 这里也需要输入密码
touch /etc/crypttab
luksname /dev/vgname/lvname /path/to/password/file
在/etc/fstab添加如下
/dev/mapper/luksname /secret ext4 defaults 1 2 这样就可以开机自动挂载加密分区了
Unit4
Managing File Systems
nosuid,noexec 命令没有suid权限和执行权限
tune2fs -l /dev/vd1 |head -n 19
tune2fs -l /dev/vda1 |grep 'mount options'
tune2fs -o user_xattr,acl /dev/vda1 给分区添加acl权限,也可以修改/etc/fstab文件
lsattr 查看文件特殊属性
chattr +、- 语法
a 只能追加
i 禁止修改
Unit5
Managing Special Permissions
suid setUID
guid setGID
chmod u+s /path/to/procedure 所有人对程序有运行权限
chmod g+s /path/to/dir 文件夹下生成的文件的所属组不变
find /bin -perm /7000 查找/bin下所有特殊权限位
find /bin -perm 4000 精确查找
find /bin -perm -4000 setUID
find /bin -perm -2000 setGID
find /bin -perm -6000 setUID and setGID 还可以用/6000
Unit6
Managing Additional File Access Controls
umask 查看umask值
getfacl somefile 查看文件ACLs(access control lists)
setfacl -m u:bob:rwx /path/to/file bob拥有所属者和所属组权限
setfacl -m d:u:smith:rx subdir d默认u用户rx权限subdir子目录
setfacl -m o::r /pat/to/file 所有人可读
Unit7
Monitoring For File System Changes
AIDE (Advanced Intrusion Detection Environment)高级入侵检测环境
它的主要功能是检测文档的完整性
yum install -y aide 使用aide监控文件的权限
grep PERMS /etc/aide.conf 添加要监控的文件
PERMS = p+i+u+g+acl+selinux p权限,inode,u用户,g用户组
/etc PERMS
/root/\..* PERMS
aide --init 初始化数据库
mv /var/lib/aide/aide.db.new.gz /var/aide/aide.db.gz
aide --check 对上文文件进行更改,check核实
Unit8
Managing User Accounts
chage -m 0 -M 90 -W 7 -I 14 username
-m min days
-M max days
-W warn days
-I inactive days
chage -d 0 username 用户下次登录要修改密码
chage -l username 列出用户配置信息
userdel -r username ***用户时同时***目录
grep PASS_M /etc/login.defs 可以在配置文件里修改, 对新添加用户生效
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
PASS_MAX_DAYS 30
PASS_MIN_DAYS 3
PASS_MIN_LEN 8
getent passwd |cut -d: -f3 |sort -n |uniq -d 看看系统中有没有重复的账号
Unit9
Managing Pluggable Authentication Modules
PAM 可插拔的认证模块,可以按需要动态的对验证的内容进行变更,所以可以大大提高验证的灵活性
1、认证管理(authentication management)
接受用户名和密码,进而对该用户的密码进行认证,并负责设置用户的一些秘密信息
2、帐户管理(account management)
检查帐户是否被允许登录系统,帐号是否已经过期,帐号的登录是否有时间段的限制等等
3、密码管理(password management)
主要是用来修改用户的密码
4、会话管理(session management)
主要是提供对会话的管理和记账(accounting)
inux各个发行版中,PAM使用的验证模块一般存放在/lib/security/目录下,可以使用ls命令进行查看本计算机支持哪些
验证控制方式,一般的PAM模块名字例如pam_unix.so,模块可以随时在这个目录下添加和***,这不会直接影响程序运
行,具体的影响在PAM的配置目录下。
PAM的配置文件一般存放在/etc/pam.d/目录下。
查看某个程序是否支持PAM,使用命令:
ldd `which cmd` | grep libpam //cmd就代表查看的程序名
如果包含libpam库,那么该程序就支持PAM验证。
ldd `which login` |grep libpam
libpam.so.0 => /lib64/libpam.so.0 (0x000000326d200000)
libpam_misc.so.0 => /lib64/libpam_misc.so.0 (0x000000326b600000)
/etc/pam.d Configuration File Syntax
type control module [module arguments]
grep maxlogins /etc/security/limits.conf
#<domain> <type> <item> <value>
# - maxlogins - max number of logins for this user
@student - maxlogins 4 配置用户同时最大登录次数
@qa hard cpu 1 配置cpu使用时间
限制用户密码错误输入次数
cat /etc/pam.d/system-auth 同样password-auth也要改
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth required pam_tally2.so onerr=fail deny=3 unlock_time=180 3次错误禁止3分钟
auth sufficient pam_fprintd.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth required pam_deny.so
account required pam_tally2.so 还要注意放置的位置
account required pam_unix.so
pam_tally2 查看用户
pam_tally2 --reset -u username 重置释放禁用用户
Unit10
Securing Console Access
加密方式不一样$6 sh256 $1 md5
grub-crypt
Password:
Retype password:
$6$01wSV5m9GBdGdQ3J
$oroEE6jjedQ59yQqJlxwAc1MBPSrdm6ufuUJil5rJaXmLgYNbsjz1F.kQlcrZYcrO5y9h014VkGCsH5PN7TTg.
grub-md5-crypt
Password:
Retype password:
$1$HqxBl1$DVC9jyW6HXZ8.vAlPo2QR1
cat /etc/grub.cfg
password --encrypted $6$01wSV5m9GBdGdQ3J
$oroEE6jjedQ59yQqJlxwAc1MBPSrdm6ufuUJil5rJaXmLgYNbsjz1F.kQlcrZYcrO5y9h014VkGCsH5PN7TTg.
/etc/issue 认证前显示
/etc/motd Message Of The Day and historically 认证后显示
/etc/ssh/sshd_config PermitRootLogin no 禁止root用户ssh登录
Unit11
Installing Central Authentication
IdM(Identity Management)
chkconfig NetworkManager off;service NetworkManager stop 关闭NetworkManager,否则ipa-server安装
不上
/etc/sysconfig/network-scripts/ifcfg-eth0 网卡配置静态IP,网关,DNS都要配置NM_CONTROLLED=no
/etc/hosts 本机的做解析 ip server.example.com server
yum -y install ipa-server
ipa-server-install --idstart=2000 --idmax=20000 注意给uid加上一个区间
安装完成需要开启下列端口:
TCP Ports:
80,443 HTTP/HTTPS
389,636 LDAP/LDAPS
88,464 kerberos
UDP Ports:
88,464 kerberos
123 ntp
也可用命令行指定具体参数,这样就不需要在上面交互式指定
ipa-server-install --hostname=server.example.com -n example.com -r EXAMPLE.COM -p redhat123 -a
redhat123 -U
service sshd restart
kinit admin 初始化,若是普通用户第一次要修改密码
ipa user-find admin 验证
剩下的添加用户,添加组,修改配置信息都可以在浏览器上操作https://server.example.com 登陆名admin 密码
redaht123
客户端安装如下:
yum -y install ipa-client
ipa-client-install --mkhomedir 注意要给新用户生成目录
安装的过程中要用admin redhat123认证一下
也可以用非交互式安装
ipa-client-install --domain=example.com --server=server.example.com --realm=EXAMPLE.COM -p admin -w
redhat123 --mkhomedir -U
最后idm上的用户就可以在client上登陆了,登陆后自动生成家目录
Unit12
Managing Central Authentication
kinit admin
ipa pwpolicy-show 命令行查看策略
kpasswd bob 为用户修改密码
这些都可以在浏览器上操作,包括sudoers,用户能使用的命令等
Unit13
Configuring System Logging
ryslog-gnutls安装后支持TLS port 6514
日志服务器分为服务端和客户端
服务端配置如下:
/etc/rsyslog.conf 打开端口模块,支持TCP和UDP这里打开的是TCP
# Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
/etc/rsyslog.d/remote.conf 这个文件是在rsyslog.d目录下新建的
:fromhost,isequal,"client.example.com" /var/log/client/messages
:fromhost,isequal,"client.example.com" ~ 添加~后客户端的信息只保存在上面的文件中
客户端配置如下:
/etc/rsyslog.conf 先注释所有日志发送端口,本地不保留
*.* @@(o)server.example.com:514 两个@是走TCP(o)是为后面的端口号用
logrotate日志分割工具
其实还有个logwatch工具,可以把服务器重要信息每天发送给指定邮箱
Unit14
Configuring System Auditing
/etc/sysconfig/auditd
/etc/audit/auditd.conf 默认端口号tcp 60
/etc/audit/audit.rules man rules查看语法
remote logging with auditd /etc/audisp/plugins.d/syslog.conf setting active=yes 后并重启auditd服务
可以用syslog发送信息到远程服务器
安装audispd-plugins包后(每个客户端,这是多节点),可以开启/etc/audisp/plugins.d/au-remote.conf
active=yes把审核日志发送到日志服务器
具体语法可以man auditctl
/etc/audit/audit.rules
-w /path/to/file -p rwxa -k key
-e 2
-w 指定审核文件路径
-p 访问权限 r读w写x执行a属性改变
-k key
-e 设置enabled flag,可以是0,1,2 设置2后/etc下其他文件就不要加进来,有问题得重启
Unit15
Controlling Access to Network Services
iptables 防火墙
iptables -L
iptables -F
iptables -X
iptables -Z
iptables -A INPUT -i lo -j ACCEPT 系统服务用
iptables -A INPUT -m state --stat ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 22 -s 192.168.0.0/24 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -s 192.168.0.0/24 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 514 -s 192.168.0.0/24 -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
iptables -A INPUT -j LOG
iptables -A INPUT -j REJECT
server iptables save 保存记录
cat /etc/sysconfig/iptables 默认保存位置
iptables -nvL --line-numbers 查看核查
另外一个比较有用的地方,用于PPTP服务器,拨号进入后上网问题-s网段是PPTP服务器自动分配的IP
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE