前面我們學習了tomcat與jvm的優化,明白了爲什麼要優化!今天我們來深入的學習下系統的安全優化!這個是我們在實際工作中必須會的,系統優化的好壞直接影響你服務器運行的情況。所以大家一定要重視優化.這裏我把我工作中給服務器做的一個系統優化方案給大家參考下,大家工作中就按照這個標準去部署到自己的服務器上就可以啦!
本文介紹Linux部署優化概念,使用參數,指導運維更好的瞭解Linux工作原理,維護與安全,讓公司網站更好的運行。
Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡爲核心的設計思想,是一個性能穩定的多用戶網絡操作系統。
1.安裝部署原則
安裝最小化,分區合理化。用戶密碼複雜化。
2.優化原因
部署完Linux系統,默認安裝開啓了很多不需要服務,佔用硬件資源,有些功能是根據客戶的需要添加的故要做進一步優化。
3.Linux系統優化原則
安裝系統最小化,開啓服務最小化,操作最小化,登錄最小化,配置參數合理,權限最小化
1、centos6.6最小化安裝後啓動網卡
2、ifconfig查詢IP進行SSH鏈接
3、更新系統源
4、系統時間更新和設定定時任務
5、修改ip地址、網關、主機名、DNS
6、關閉selinux,清空iptables
7、創建普通用戶並進行sudo授權管理
8、修改SSH端口號和屏蔽root賬號遠程登陸
9、鎖定關鍵文件系統(禁止非授權用戶獲得權限)
10、精簡開機自啓動服務
11、調整系統文件描述符大小
12、設置系統字符集
13、清理登陸的時候顯示的系統及內核版本
14、內核參數優化
15、定時清理/var/spool/clientmqueue
16、刪除不必要的系統用戶和羣組
17、關閉重啓ctl-alt-delete組合鍵
18、設置一些全局變量
1、啓動網卡
#centos6.x最小化安裝後,網卡默認不是啓動狀態
ifup eth0
2、SSH鏈接 ifconfig 查看IP後SSH終端連接。
3、更新源最小化安裝是沒有wget工具的,必須先安裝在修改源)
yum install wget
備份原系統更新源
mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup
進入yum.repos.d目錄
cd/etc/yum.repos.d
下載阿里鏡像源
wget -O/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
4、系統時間更新和設定定時任務第一種:更新時間並且寫入BOIS
ntpdatetime.windows.com && hwclock -w && hwclock –systohc
5、修改ip地址、網關、主機名、DNS #eth0 網卡設置
6、關閉selinux,清空iptables 在服務器配置完全成功後各項服務正常後,在開啓selinux註釋:“本節在最後”
7、創建普通用戶並進行sudo授權管理創建普通用戶 useradd lele 修改用戶密碼 passwd
8、修改SSH端口號和屏蔽root賬號遠程登陸
###sshd###
GSSAPIAuthentication no
UseDNS no
Port 22
PermitRootLogin no
PermitEmptyPasswords no
###sshd###
9、鎖定關鍵文件系統(禁止非授權用戶獲得權限)
chattr +i /etc/passwd
chattr +i/etc/inittab
chattr +i/etc/group
chattr +i/etc/shadow
chattr +i/etc/gshadow
10、精簡開機自啓動服務
注意: 剛裝完操作系統一般可以只保留crond,network,syslog,sshd這四個服務。後期根據業務需求制定自啓服務
11、調整文件描述符大小
echo '* - nofile 65535'>>/etc/security/limits.conf
#查看文件描述符大小
ulimit -n
12、設置系統字符集
第一種:vi /etc/sysconfig/i18n
如果想用中文提示:LANG=”zh_CN.UTF-8″如果想用英文提示:LANG=”en_US.UTF-8″
13、清理登陸的時候顯示的系統及內核版本
#查看登陸信息
cat/etc/redhat-release cat /etc/issue
#清理登陸信息
echo>/etc/redhat-release
14、內核參數優化 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= 1024 65535
16、刪除不必要的系統用戶和羣組
#刪除不必要的用戶
userdel adm
userdel lp
userdel sync
userdel shutdown
userdel halt
userdel news
userdel uucp
userdel operator
userdel games
userdel gopher
userdel ftp
#刪除不必要的羣組
groupdel adm
groupdel lp
groupdel news
groupdel uucp
groupdel games
groupdel dip
groupdel pppusers
17、關閉重啓ctl-alt-delete組合鍵
vi/etc/init/control-alt-delete.conf
#註釋掉
#exec/sbin/shutdown -r now "Control-Alt-Deletepressed"
18、設置一些全局變量
#設置自動退出終端,防止非法關閉ssh客戶端造成登錄進程過多,可以設置大一些,單位爲秒
echo"TMOUT=3600">> /etc/profile
#歷史命令記錄數量設置爲10條
sed -i"s/HISTSIZE=1000/HISTSIZE=10/" /etc/profile
#立即生效
source/etc/profile
#######防火牆配置#######
iptables -F
iptables -X
iptables -Z
iptables -L -n
/etc/init.d/iptablessave
iptables -A INPUT-p tcp --dport 22 -j ACCEPT
iptables -A INPUT-p tcp --dport 80 -j ACCEPT
iptables -A INPUT-p tcp --dport 443 -j ACCEPT
iptables -A INPUT-p tcp --dport 3306 -j ACCEPT
iptables -A INPUT-p tcp --dport 53 -j ACCEPT
iptables -A INPUT-p udp --dport 53 -j ACCEPT
iptables -A OUTPUT-p icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT-p icmp --icmp-type 8 -j ACCEPT
IPTABLES -A INPUT-i lo -p all -j ACCEP
IPTABLES -A OUTPUT-o lo -p all -j ACCEPT
iptables -A OUTPUT-p tcp --sport 31337 -j DROP
iptables -A OUTPUT-p tcp --dport 31337 -j DROP
iptables -A OUTPUT-p tcp --sport 31340 -j DROP
iptables -A OUTPUT-p tcp --dport 31340 -j DROP
iptables -P INPUTDROP
iptables -P OUTPUTACCEPT
iptables -PFORWARD DROP
iptables -A INPUT-m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT-m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -AINPUT -p tcp --syn -m limit --limit 12/s--limit-burst 24 -j ACCEPT
iptables -AFORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
/etc/init.d/iptablessave
/etc/init.d/iptablesreload
#######################################
看到是不是很多,不懂啊!沒關係,你只要勤快點兒把上面的優化方案部署內容給熟記下來,下面的就是怎麼操作!這裏如果是從最開始看我的文章的童鞋們應該能看到這18項優化內容,有很多都是我們前面做過的,這裏我給他做了個彙總!注意哦!這些是我的一個系統的基本優化,大家可以在此上面改寫適合自己的。首先測試環境哦