簡單的優化,大概從以下幾個方面來優化
1.ssh服務的優化
2.selinux/iptables
3.字符集調整
4.開機自啓動服務優化
5.時間優化(定時任務)
ssh服務的優化
A、修改默認的端口
修改方法。
vim /etc/ssh/sshd_config(修改配置文件)
修改配置文件的13行把默認的22成其他的。注意改完後把註釋去掉
B、禁止root用戶遠程登陸
修改配置文件的42行把yes改成no
C、禁止無密碼登陸
通過ssh登陸的時候要不要密碼。當然要密碼所以yes默認的也是yes
D、禁止DNS解析
把DNS關了可以對鏈接速度提快
selinux
SELinux是一種基於 域-類型 模型(domain-type)的強制訪問控制(MAC)安全系統,它由NSA編寫並設計成內核模塊包含到內核中,相應的某些安全相關的應用也被打了SELinux的補丁,最後還有一個相應的安全策略。
衆所周知,標準的UNIX安全模型是"任意的訪問控制"DAC。就是說,任何程序對其資源享有完全的控制權。假設某個程序打算把含有潛在重要信息的文件扔到/tmp目錄下,那麼在DAC情況下沒人能阻止他!
而MAC情況下的安全策略完全控制着對所有資源的訪問。這是MAC和DAC本質的區別。
SELinux提供了比傳統的UNIX權限更好的訪問控制。
下面介紹關閉和開啓selinux
[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]#
命令行模式通過getrnforce查看selinux的狀態
[root@localhost ~]# setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@localhost ~]# setenforce 1
[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive
[root@localhost ~]#
可以通過setenforce臨時修改selinux 0表示發出警告但是不阻止 1執行
想永久修改selinux的狀態那就要修改配置文件了
vim /etc/selinux/config
selinux的配置文件
修改第六行即可改爲
SELINUX=disabled
這樣就表示關閉selinux 當然你也可以改成警告和執行
修改配置文件要想生效那就要重啓。所以臨時修改加配置文件修改等於永久修改
注意如果你配置文件禁止了selinu那麼命令行的setenforce就改不了了。只有在沒有禁止的情況下纔可以用setenforce改
iptables(防火牆)
查看/etc/init.d/iptables status
關閉/etc/init.d/iptables stop
重啓/etc/init.d/iptables restart
開啓/etc/init.d/iptables start
具體根據情況來確定
字符集的調整
[root@localhost ~]# echo $LANG
en_US.UTF-8
[root@localhost ~]#
用系統默認的 en_US.UTF-8 即可用其他的如果出現亂碼改成en_US.UTF-8就好了
中文的zh_CN.GB2312改成這個系統中的部分英文會翻譯成中文
臨時修改直接
[root@localhost ~]# export LANG=aaa
[root@localhost ~]# echo $LANG
aaa
[root@localhost ~]# echo $LANG
開機自啓動服務的優化
精簡開機系統啓動
Linux在服務器運行過程中,會有很多無用的軟件服務默認就在運行,這些服務佔用了系統資源,帶來安全隱患,因此要關閉這些服務。重要的開機服務如下所示:
sshd
遠程連接Linux服務器需要這個服務程序。否則,無法連接Linux;
rsyslog
是操作系統提供的一種機制,系統的守護程序通常會使用rsyslog將各種信息寫到格格系統日誌文件中。CentOS中此服務名爲syslog;
network
系統啓動時,若想激活/關閉各個網絡接口,則必須啓動該服務;
crond
該服務用於週期性的執行系統及用戶配置的計劃任務;
sysstat
該服務包含監測系統性能及效率的一組工具。這些工具對於收集系統性能數據很有幫助,核心工具包:
修改方法第一種
通過修改 setup
命令行輸入setup
選擇系統服務
system services
然後有星的是開啓的沒有星的是不開啓的可以用空格健切換
選擇好後用tab選擇ok
第二種
[root@localhost ~]# chkconfig | grep -v "sshd|rsyslog|network|crond|sysstat"|awk '{print "chkconfig " $1 " off"}'|bash
通過grep -v 排除不關。然後通過字符串的拼接然後交給bash處理
時間優化
ntpdate ntp1.aliyun.com
把這條命令寫到定時任務裏執行
crontab -e
輸入 * * * * * /usr/sbin/ntpdate ntp1.aliyun.com >>/dev/null 2>&1
記得給命令加絕對路徑