RH413-RHEL6.4课程总结
Unit1Tracking Security Updates更新分以下三类RHSARHBARHEAyum updateinfo list 查看所有更新yum updateinfo list --cve=CVE-2013-0755查看某一更新yum --security list updates 查看安全更新yum updateinfo list | grep 'Critical'|cut -f1 -d''|sort -u|wc -lUnit2 Managing Software Updatesrpm -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> 导入安装包的keyrpm -qa |grep gpg-pubkey 查看可信的GPG keysrpm -qi gpg-pubkey 查看安装包的详细信息rpm -K rpm package 查看安装包的md5值是不是正确rpm -vvK rpm package 给出调试信息rpm -qp --scripts rpm package 查看安装包有没有脚本运行Unit3Creating 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 /secretmount /dev/mapper/luksname /secretumout /secretcryptsetup luksClose luksname 关闭加密dd if=/dev/urandom of=/path/to/passsword/file bs=4096 count=1 加密文件也可以用明文chmod 600 /path/to/password/filecryptsetup luksAddkey /dev/vdaN /path/to/password/file 这里也需要输入密码touch /etc/crypttabluksname /dev/vgname/lvname /path/to/password/file在/etc/fstab添加如下/dev/mapper/luksname /secret ext4 defaults 1 2 这样就可以开机自动挂载加密分区了Unit4Managing File Systemsnosuid,noexec 命令没有suid权限和执行权限tune2fs -l /dev/vd1 |head -n 19tune2fs -l /dev/vda1 |grep 'mount options'tune2fs -o user_xattr,acl /dev/vda1 给分区添加acl权限,也可以修改/etc/fstab文件lsattr 查看文件特殊属性chattr +、- 语法a 只能追加i 禁止修改Unit5Managing Special Permissionssuid setUIDguid setGIDchmod u+s /path/to/procedure 所有人对程序有运行权限chmod g+s /path/to/dir 文件夹下生成的文件的所属组不变find /bin -perm /7000 查找/bin下所有特殊权限位find /bin -perm 4000 精确查找find /bin -perm -4000 setUIDfind /bin -perm -2000 setGIDfind /bin -perm -6000 setUID and setGID 还可以用/6000Unit6Managing Additional File Access Controlsumask 查看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 所有人可读Unit7Monitoring For File System ChangesAIDE (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/\..* PERMSaide --init 初始化数据库mv /var/lib/aide/aide.db.new.gz /var/aide/aide.db.gzaide --check 对上文文件进行更改,check核实Unit8Managing User Accountschage -m 0 -M 90 -W 7 -I 14 username-m min days-M max days-W warn days-I inactive dayschage -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 30PASS_MIN_DAYS 3PASS_MIN_LEN 8getent passwd |cut -d: -f3 |sort -n |uniq -d 看看系统中有没有重复的账号Unit9Managing Pluggable Authentication ModulesPAM 可插拔的认证模块,可以按需要动态的对验证的内容进行变更,所以可以大大提高验证的灵活性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 Syntaxtype 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.soauth required pam_tally2.so onerr=fail deny=3 unlock_time=180 3次错误禁止3分钟auth sufficient pam_fprintd.soauth sufficient pam_unix.so nullok try_first_passauth requisite pam_succeed_if.so uid >= 1000 quiet_successauth required pam_deny.soaccount required pam_tally2.so 还要注意放置的位置account required pam_unix.sopam_tally2 查看用户pam_tally2 --reset -u username 重置释放禁用用户Unit10Securing Console Access加密方式不一样$6 sh256 $1 md5grub-crypt Password: Retype password: $6$01wSV5m9GBdGdQ3J$oroEE6jjedQ59yQqJlxwAc1MBPSrdm6ufuUJil5rJaXmLgYNbsjz1F.kQlcrZYcrO5y9h014VkGCsH5PN7TTg.grub-md5-crypt Password: Retype password: $1$HqxBl1$DVC9jyW6HXZ8.vAlPo2QR1cat /etc/grub.cfgpassword --encrypted $6$01wSV5m9GBdGdQ3J$oroEE6jjedQ59yQqJlxwAc1MBPSrdm6ufuUJil5rJaXmLgYNbsjz1F.kQlcrZYcrO5y9h014VkGCsH5PN7TTg./etc/issue 认证前显示/etc/motd Message Of The Day and historically 认证后显示/etc/ssh/sshd_config PermitRootLogin no 禁止root用户ssh登录Unit11Installing Central AuthenticationIdM(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 serveryum -y install ipa-server ipa-server-install --idstart=2000 --idmax=20000 注意给uid加上一个区间安装完成需要开启下列端口:TCP Ports:80,443 HTTP/HTTPS389,636 LDAP/LDAPS88,464 kerberosUDP Ports:88,464 kerberos123 ntp也可用命令行指定具体参数,这样就不需要在上面交互式指定ipa-server-install --hostname=server.example.com -n example.com -r EXAMPLE.COM -p redhat123 -a redhat123 -Uservice sshd restartkinit admin 初始化,若是普通用户第一次要修改密码ipa user-find admin 验证剩下的添加用户,添加组,修改配置信息都可以在浏览器上操作https://server.example.com 登陆名admin 密码redaht123客户端安装如下:yum -y install ipa-clientipa-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上登陆了,登陆后自动生成家目录Unit12Managing Central Authenticationkinit adminipa pwpolicy-show 命令行查看策略kpasswd bob 为用户修改密码这些都可以在浏览器上操作,包括sudoers,用户能使用的命令等Unit13Configuring System Loggingryslog-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工具,可以把服务器重要信息每天发送给指定邮箱Unit14Configuring 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下其他文件就不要加进来,有问题得重启Unit15Controlling Access to Network Servicesiptables 防火墙iptables -Liptables -Fiptables -Xiptables -Ziptables -A INPUT -i lo -j ACCEPT 系统服务用iptables -A INPUT -m state --stat ESTABLISHED,RELATED -j ACCEPTiptables -A INPUT -p icmp -j ACCEPTiptables -A INPUT -m state --state NEW -p tcp --dport 22 -s 192.168.0.0/24 -j ACCEPTiptables -A INPUT -m state --state NEW -p tcp --dport 80 -s 192.168.0.0/24 -j ACCEPTiptables -A INPUT -m state --state NEW -p tcp --dport 514 -s 192.168.0.0/24 -j ACCEPTiptables -A INPUT -s 192.168.0.0/24 -j ACCEPTiptables -A INPUT -j LOGiptables -A INPUT -j REJECTserver iptables save 保存记录cat /etc/sysconfig/iptables 默认保存位置iptables -nvL --line-numbers 查看核查另外一个比较有用的地方,用于PPTP服务器,拨号进入后上网问题-s网段是PPTP服务器自动分配的IPiptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE