Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10725773
  • 博文数量: 2905
  • 博客积分: 20098
  • 博客等级: 上将
  • 技术积分: 36298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-23 05:00
文章存档

2012年(1)

2011年(3)

2009年(2901)

分类: LINUX

2009-03-23 11:27:34

                        Linux 系统安全规范
                          2006-xx-18 V1.2
 
基本原则: a. 及时更新所有的服务,以防止最新的威胁
                   b. 尽可能使用安全的协议
                   c. 尽可能让每台机只提供一种服务
                   d. 严格监控所有机器以及时发现恶意行为
                   e. 订阅系统相关的安全邮件列表
一.帐户和口令
   (). 帐户
       1.为每个系统维护人员建立一个独立的普通权限帐号,为监控机建立监控
      帐号,分别用于日常系统维护和系统监控;
       2FTP 服务器配置虚拟帐号;
       3.禁止除root 帐号, 系统维护人员帐号和监控机帐号之外所有帐号使用
      SHELL的权限;
       4.锁定所有在安装系统时自动建立的帐号;
          a. 查找出未锁定的系统帐号:egrep -v '.*:\*|:\!' /etc/shadow | awk -F: '{print $1}'
          b. 锁定:usermod –L <username>
   (). 口令
       1.强度:a. 10位以上;包含了字母(大写字母和小写字母),数字和特殊符号;不允许包含英文单词;
                          b. 配置:在文件/etc/pam.d/system-auth中配置;
                                          password  requisite  /lib/security/$ISA/pam_cracklib.so retry=3 minlen=10  lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1
       2.更改频率:a. 120天;
                    b. 配置新建帐户的默认更改频率:在文件/etc/login.defs中设置 pass_max_days=120
                    c. 修改当前用户的更改频率: chage –M 120
       3.历史:a. 10
                b. 配置:在文件/etc/pam.d/system-auth中配置
                  password  requisite  /lib/security/$ISA/pam_cracklib.so  retry=3  minlen=10 lcredit=-1  ucredit=-1  dcredit=-1  ocredit=-1  difok=3
password  sufficient  /lib/security/$ISA/pam_unix.so  nullok  use_authtok  md5  shadow  remember=10
       4.推荐的选择口令的方法:想出一个句子,用其中每个单词的首字母及其包含的符合,并将字母替换为跟其相似的数字或符号来生成口令;
       5.好的口令举例:Zhongguoliantong10010!))!), Beijingquhao010)!)
二.远程登录
   (). SSH
       1.只支持SSH v.2
       2.禁止直接使用root帐号登录,只允许使用普通权限帐号直接登录;
       3.更改默认端口(改为22222);
   (). 登录banner
        1. /etc/issue文件里加入登录警告
           #cat > /etc/issue << EOF
           =======================================
           Warning: The system is owned by xxxxxx,
                   Unauthorized access to this system is prohibited!!!
           =======================================
 
        2. /etc/motd文件里加入对登录成功者的警告
          #cat > /etc/motd << EOF
           =======================================
           Warning: The system is owned by xxxxxx,
                   What you do will be monitored and logged!!!
           =======================================
三.内核参数
    1.调整如下内核参数,以提高系统防止IP欺骗及DOS攻击的能力:
        net.ipv4.ip_forward = 0   # 对于LVS,网关或VPN服务器,要设置为1
      net.ipv4.tcp_syncookies = 1
      net.ipv4.conf.all.accept_source_route = 0
      net.ipv4.conf.all.accept_redirects = 0
      net.ipv4.conf.all.rp_filter = 1   # 对于LVS 后端服务器
                                        # 要设置为0
      net.ipv4.icmp_echo_ignore_broadcasts = 1
      net.ipv4.icmp_ignore_bogus_error_responses = 1
      net.ipv4.conf.all.log_martians = 1
       
      kernel.sysrq = 0
      kernel.core_uses_pid = 1
四.文件系统
1mount 选项:/           ro            # 先将 /root 目录移到/home/root
                               /boot    ro
  /usr      ro
   /var       noexec, nosuid
  /tmp       noexec, nosuid
   2SUID,SGID文件:每天运行一个cron任务,看是否有新的SUID/SGID文件出现,
                   如果有,则发e-mail 给维护人员;
   3.所有人都可以写的目录:每天运行一个cron任务,看是否有新的所有人都可以
                         写的目录出现,如果有,则发e-mail 给维护人员;
   4ACL:在为多个用户分配某个文件或目录的权限时,禁止使用修改用户所属组
          实现,使用ACL实现;
   5. umask:配置为0022 0055(在/etc/bashrc中配置);
五.日志
1.日志集中存放到日志主机上, 本地保存4周的日志备份;
2.日志客户机配置:参考<系统规范>> 8. 配置系统日志;
3.日志主机配置:参考<日志主机配置指南>>
六.应用程序
   (). MySQL
       1.以mysql用户运行MySQL
       2.给管理员帐户root改名(ht-mysql-admin)
       3.给管理员帐户设置强键的口令;
       4.删除数据库test
       5.删除MySQL安装过程中自动创建的不需要的帐户,
      禁止创建非绝对必需的帐户;
       6.禁止存放任何纯文本口令在数据库中;
       7.禁止从字典里选择口令;
       8.严格控制用户权限:仅给予用户完成其工作所需的最小的权限;
                      禁止授予PROCESS, SUPER, FILE 权限给非管理帐户;
       9.禁止将MySQL数据目录的读写权限授予给mysql用户外的其它OS 用户;
       10.订阅邮件列表:
阅读(744) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~