サーバデータベースシリーズ-centos webサーバ環境基本環境構成


  • Webサーバのインストールに必要なパッケージ
  • yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* libevent glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel  lib zlib-devel make libevent libevent-devel pcre pcre-devel
  • は、システムで使用する必要のないユーザグループおよびユーザ
  • を注釈する.
    cp /etc/passwd /etc/passwdbak #       
    vi /etc/passwd #    ,     #     
    #adm:x:3:4:adm:/var/adm:/sbin/nologin
    #lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    #sync:x:5:0:sync:/sbin:/bin/sync
    #shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    #halt:x:7:0:halt:/sbin:/sbin/halt
    #uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
    #operator:x:11:0:operator:/root:/sbin/nologin
    #games:x:12:100:games:/usr/games:/sbin/nologin
    #gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
    #ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin #   ftp    
    cp /etc/group /etc/groupbak #       
    vi /etc/group #     ,     #     
    #adm:x:4:root,adm,daemon
    #lp:x:7:daemon,lp
    #uucp:x:14:uucp
    #games:x:20:
    #dip:x:40:
  • root以外のユーザによるinit*の実行を禁止する.d/下のコマンド
  • chmod -R 700 /etc/rc.d/init.d/*
    chmod -R 777 /etc/rc.d/init.d/* #      
  • 不正なユーザによる権限獲得を防止する
  • .
    chattr +i /etc/passwd
    chattr +i /etc/shadow
    chattr +i /etc/group
    chattr +i /etc/gshadow
    chattr +i /etc/services #             ,              
    lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/services #       
    
    #  :          ,          。
    #          ,          ,           ,        
    chattr -i /etc/passwd #        
    chattr -i /etc/shadow
    chattr -i /etc/group
    chattr -i /etc/gshadow
    chattr -i /etc/services #              
  • 異なるファイル権限を制限
  • chmod 700 /usr/bin #   chmod 555 /usr/bin
    chmod 700 /bin/ping #   chmod 4755 /bin/ping
    chmod 700 /usr/bin/vim #   chmod 755 /usr/bin/vim
    chmod 700 /bin/netstat #   chmod 755 /bin/netstat
    chmod 700 /usr/bin/tail #   chmod 755 /usr/bin/tail
    chmod 700 /usr/bin/less #   chmod 755 /usr/bin/less
    chmod 700 /usr/bin/head #   chmod 755 /usr/bin/head
    chmod 700 /bin/cat #   chmod 755 /bin/cat
    chmod 700 /bin/uname #   chmod 755 /bin/uname
    chmod 500 /bin/ps #   chmod 755 /bin/ps
  • Ctrl+Alt+Deleteによる
  • の再起動を禁止
    cp /etc/inittab /etc/inittabbak
    vi /etc/inittab #        
    #ca::ctrlaltdel:/sbin/shutdown -t3 -r now
  • yum更新非アップグレードカーネルパッケージ
  • システムとハードウェアの互換性の問題で、カーネルをアップグレードした後、サーバが正常に起動できない可能性があります.これは非常に恐ろしく、特別な必要はありません.勝手にカーネルをアップグレードしないことをお勧めします.cp/etc/yum.conf/etc/yum.confbak 1、yumのプロファイルvi/etc/yumを変更する.confは[main]の最後にexclude=kernel*2を追加し、yumのコマンドに直接次のパラメータを追加します:yum--exclude=kernel*updateシステムバージョンcat/etc/issueカーネルバージョンuname-aを表示
  • yum自動更新
  • を閉じる
    chkconfig--list yum-updatesd#現在のシステム状態を表示yum-updatesd 0:閉じる1:閉じる2:有効化3:有効化5:有効化6:service yum-updatesd stopを閉じる開くパラメータstart停止yum-updatesd:[OK]service yum-updatesd status#閉じるかどうかyum-updatesd停止chkconfig--level 35 yum-updatesd off#起動禁止(システムモード3、5)chkconfig yum-updatesd off#起動禁止(すべての起動モードはすべて禁止)chkconfig--list yum-updatesd#現在のシステム状態を表示yum-updatesd 0:閉じる1:閉じる2:閉じる3:閉じる4:閉じる5:閉じる6:閉じる
  • 仮想コンソール
  • を閉じる
    コンソールからXウィンドウに切り替えるには、Alt-F 7が一般的に使われていることを知っています.なぜですか.システムのデフォルトでは6つの仮想コンソールが定義されているため、Xは7番目になります.実際、多くの人は一般的にこんなに多くの仮想コンソールを必要としないで、/etc/inittabを修正して、あなたが必要としないものを注釈します.cp/etc/inittab/etc/inittabbak vi/etc/inittab # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 #2:2345:respawn:/sbin/mingetty tty2 #3:2345:respawn:/sbin/mingetty tty3 #4:2345:respawn:/sbin/mingetty tty4 #5:2345:respawn:/sbin/mingetty tty5 #6:2345:respawn:/sbin/mingetty tty6
  • historyコマンドレコードの変更
  • cp /etc/profile /etc/profilebak
    vi /etc/profile
       HISTSIZE=1000    HISTSIZE=50
  • サーバカーネルの最適化
  • cp/etc/sysctl.conf/etc/sysctl.confbak vi/etc/sysctl.conf#ファイルの末尾に以下の内容netを追加する.ipv4.tcp_max_syn_backlog = 65536 net.core.netdev_max_backlog = 32768 net.core.somaxconn = 32768 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_tw_recycle = 1 #net.ipv4.tcp_tw_len = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_max_orphans = 3276800 #net.ipv4.tcp_fin_timeout = 30 #net.ipv4.tcp_keepalive_time = 120 net.ipv4.ip_local_port_range=10024 65535#(外部への接続に使用されるポートの範囲を示します.デフォルトでは小さい:32768~61000注意:ここでは最低値を低く設定しないでください.そうしないと、通常のポートを占有する可能性があります!)/sbin/sysctl-p#構成をすぐに有効にします
  • システム最適化
  • cp/etc/profile/etc/profilebak 2 vi/etc/profile#ファイルの末尾に以下の内容を追加ulimit-c unlimited ulimit-s unlimited ulimit-SHn 65535 source/etc/profile#構成をすぐに有効にするulimit-a#現在の各種ユーザープロセス制限を表示
  • 時間構成
  • yum install –y ntp  
      NTP          (NTP:        )  
    /usr/sbin/ntpdate -s pool.ntp.org  
     NTP               
     crontab -e  
              
    0 3 * * * /usr/sbin/ntpdate -s pool.ntp.org  
            ,      3         
    # /sbin/service crond reload  
              
  • 外部ping
  • は許可する.
    cp /etc/rc.d/rc.local /etc/rc.d/rc.localbak
    vi /etc/rc.d/rc.local #            
    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all