linux高級應用篇------系統優化

       在機器上安裝完linux系統後,通常要作的有系統更新、軟件安裝、軟件更新、系統優化等等,本次咱們來討論最容易忘卻和忽略的系統優化。linux

        如下針對linux列出一系列優化點,並列出每點的優化命令(經測試)安全

        適用於(CentOS/Redhat/Fedora 5-6版本)
bash


1. 關閉SELinux功能服務器

        sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/configcookie

        setenforce 0 > /dev/null 2>&1ssh


2. 設置運行級別爲3tcp

        sed -i 's#id:5:initdefault:#id:3:initdefault:#' /etc/inittabide


3. 精簡開機啓動測試

    方法一:優化

        LANG=en && for name in `chkconfig --list | grep 3:on | awk '{print $1}' | grep -Ev "sshd|network|sysstat|crond|rsyslog" `; do chkconfig $name off; done

    方法二:

        LANG=en && chkconfig --list | grep 3:on | grep -vE "crond|sshd|network|rsyslog|sysstat" | awk '{print $1}' | sed -r 's#(.*)#chkconfig \1 off#g'|bash

    方法三:

        LANG=en && chkconfig --list | grep 3:off | awk '{print $1}' | grep -Ev "sshd|network|sysstat|crond|rsyslog" | awk '{print "chkconfig " $1 " off"}' | bash


4. 關閉iptables防火牆(有外網ip需謹慎)

        /etc/init.d/iptables stop && chkconfig iptables off


5. ssh優化 關閉userDNS檢查、更改訪問端口、禁止空密碼登錄、禁止root登錄、關閉GSS檢查

    sed -r  -e 's/#?UseDNS yes/UseDNS no/'  \

    -e 's/#+Port 22/Port 22/'  \

    -e 's/#+PermitEmptyPasswords no/PermitEmptyPasswords no/'  \

    -e 's/#+PermitRootLogin yes/PermitRootLogin no/'  \

    -e 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/'  \ 

    -i /etc/ssh/sshd_config  

        ##經過防火牆限制僅能使用內網IP鏈接服務器(慎用)

            iptables -I INPUT -p tcp --dport 22 -s 192.168.56.0/24 -j ACCEPT 


6. sudo安全管理

    方法一:

        visodu 手動管理

    方法二:

        sed -i "`grep -En "^root" /etc/sudoers| awk -F ':' '{print $1}'`aroot\tALL=(ALL)\tNOPASSWD: ALL" /etc/sudoers && visudo -c 


7. 中文顯示 先備份,再修改,最後比對

        cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori && sed -i 's#en_US.UTF-8#zh_CN.UTF-8#g' /etc/sysconfig/i18n && source /etc/sysconfig/i18n


8. 時間同步

    echo "#time sync by cnlisea at `date +%F" "%T`" >> /var/spool/cron/root

    echo "*/30 * * * * /usr/sbin/ntpdate pool.ntp.org > /dev/null 2>&1" >> /var/spool/cron/root     hwclock


9. 系統使用設置 

    設置閒置帳號超時時間

        echo "export TMOUT=300" >> /etc/bashrc

    設置歷史命令數

        echo "export HISTSIZE=5" >> /etc/bashrc 

    歷史記錄文件的命令數據

        echo "export HISTFILESIZE=5" >> /etc/bashrc

        source /etc/bashrc


10. 調整linux系統文件描述符數量

    echo -e "*\t\t-\tnofile\t\t65535" >> /etc/security/limits.conf

    source /etc/bashrc


11. linux內核參數優化

    net.ipv4.tcp_fin_timeout = 2

    net.ipv4.tcp_tw_reuse = 1

    net.ipv4.tcp_tw_recycle = 1

    net.ipv4.tcp_syncookies = 1

    net.ipv4.tcp_keepalive_time = 600

    net.ipv4.ip_local_port_range = 4000 65000

    net.ipv4.tcp_max_syn_backlog = 16384

    net.ipv4.tcp_max_tw_buckets = 36000

    net.ipv4.route.gc_timeout = 100

    net_ipv4.tcp_syn_retries = 1

    net.ipv4.tcp_synack_retries = 1

    net.core.somaxconn = 16384

    net.core.netdev_max_backlog = 16384

    net.ipv4.tcp_max_orphans = 16384

    //是參iptables防火牆的優化

    net.nf_conntrack_max = 25000000

    net.netfilter.nf_conntrack_max = 25000000

    net.netfilter.nf_conntrack_tcp_timeout_established = 180

    net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120

    net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60

    net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

    ##從新加載系統參數

    sysctl -p


12. 隱藏linux版本信息

    > /etc/issue

    > /etc/issue.net


13. 鎖定關鍵系統文件(慎用)

    加鎖 chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

    解鎖 chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

    將chattr更名轉稱

    mv /usr/bin/chattr /usr/bin/lisea


14. 清除多餘的系統虛擬帳號

    按需清理。


15. 禁止系統被ping(慎用)

    echo "net.ipv4.icmp_echo_ignore_all = 1" >> /etc/sysctl.conf

    sysctl -p

相關文章
相關標籤/搜索