歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

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 © Linux教程網 All Rights Reserved