Red Hat Linux 安全设置指南


1,最小化安全系统,删除不必要的软件,关闭不必要的服务.

    # ntsysv
    以下仅列出需要启动的服务,未列出的服务一律推荐关闭,必要运行的服务再逐个打开.
    atd
    crond
    irqbalance
    microcode_ctl
    network
    sshd
    syslog

    2,删除finger程序,具体方法如下

    #rpm –e finger

    3,BOIS安全设置

    4,帐号安全设置

    修改/etc/login.def文件
    PASS_MAX_DAYS   120 ?设置密码过期日期
    PASS_MIN_DAYS   0   ?设置密码最少更改日期
    PASS_MIN_LEN    10    ?设置密码最小长度
    PASS_WARN_AGE   7  ?设置过期提前警告天数
    确保/etc/shadow为root只读
    确保/etc/passwd为root读写

    定期用密码工具检测用户密码强度

    5, /etc/exports

    如果通过NFS把文件共享出来,那么一定要配置”/etc/exports”文件,使得访问限制尽可能的严格.这就是说,不要使用通配符,不允许对根目录有写权限,而且尽可能的只给读权限.在/etc/exports文件加入:
    /dir/to/export host1.mydomain.com(ro,root_squash)
    /dir/to/export host2.mydomain.com(ro,root_squash)
    建议最好不要使用NFS.

    6,inetd.conf或xinetd.conf
    如果是inetd.conf建议注释掉所有的r开头的程序,exec等

    7,TCP_Wrappers
    在/etc/hosts.allow中加入允许的服务,在/etc/hosts.deny里加入这么一行ALL:ALL

    8,/etc/aliases文件

    Aliases文件如果管理错误或管理粗心就会造成安全隐患.把定义”decode”这个别名的行从aliases文件中删除.
    编辑aliases,删除或注释下面这些行:
    #games: root
    #ingres: root
    #system: root
    #toor: root
    #uucp: root
    #manager: root
    #dumper: root
    #operator: root
    #decode: root
    运行/usr/bin/nesaliases重新加载.

    9,防止sendmail被没有授权的用户滥用

    编辑sendmail.cf
    把PrivacyOptions=authwarnings
    改为PrivacyOptions=authwarnings,noexpn,novrfy

    10,不响应ping

    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

    11,使TCP SYN Cookie保护生效

    Echo 1 > /proc/sys/net/ipv4/tcp_syncookies

    12,删除不必要的用户和组用户

    删除的用户,如adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher等
    删除的组,如adm,lp,news,uucp,games,dip,pppusers,popusers,slipusers等
    可以设置不可更改位
    chattr +i /etc/passwd
    chattr +i /etc/shadow
    chattr +i /etc/group
    chattr +i /etc/gshadow

    13,防止任何人都可以用su命令成为root

    编辑su文件(vi /etc/pam.d/su),加入如下两行
    auth sufficient /lib/security/pam_rootok.so debug
    auth required /lib/security/pam_wheel.so group=wheel
    把能su为root的用户加入wheel组
    usermod  -G10 username

    14,使Control+Alt+Delete关机键无效

    编辑inittab文件,注释掉
    Ca:ctrlaltdel:/sbin/shutdown –t3 –r now
    运行/sbin/init q 使设置生效

    15,创建所有重要的日志文件的硬拷贝

    如果服务器比较重要,可以考虑把ssh,mail,引导信息等打印出来.在/etc/syslog.conf文件中加入一行.:
    Authpriv.*;mail.*;local7.*;auth.*;daemon.info /dev/lp0
    执行/etc/rc.d/init.d/syslog restart
    或者把日志发送到其它服务器保存
    如
    authpriv.*                 /var/log/secure
    要把它发送到192.168.0.2,就可以这样修改
    authpriv.* @192.168.0.2                /var/log/secure

    16,改变/etc/rc.d/init.d目录下的脚本文件的访问许可

    chmod –R 700 /etc/rc.d/init.d/*
    注意:慎重修改此安全设置

    17,/etc/rc.d/rc.local

    把此文件中无关的信息全部注释,不让任何人看到任何有关主机的信息.
    删除/etc下的issue和issue.net

    18,带S位的程序

    可以清除s位的程序包括但不限于:
            从来不用的程序;
            不希望非root用户运行的程序;
            偶尔用用,但是不介意先用su命令变为root后再运行.
    find / -type f \( -perm 04000 –o –perm -02000 \)  -print
    chmod a-s 程序名

    19,查看系统隐藏文件

    find / -name “.*” –print

    20,查找任何人都有写权限的文件和目录

    find / -type f  \( -perm -2  -o perm -20 \) ls
    find / -type f  \( -perm -2 –o –perm -20 \) ls

    21,查找系统中没有主人的文件

    find / -nouser –o –nogroup

    22,查找.rhosts文件

    find /home -name ".rhosts"
    如果有,请删除它.

    23,收回系统编译器的权限或删除

    如: chmod 700 /usr/bin/gcc

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3