用户管理用户权限1)限制root1 echo 'tty1' > /etc/securetty2 chmod 700 /root2)密码策略3 echo 'Passwords expire every 180 days'4 perl -npe 's/PASS_MAX_DAYS\s+99999/PASS_MAX_DAYS 180/' -i /etc/login.defs5 echo 'Passwords may only be changed once a day'6 perl -npe 's/PASS_MIN_DAYS\s+0/PASS_MIN_DAYS 1/g' -i /etc/login.defs用sha512保护密码而不用md57 authconfig --passalgo=sha512 --update3)umask限制更改umask为0778 perl -npe 's/umask\s+0\d2/umask 077/g' -i /etc/bashrc9 perl -npe 's/umask\s+0\d2/umask 077/g' -i /etc/csh.cshrc4)Pam修改10 touch /var/log/tallylog11 cat << 'EOF' > /etc/pam.d/system-auth12 #%PAM-1.013 # This file is auto-generated.14 # User changes will be destroyed the next time authconfig is run.15 auth required pam_env.so16 auth sufficient pam_unix.so nullok try_first_pass17 auth requisite pam_succeed_if.so uid >= 500 quiet18 auth required pam_deny.so19 auth required pam_tally2.so deny=3 onerr=fail unlock_time=6020 21 account required pam_unix.so22 account sufficient pam_succeed_if.so uid < 500 quiet23 account required pam_permit.so24 account required pam_tally2.so per_user25 26 password requisite pam_cracklib.so try_first_pass retry=3 minlen=9 lcredit=-2 ucredit=-2 dcredit=-2 ocredit=-227 password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=1028 password required pam_deny.so29 30 session optional pam_keyinit.so revoke31 session required pam_limits.so32 session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid33 session required pam_unix.so34 EOF/var/log/tallylog是二进制日志,记录认证失败情况。可以使用pam_tally2 --reset -u username解锁5)回收闲置用户35 echo 'Idle users will be removed after 15 minutes'36 echo 'readonly TMOUT=900' >> /etc/profile.d/os-security.sh37 echo 'readonly HISTFILE' >> /etc/profile.d/os-security.sh38 chmod +x /etc/profile.d/os-security.sh6)cron和at限制39 echo 'Locking down Cron'40 touch /etc/cron.allow41 chmod 600 /etc/cron.allow42 awk -F: '{print $1}' /etc/passwd | grep -v root > /etc/cron.deny43 echo 'Locking down AT'44 touch /etc/at.allow45 chmod 600 /etc/at.allow46 awk -F: '{print $1}' /etc/passwd | grep -v root > /etc/at.deny
方法/步骤
1删除系统特殊的的用户和组1 userdel username2 userdel adm3 userdel lp4 userdel sync5 userdel shutdown6 userdel halt7 userdel news8 userdel uucp9 userdel operator10 userdel games11 userdel gopher以上所删除用户为系统默认创建,但是在常用服务器中基本不使用的一些帐号,但是这些帐号常被黑客利用和攻击服务器。12 groupdel username13 groupdel adm14 groupdel lp15 groupdel news16 groupdel uucp17 groupdel games18 groupdel dip同样,以上删除的是系统安装是默认创建的一些组帐号。这样就减少受攻击的机会。
2服务管理关闭系统不使用的服务1 chkconfig level 35 apmd off2 chkconfig level 35 netfs off3 chkconfig level 35 yppasswdd off4 chkconfig level 35 ypserv off5 chkconfig level 35 dhcpd off?6 chkconfig level 35 portmap off7 chkconfig level 35 lpd off8 chkconfig level 35 nfs off9 chkconfig level 35 sendmail off10 chkconfig level 35 snmpd off11 chkconfig level 35 rstatd off12 chkconfig level 35 atd off??
3定期更新系统yum -y update,可以加入到cron job。
4LAMP安全系统文件权限修改init目录文件执行权限1 chmod -R 700 /etc/init.d/*修改部分系统文件的SUID和SGID的权限2 chmod a-s /usr/bin/chage3 chmod a-s /usr/bin/gpasswd4 chmod a-s /usr/bin/wall5 chmod a-s /usr/bin/chfn6 chmod a-s /usr/bin/chsh7 chmod a-s /usr/bin/newgrp8 chmod a-s /usr/bin/write9 chmod a-s /usr/sbin/usernetctl10 chmod a-s /usr/sbin/traceroute11 chmod a-s /bin/mount12 chmod a-s /bin/umount13 chmod a-s /bin/ping14 chmod a-s /sbin/netreport
5修改系统引导文件1 chmod 600 /etc/grub.conf2 chattr +i /etc/grub.conf
注意事项
1日志管理 1、系统引导日志 dmesg 使用 dmesg 命令可以快速查看最后一次系统引导的引导日志。通常它的内容会很多,所以您往往会希望将其通过管道传输到一个阅读器。
2、系统运行日志 A、Linux 日志存储在 /var/log 目录中。 这里有几个由系统维护的日志文件,但其他服务和程序也可能会把它们的日志放在这里。大多数日志只有 root 才可以读,不过只需要修改文件的访问权限就可以让其他人可读。 以下是常用的系统日志文件名称及其描述: lastlog 记录用户最后一次成功登录时间 loginlog 不良的登陆尝试记录? messages 记录输出到系统主控台以及由syslog系统服务程序产生的消息 utmp 记录当前登录的每个用户 utmpx 扩展的utmp wtmp 记录每一次用户登录和注销的历史信息 wtmpx 扩展的wtmp vold.log 记录使用外部介质出现的错误 xferkig 记录Ftp的存取情况 sulog 记录su命令的使用情况 acct 记录每个用户使用过的命令 aculog 拨出自动呼叫记录 B、/var/log/messages messages 日志是核心系统日志文件。它包含了系统启动时的引导消息,以及系统运行时的其他状态消息。IO 错误、网络错误和其他系统错误都会记录到这个文件中。其他信息,比如某个人的身份切换为 root,也在这里列出。如果服务正在运行,比如 DHCP 服务器,您可以在messages 文件中观察它的活动。通常,/var/log/messages 是您在做故障诊断时首先要查看的文件。 C、/var/log/XFree86.0.log 这个日志记录的是 Xfree86 Xwindows 服务器最后一次执行的结果。如果您在启动到图形模式时遇到了问题,一般情况从这个文件中会找到失败的原因。