• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Solaris系統安全加固列表(轉帖)

    發表于:2007-06-08來源:作者:點擊數: 標簽:
    Solaris系統安全加固列表 ps:由于現在不少Solaris安全加固列表都比較老了,在下根據資料和自己的實踐總結的Solaris系統加固列表,難免會有不合適(影響服務)和錯誤以及不足之處,望各位不惜賜教(本來是word文檔,發上來以后格式都亂了) 多謝lgx和ghoststo

    Solaris系統安全加固列表

    ps:由于現在不少Solaris安全加固列表都比較老了,在下根據資料和自己的實踐總結的Solaris系統加固列表,難免會有不合適(影響服務)和錯誤以及不足之處,望各位不惜賜教(本來是word文檔,發上來以后格式都亂了) 
    多謝lgx和ghoststone對此文的幫助 

    Solaris系統安全加固列表 
    --王宇 

    一、安全理念 
    1、安全的隱患更多來自于企業內部 
    2、對于管理員的要求:不要信任任何人 
    3、分層保護策略:假設某些安全保護層完全失效 
    4、服務最小化 
    5、為最壞的情況做打算 

    二、物理安全 
    1、記錄進出機房的人員名單,考慮安裝攝像機 
    2、審查PROM是否被更換,可以通過記錄hostid進行比較 
    3、每個系統的OpenBoot口令應該不一樣,口令方案不可預測 
    4、系統安裝完畢移除CD-ROM 
    5、將版本介質放入不在本場地的介質儲藏室中 

    三、賬號與口令策略 
    1、超級用戶的PATH(在/.profile中定義的)設置為: 
    PATH = /usr/bin:/sbin:/usr/sbin 
    任何用戶的PATH或者LD_LIBRARY_PATH中都不應該包含“.” 
    2、口令文件、影像文件、組文件 
    /etc/passwd 必須所有用戶都可讀,root用戶可寫 –rw-r—r— 
    /etc/shadow 只有root可讀 –r-------- 
    /etc/group 必須所有用戶都可讀,root用戶可寫 –rw-r—r-- 
    3、口令安全 
    Solaris強制口令最少6位,但是超級用戶修改口令的時候不受這個限制 
    強迫test賬號每隔30天修改一次口令 
    #passwd –n 30 test 
    強迫test賬號在下次登錄的時候修改口令 
    #passwd –f test 
    禁止test賬號修改口令 
    #passwd –n 2 –x 1 test 
    封鎖test賬號,禁止登錄 
    #passwd –l test 
    4、組口令 
    用newgrp <group>命令臨時改變gid 
    由于sysadmin組可執行admintool,必須要保護好,增加組口令的過程: 
    刪除不需要的成員(如果成員屬于sysadmin,改變組時不需要口令) 
    #passwd <user> (通常封鎖的賬號) 
    提取/etc/shadow中user的口令字符串插入到/etc/group中sysadmin的口令字段 
    封鎖user賬號 
    5、修改口令策略 
    /etc/default/passwd文件 
    MAXWEEKS=4 口令至少每隔4星期更改一次 
    MINWEEKS=1 口令至多每隔1星期更改一次 
    WARNWEEKS=3 修改口令后第三個星期會收到快要修改口令的信息 
    PASSLENGTH=6 用戶口令長度不少于6個字符 
    6、限制使用su的組(只允許sysadmin組執行su命令) 
    #chgrp sysadmin /bin/su 
    #chmod o-rwx /bin/su 
    7、su的紀錄 
    /etc/default/su文件 
    SULOG=/var/adm/sulog 
    SYSLOG=YES 
    CONSOLE=/dev/console 
    PATH=/usr/bin: 
    SUPATH=/usr/sbin:/usr/bin 
    8、禁止root遠程登錄 
    /etc/default/login中設置CONSOLE=/dev/null 
    在/etc/ftpusers里加上root。 
    在SSH 配置文件加:permitRootLogin = no 
    (Solaris 9自帶SSH,缺省就禁止root登陸,對 Solaris 9,/etc/ftpusers 不再使用,FTP配置文件都在 /etc/ftpd/ 下面。如果 ftpd 啟動時存在 /etc/ftpusers,它會被移動到 /etc/ftpd/下) 


    四、系統加固 
    1、為OpenBoot設置密碼 

    在Solaris中設置密碼 # eeprom security-password 
    在OpenBoot中設置密碼 ok password 
    在Solaris中設置安全級別(command) # eeprom security-mode=command 
    在OpenBoot中設置安全級別(command) ok setenv security-mode command 
    在OpenBoot中設置安全級別(full) ok setenv security-mode full 

    2、取消不必須賬號 
    移去或者鎖定那些不是必須的帳號,比如sys\uucp\nuucp\listen等等,簡單的辦法是在/etc/shadow的password域中放上NP字符。 
    (簡單辦法是 passwd -l username) 

    3、文件系統 
    /etc目錄中應該沒有文件是組或者其他用戶可寫的 
    find /etc/ -type f –perm –g+w –print (查找組可寫文件) 
    find /etc/ -type f –perm –o+w –print (查找其他用戶可寫文件) 
    chmod –R go-w /etc (改變任何錯誤的組/其他用戶的寫權限) 
    /var/adm/utmp和/var/adm/utmpx文件的權限應該是644 

    4、X-Windows手工鎖定(當管理員離開電腦的時候) 
    CDE中面板上的加鎖圖標 
    OpenWindows中-鼠標右鍵-Utilities-Lock Screen 

    5、/etc的存取權限 
    用chmod -R g-w /etc命令來移去組用戶對/etc的寫權限。 

    6、打開數據包轉發 
    #ndd –set /dev/ip ip_forwarding 1 (在系統作為路由器的情況中執行) 
    關閉數據包轉發 
    #ndd –set /dev/ip ip_forwarding 0 (建議把這條命令加入/etc/init.d/inetinit中) 
    忽略重定向數據包(否則有遭到DOS的隱患) 
    #ndd –set /dev/ip ip_ignore_redirects 1 (加入/etc/init.d/inetinit) 
    不發送重定向數據包 
    #ndd –set /dev/ip ip_send_redirects 0 (加入/etc/init.d/inetinit) 
    禁止轉發定向廣播(如果網橋連結則不禁止) 
    #ndd –set /dev/ip ip_forward_directed_broadcasts 0 (加入/etc/init.d/inetinit) 
    禁止轉發在數據源設置了路由的數據包 
    #ndd –set /dev/ip ip_forward_src_routed 0 (加入/etc/init.d/inetinit) 

    7、利用/etc/notrouter關閉IP轉發 
    創建/etc/notrouter文件,重啟計算機(入侵者如果可以訪問根目錄,可以使用ndd命令重新開啟IP轉發) 
    /etc/inet/hosts中的配置 
    127.0.0.1 Localhost (所有系統都有這一項) 
    192.168.0.13 Loghost (syslog使用的) 
    192.168.0.109 wy_solaris (主機IP和主機名) 
    /etc/defaultrouter包含了默認路由器的名稱或者IP 
    如果使用了默認路由器,在/etc/inet/hosts文件中必須包含路由器的名稱,因為如果設置了路由表,系統將不會運行任何目錄服務(DNS、NIS或者NIS+) 

    8、cron(任務在/var/spool/cron/crontabs/ 一般行為在/etc/default/cron) 
    格式:minute hour day-of-month month day-of-week command 
    (每項間用空格,同一項兩個數字間用逗號,每項為數字或者星號) 
    配置: 
    查看命令 crontab –l 
    (1)進入只有本用戶可讀的目錄 
    (2)crontab –l > mycronfile 
    (3)編輯mycronfile 
    (4)crontab < mycronfile 
    不要使用crontab –e命令,因為它會在/tmp下建立所有用戶都可讀的crontab副本 
    訪問cron系統 
    /etc/cron.d/cron.allow (允許) 
    /etc/cron.d/cron.deny (不允許) 
    存在cron.allow,其中沒有某用戶,則不允許此用戶訪問cron系統 
    存在cron.deny,其中沒有某用戶,則允許此用戶訪問cron系統 
    在/etc/default/cron里設置了"CRONLOG=yes" 來記錄corn的動作 
    PATH中不應包含“/tmp”“~”“.”字樣 
    at(任務在/var/spool/cron/atjobs) 
    /etc/cron.d/at.allow和/etc/cron.d/at.deny和cron文件完全一樣 

    9、增加靜態路由 
    格式: route add net net-address subnet-mask router hops 
    例如: route add net 10.15.0.0 255.255.0.0 10.14.48.2 1 
    (要到達10.15.x.x的網絡,需要將數據包送往路由器10.14.48.2,距離10.15.x.x有一個躍點。這個命令將增加到啟動文件/etc/rc2.d/S72inetsvc) 
    增加動態路由(會帶來安全隱患) 
    在/etc/rc2.d/S72inetsvc中增加和是的命令行 
    運行in.routed或者in.rdisc 
    診斷工具snoop可以sniff,只有root可以使用,可以把snoop從不需要的UNIX機器上刪除 

    10、root的umask設置錯誤 
    修改/etc/profile文件,將umask設為077或者027 

    11、堆棧緩沖溢出攻擊防護設置 
    在/etc/system里加上如下語句,禁止緩沖溢出: 
    echo "set noexec_user_stack=1" >> /etc/system 
    echo "set noexec_user_stack_log=1" >> /etc/system 
    (對 Solaris 9,可以對單個程序設定堆棧不可執行屬性,前提是有該程序的源碼,例如:# clearcase/" target="_blank" >cc -M /usr/lib/ld/map.noexstk myprogram.c) 

    12、使IP forwarding和sourec routing(源路)由無效 
    在Inetinit中使IP forwarding和sourec routing(源路)由無效(假如有超過一個網絡接口的話)。在/etc/init.d/inetinit中增加下面所示設置: 
    ndd -set /dev/ip ip_forward_directed_broadcasts 0 
    ndd -set /dev/ip ip_forward_src_routed 0 
    ndd -set /dev/ip ip_forwarding 0 

    13、防止TCP序列號預測攻擊(ip欺騙) 
    建議在/etc/default/inetinit中增加如下的生成初始化序列號設置來防止TCP序列號預測攻擊(ip欺騙):TCP_STRONG_ISS=2 

    14、(如果有ftp服務)不要使用匿名ftp 
    /etc/inet/inetd.conf中的ftpd為(記錄) 
    ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd –dl 
    決不能用root身份使用ftp(口令不加密) 
    /etc/ftpusers中的增加超級用戶(這里的賬號禁止用ftp連接系統) 
    FTP 服務暴露系統敏感信息 
    編輯/etc/default/ftpd文件,假如文件不存在就新建一個,在文件中的加進以下一項:BANNER=XXXX(XXXX可以任意改變為任何一個版本信息),將該系統版本信息屏蔽. 

    15、關閉NFS服務 

    16、用SSH替代Telnet服務 

    17、限制.rhosts、.netrc和/etc/hosts.equiv文件的使用 
    限制.rhosts、.netrc和/etc/hosts.equiv文件的使用。r系列命令使用這些文件來訪問系統。要為這些文件加鎖,先創建它們,然后修改其屬性為零即可。這樣除了root用戶就沒有其它用戶能創建或修改它們了。 
    /usr/bin/touch /.rhosts /.netrc /etc/hosts.equiv 
    /usr/bin/chmod 0 /.rhosts /.netrc /etc/hosts.equiv 
    .rhosts文件可以作為一個典型的后門文件使用,在某用戶的目錄下存在.rhosts文件的話,任何用戶都可以通過rlogin不需要口令以該用戶的身份登錄到系統。 
    運行下面的命令全局查找.rhosts文件 
    # find –name “.rhosts” –print 

    18、使多路廣播(multicasting)無效 
    為了使多路廣播(multicasting)無效請在/etc/init.d/inetsvc中注解掉"route add 224.0.0.0"周圍的幾行。 

    19、關閉系統的snmp服務 
    更改 /etc/rc2.d/K07snmpdx 和/etc/rc3.d/S76snmpdx文件名 

    20、X-Windows不安全,可以使用ssh對其加密 

    21、加強網絡訪問控制 
    編輯/etc/inet.d/inetsvc,在inetd后面加上-t選項 
    類似命令/usr/sbin/inetd –s –t 
    停止再運行inetd 
    運行的使用使用 #/usr/sbin/inetd –s –t 

    22、網絡訪問控制 
    原則:去掉不必要的網絡訪問,在所需要的網絡訪問周圍簡歷訪問控制 

    Solaris網絡服務(/etc/inet/services)[沒有被注釋/* */的服務可關閉] 
    #ident "@(#)services 1.27 00/11/06 SMI" /* SVr4.0 1.8 */ 


    # Copyright (c) 1999-2000 by Sun Microsystems, Inc. 
    # All rights reserved. 

    # Network services, Internet style 

    tcpmux 1/tcp /*必須*/ 
    echo 7/tcp 
    echo 7/udp 
    discard 9/tcp sink null 
    discard 9/udp sink null 
    systat 11/tcp users 
    daytime 13/tcp 
    daytime 13/udp 
    netstat 15/tcp 
    chargen 19/tcp ttytst source 
    chargen 19/udp ttytst source 
    ftp-data 20/tcp /*依服務可選*/ 
    ftp 21/tcp /*依服務可選*/ 
    ssh 22/tcp /*依服務可選*/ 
    telnet 23/tcp /*依服務可選*/ 
    smtp 25/tcp mail /*依服務可選*/ 
    time 37/tcp timserver 
    time 37/udp timserver 
    name 42/udp nameserver 
    whois 43/tcp nicname # usually to sri-nic 
    domain 53/udp /*依服務可選*/ 
    domain 53/tcp /*依服務可選*/ 
    bootps 67/udp # BOOTP/DHCP server 
    bootpc 68/udp # BOOTP/DHCP client 
    hostnames 101/tcp hostname # usually to sri-nic 
    pop2 109/tcp pop-2 # Post Office Protocol - V2 
    pop3 110/tcp # Post Office Protocol - Version 3 
    sunrpc 111/udp rpcbind 
    sunrpc 111/tcp rpcbind 
    imap 143/tcp imap2 # Internet Mail Access Protocol v2 
    ldap 389/tcp # Lightweight Directory Access Protocol 
    ldap 389/udp # Lightweight Directory Access Protocol 
    submission 587/tcp # Mail Message Submission 
    submission 587/udp # see RFC 2476 
    ldaps 636/tcp # LDAP protocol over TLS/SSL (was sldap) 
    ldaps 636/udp # LDAP protocol over TLS/SSL (was sldap) 

    # Host specific functions 

    tftp 69/udp 
    rje 77/tcp 
    finger 79/tcp 
    link 87/tcp ttylink 
    supdup 95/tcp 
    iso-tsap 102/tcp 
    x400 103/tcp # ISO Mail 
    x400-snd 104/tcp 
    csnet-ns 105/tcp 
    pop-2 109/tcp # Post Office 
    uucp-path 117/tcp 
    nntp 119/tcp usenet # Network News Transfer 
    ntp 123/tcp # Network Time Protocol 
    ntp 123/udp # Network Time Protocol 
    netbios-ns 137/tcp # NETBIOS Name Service 
    netbios-ns 137/udp # NETBIOS Name Service 
    netbios-dgm 138/tcp # NETBIOS Datagram Service 
    netbios-dgm 138/udp # NETBIOS Datagram Service 
    netbios-ssn 139/tcp # NETBIOS Session Service 
    netbios-ssn 139/udp # NETBIOS Session Service 
    NeWS 144/tcp news # Window System 
    slp 427/tcp slp # Service Location Protocol, V2 
    slp 427/udp slp # Service Location Protocol, V2 
    mobile-ip 434/udp mobile-ip # Mobile-IP 
    cvc_hostd 442/tcp # Network Console 

    # UNIX specific services 

    # these are NOT officially assigned 

    exec 512/tcp 
    login 513/tcp 
    shell 514/tcp cmd # no passwords used 
    printer 515/tcp spooler # line printer spooler 
    courier 530/tcp rpc # experimental 
    uucp 540/tcp uucpd # uucp daemon 
    biff 512/udp comsat 
    who 513/udp whod 
    syslog 514/udp /*依服務可選*/ 
    talk 517/udp 
    route 520/udp router routed 
    ripng 521/udp 
    klogin 543/tcp # Kerberos authenticated rlogin 
    kshell 544/tcp cmd # Kerberos authenticated remote shell 
    new-rwho 550/udp new-who # experimental 
    rmonitor 560/udp rmonitord # experimental 
    monitor 561/udp # experimental 
    pcserver 600/tcp # ECD Integrated PC board srvr 
    sun-dr 665/tcp # Remote Dynamic Reconfiguration 
    kerberos-adm 749/tcp # Kerberos V5 Administration 
    kerberos-adm 749/udp # Kerberos V5 Administration 
    kerberos 750/udp kdc # Kerberos key server 
    kerberos 750/tcp kdc # Kerberos key server 
    krb5_prop 754/tcp # Kerberos V5 KDC propogation 
    ufsd 1008/tcp ufsd # UFS-aware server 
    ufsd 1008/udp ufsd 
    cvc 1495/tcp # Network Console 
    ingreslock 1524/tcp 
    www-ldap-gw 1760/tcp # HTTP to LDAP gateway 
    www-ldap-gw 1760/udp # HTTP to LDAP gateway 
    listen 2766/tcp # System V listener port 
    nfsd 2049/udp nfs # NFS server daemon (clts) 
    nfsd 2049/tcp nfs # NFS server daemon (cots) 
    eklogin 2105/tcp # Kerberos encrypted rlogin 
    lockd 4045/udp # NFS lock daemon/manager 
    lockd 4045/tcp 
    dtspc 6112/tcp # CDE subprocess control /*依服務可選*/ 
    fs 7100/tcp # Font server /*依服務可選*/ 

    執行方法: 
    /etc/inet/services在相應服務前加“#”注釋掉 
    /etc/inet/inetd.conf中注釋掉services中相應的條目 
    查找并重啟inetd進程 
    #ps –ef | grep inetd (獲得進程號) 
    #kill –HUP <進程號> 
    停止在上述列表中沒有定義的服務 
    方法:將文件改名(用mv命令,可以將S改為X) 
    停止相應進程 
    服務: 
    服務 文件 進程 
    sendmail /etc/rc2.d/S88sendmail Sendmail 
    DNS /etc/rc2.d/S72inetsvc中in.named一項注釋掉 in.named 
    named.xfer 
    NFS /etc/rc3.d/S15nfs.server 
    注釋掉/etc/dfs/dfstab中條目 Nfsd 
    Automounter /etc/rc2.d/S74autofs 
    刪除/etc/auto_* 
    ntp /etc/rc2.d/S74xntpd Xntpd 
    syslog /etc/rc2.d/S74syslog Syslogd 
    打印 /etc/rc2.d/S80lp lpshut 

    23、使Sendmail更安全 
    使用最新版本的Berkeley sendmail (see section 3),從/etc/aliases里刪除decode 將/etc/aliases的權限設為644,關掉expn和vrfy命令。將 
    O PrivacyOptions=authwarning 
    改成 
    O PrivacyOptions=goaway 
    檢查 Sendmail 是否支持發信認證 
    參考devtools/Site/README文件在devtools/Site下建立如下site.config.m4 文件: 
    APPENDDEF(`conf_sendmail_ENVDEF', `-DSASL') 
    APPENDDEF(`conf_sendmail_LIBS', `-lsasl') 
    給Sendmail編譯進SASL支持。 
    cd sendmail; 執行:sh Build 編譯sendmail。 
    到cf/cf 目錄下,拷貝 generic-linux.mc 為 sendmail.mc, 在sendmail.mc 中增加以下內容: 
    define(`confSMTP_LOGIN_MSG',`$m Server')dnl 
    改變sendmail歡迎信息 
    define(`confAUTH_MECHANISMS', `LOGIN')dnl 
    Unix帳號認證 
    define(`confPRIVACY_FLAGS',`novrfy,noexpn,noverb')dnl 禁用命令 
    define(`confMAX_DAEMON_CHILDREN', `128')dnl 
    define(`confCONNECTION_RATE_THROTTLE', `32')dnl 
    (抗拒絕服務攻擊) 

    24、增加DNS服務安全 
    關閉 zone 轉換選項 
    不使用文件. named ,轉而使用 /var/bind 
    關閉 lame server log messages 
    在/var/bind里面加入 
    options { 
    directory "/var/named"; 
    forwarders{ 
    202.106.120.1; 
    }; 
    version "InterSoft Super DNS Server 2.0.4"; 
    allow-transfer {none;}; 
    }; 

    logging { 
    category "lame-servers" { "null"; }; 
    }; 

    25、鑒于更改s位程序有可能影響正常服務,建議不要改動,但是可定期查看s位程序列表,對比是否有增減。 
    # find / -perm -4000 -print 

    26、使CDE程序無效(除非你堅持要使用圖形控制臺) [此項可選] 
    使CDE程序無效(除非你堅持要使用圖形控制臺) 
    將 /etc/rc2.d/S99dtlogin 改名 

    五、使用sun的補丁檢查工具檢查系統安裝的補丁情況 
    運行該工具檢查系統補丁的如下情況: 
    - latest revisions 
    - recommended patches 
    - security patches 
    - year 2000 patches 
    - other patches relevant to the software environment 
    (Sun 網站有專門的補丁檢查工具) 
    及時修補最新漏洞、打上補丁

     icetiger 回復于:2003-07-16 13:43:44
    老鄉啊。這可真是好東西!我頂~~~~~~~~~~~~

     real 回復于:2003-07-16 14:11:08
    剛好要用到,謝謝!先試試!

     隨風飄逸 回復于:2003-07-16 16:09:16
    UP

     feng4321 回復于:2003-07-16 16:20:28
    好東西

     隨風飄逸 回復于:2003-07-16 16:35:56
    UP

     rocazj 回復于:2003-08-15 10:03:43
    前人栽樹,后人乘涼。

     garygao 回復于:2003-08-15 10:16:54
    不錯!

     aix 回復于:2003-08-15 11:15:54
    goodest

     thehenry 回復于:2003-08-15 11:44:18
    好人長命百歲啊

     c0t0d0s7 回復于:2003-09-12 18:59:12
    好文章!
    UP!

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>