Linux 系統優化-workstation實踐
阿新 • • 發佈:2020-12-02
Linux 系統優化
關閉SELinux
[root@workstation ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
[root@workstation ~]# setenforce 0
[root@workstation ~]# getenforce
關閉Firewalld防火牆
等業務除錯好之後再開啟,防止在部署業務期間,防火牆的影響。
[root@workstation ~]# systemctl stop firewalld [root@workstation ~]# systemctl disable firewalld
修改字符集
根據嘗試修改適合的字符集即可,這裡該成中文字符集。
[root@workstation ~]# LANG=zh_CN.utf-8
[root@workstation ~]# vi /etc/locale.conf
LANG="zh_CN.UTF-8"
使用阿里雲映象做yum源
[root@workstation ~]# rm -fr /etc/yum.repos.d/* cd /etc/yum.repos.d/ curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-6.repo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
安裝常用軟體
yum -y install tree nmap sysstat lrzsz dos2unix telnet bash-completion bash-completion-extras vim nc lsof net-tools rsync ntpdate
更改vim編輯器別名
[root@workstation ~]# alias vi='vim'
[root@workstation ~]# vi /etc/profile.d/vi.sh
alias vi='vim'
時間同步
echo '#Time synchronization time' >>/var/spool/cron/root echo '0 0 * * * /usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null' >>/var/spool/cron/root crontab -l
加大檔案描述符
echo '* - nofile 65535 ' >>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
PS1變數優化
[root@workstation ~]# vi /etc/profile.d/PS1.sh
PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ "
核心優化
cat >>/etc/sysctl.conf<<EOF
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
EOF
[root@workstation ~]# sysctl -p
sshd遠端連線優化
sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
grep 'UseDNS no' /etc/ssh/sshd_config
sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/sshd_config
grep 'GSSAPIAuthentication no' /etc/ssh/sshd_config
systemctl restart sshd
安全優化
>/etc/issue
>/etc/issue.net
>/etc/motd
# 使用者登陸超時
echo 'export TMOUT=900' >> /etc/profile
優化總結
不用root登入管理系統,而以普通使用者登入通過sudo授權管理。
更改預設的遠端連線SSH服務埠,禁止root使用者遠端連線,甚至要更改SSH服務只監聽內網IP。
定時自動更新伺服器的時間,使其和網際網路時間同步。
配置yum更新源,從國內更新源下載安裝軟體包。
關閉SELinux及iptables(在工作場景中,如果有外部IP一般要開啟iptables,高併發高流量的伺服器可能無法開啟)。
調整檔案描述符的數量,程序及檔案的開啟都會消耗檔案描述符數量。
定時自動清理郵件臨時目錄垃圾檔案,防止磁碟的inodes數被小檔案佔滿(注意Centos6和Centos5要清除的目錄不同)。
精簡併保留必要的開機自啟動服務(如crond、sshd、network、rsyslog、sysstat)。
Linux核心引數優化/etc/sysctl.conf,執行sysctl -p生效。
更改系統字符集為“zh_CN.UTF-8”,使其支援中文,防止出現亂碼問題。
鎖定關鍵系統檔案如/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、/etc/inittab,處理以上內容
後把chattr、lsattr改名為luffy,轉移走,這樣就安全多了。
清空/etc/issue、/etc/issue.net,去除系統及核心版本登入前的螢幕顯示。
清除多餘的系統虛擬使用者賬號。
為grub引導選單加密碼。
禁止主機被ping。
打補丁並升級有已知漏洞的軟體。 新系統 yum –y install 已經在線上用的伺服器 web伺服器能夠停止。