一:關閉selinux
第一步:
cd /etc/selinux
第二步:
sed -i 's/selinu=enforcing/selinux=disabled/g' config 修改配置檔案重新開機後 永久生效
第三步:
setenforce 0 關閉目前狀态的selinux
注意:生産環境中主機不可能随便重新開機動,是以2,3兩步既可以讓現在狀态臨時下關閉selinux,也可以滿足重新開機動後也是關閉的
getenforce 檢視目前selinux狀态
二:将運作級别設為3
runlevel 檢視運作級别
三:清理開機服務
for i in `chkconfig --list|grep "3:on"|awk '{print $1}' | grep -ve "crond|network|sshd|rsyslog"`
do
chkconfig $i off;chkconfig --list |grep "3:on"
done
關閉除crond|network|sshd|rsyslog 之外的其他所有服務
四:最小化原則
1 安裝系統最小化
2 開啟程式服務最小化
3 操作最小化原則,rm -f test.txt
4 登入最小化原則,平時沒有需求不用root登入
5 權限最小化
6 配置參數合理,不用最大化
五:更改sshf服務登入的配置
1 port 51224 修改預設端口
2 permitrootlogin no 禁用root 賬号遠端登陸,但是本地能夠登陸
3 permitemptypasswords no 禁止空密碼登陸
4 usedns no 不使用dns
5 gssapiauthentication no
service sshd restart 重新開機服務後生效
部分可能需要開通防火牆才可以連接配接或者關閉防火牆 /etc/init.d/iptables stop
六:使用者角色切換
生産環境下一般操作都使用普通賬戶,隻有特殊指令才使用root賬戶,以保證系統安全無誤操作
在知道root密碼的情況下:使用su - root 切換到root權限
在不知道root密碼的情況下:使用sudo 進行root權限下指令的執行 》執行sudo的前提是,管理者要事先為普通使用者設定sudo
sudo -l 檢視自己的權限
注意:
su - 該指令是真正的使用者角色轉換指令(預設是切換到root),輸入的是root密碼
su - 與su - root 是一個意思:都是切換到root下
su - wu 是 完全切換到wu這個賬号上,需要輸入wu賬号的密碼
------------------------------
sudo 該指令是通過sudo權限進行角色轉換(預設是切換到root)輸入的是執行該指令當時執行指令的賬号的密碼, 非root密碼。
七:字元集調整
lang="en_us.utf-8"
八:伺服器時間同步
1 /usr/sbin/ntpdate time.nist.gov 臨時同步ntp
2 設定 crontab 實時同步
如果伺服器很多,可以自己搭建ntp伺服器
九:加大伺服器檔案描述符
1 臨時加大,但重新開機後失效:ulimit -hsn 65535
2 永久生效: echo "* - nofile 65535" >>/etc/security/limits.conf
登出在重新登入設定生效
十:核心參數的基本調優
vim /etc/sysctl.conf
sysctl -p 生效
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 = 400065000
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