Linux系統調優及安全設定

2022-08-17 23:45:10 字數 3945 閱讀 2076

1.關閉selinux

#臨時關閉

setenforce 0

#永久關閉

vim /etc/selinux/config

selinux=disabled

2.設定執行級別為3

#設定執行級別

vim /etc/inittab

id:3:initdefault:

#檢視當前級別

[root@cobbler ~]# runlevel

n 3

3.精簡開機自啟動

#系統安裝後只保留crond、sshd、network、rsyslog、sysstat五個服務開機啟動

chkconfig --list | grep 3:on | egrep -v "crond|sshd|network|rsyslog|sysstat" | awk '' | bash

4.關閉iptables防火牆

#iptables一般在配置了外網ip的伺服器才需開啟,內網一般關閉。iptables開啟會損失一部分效能

/etc/init.d/iptables stop

#檢查開機啟動項

chkconfig --list | grep iptables

5.修改ssh服務端遠端登入配置

vim /etc/ssh/sshd_config

port 52113 #修改埠

permitrootlogin no #禁止root登入

permitemptypasswords no #禁止空密碼登入

usedns no #不對主機名進行反解,加速連線

gssapiauthentication no #加速連線

listenaddress 172.16.1.0/24 #僅監聽內網ip位址

6.利用sudo控制使用者管理許可權

visudo

peter all=(all) nopasswd: all

#語法檢查

visudo -c

7.調整字符集

vim /etc/sysconfig/i18n

lang="en_us.utf-8" #表示語言為英文,字符集為utf-8

sysfont="latarcyrheb-sun16"

#lang="zh_cn.utf-8" 表示語言為中文,字符集為utf-8

8.設定時間同步

#使用定時任務同步時間伺服器上的時間

echo "time sync by peter at 2017-10-16" >> /var/spool/cron/root

echo "*/5 * * * * /usr/sbin/ntpdate time.nist.gov &> /dev/null" >> /var/spool/cron/root

9.設定歷史記錄和登入超時

#設定登入超時

echo 'export tmout=300' >> /etc/profile

#設定歷史記錄條數

echo 'export histsize=4096' >> /etc/profile

#設定歷史紀錄檔案(~/.bash_history)命令的數量

echo 'export histfilesize=4096' >> /etc/profile

#設定歷史記錄格式

echo 'export histtimeformat="%f %t `whoami` "' >> /etc/profile

#使配置檔案生效

source /etc/profile

10.設定檔案描述符的數量

在編寫檔案操作的或者網路通訊的軟體時,初學者一般可能會遇到「too many open files」的問題。這主要是因為檔案描述符是系統的乙個重要資源,雖然說系統記憶體有多少就可以開啟多少的檔案描述符,但是在實際實現過程中核心是會做相應的處理的,一般最大開啟檔案數會是系統記憶體的10%(以kb來計算)(稱之為系統級限制),檢視系統級別的最大開啟檔案數可以使用sysctl -a | grep fs.file-max命令檢視。與此同時,核心為了不讓某乙個程序消耗掉所有的檔案資源,其也會對單個程序最大開啟檔案數做預設值處理(稱之為使用者級限制),預設值一般是1024,使用ulimit -n命令可以檢視。在web伺服器中,通過更改系統預設值檔案描述符的最大值來優化伺服器是最常見的方式之一。

#設定單個程序檔案描述符的數量

vim /etc/security/limits.conf

* - nofile 65535

#重新登入shell才能檢視更改,因為shell也是乙個程序

[root@cobbler ~]# ulimit -n

65535

#系統級別的檔案描述符數量會在核心引數調優中加以調整

11.核心引數優化

vim /etc/sysctl.conf

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.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.ipv4.tcp_max_orphans = 16384

net.ipv4.ip_forward = 1

#net.ipv4.icmp_echo_ignore_all = 1

net.ipv4.ip_local_port_range = 10000 65000

net.core.somaxconn = 16384

net.core.netdev_max_backlog = 16384

fs.file-max = 2000000

sysctl -p

12.定時清理郵件服務臨時目錄垃圾檔案

#將清理命令寫入指令碼

echo "find /var/spool/postfix/maildrop/ -type f | xargs rm -f" > /server/scripts/del_file.sh

#定時執行指令碼

echo "00 00 * * * /bin/sh /server/scripts/del_file.sh &> /dev/null" >> /var/spool/cron/root

13.隱藏登入時版本資訊

> /etc/issue

> /etc/issue.net

14.鎖定關鍵系統檔案

#鎖定

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

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

15.使用者操作審計

vim /etc/bashrc

export prompt_command=');logger "[euid=$(whoami)]":$(who am i):[`pwd`] "$msg"; }'

Linux 系統網路引數調優設定

接收套接字緩衝區大小的預設值 以位元組為單位 net.core.rmem default 262144 接收套接字緩衝區大小的最大值 以位元組為單位 net.core.rmem max 16777216 傳送套接字緩衝區大小的預設值 以位元組為單位 net.core.wmem default 262...

linux系統調優

cpu 資源的調優 調整nice值改變程序優先順序 1.nice 概述 在 linux 系統中,nice 值的範圍從 20 到 19 不同系統的值範圍是不一樣的 正值表示低優先順序,負值表示高優先順序,值為零則表示不會調整該程序的優先順序。具有最高優先順序的程式,其 nice 值最低,所以在 lin...

Linux系統調優

1 selinux 修改selinux配置檔案,vi etc selinux config selinux disabled 必須重啟後生效,但可使用setenforce臨時生效來關閉 setenforce 0 2 lnittab 配置檔案在 etc inittab,centos7後使用syetem...