標籤:
原文連結:http://os.51cto.com/art/201312/423095.htm
說明:經常玩Linux系統的朋友多多少少也知道些系統參數最佳化和怎樣增強系統安全性,系統預設的一些參數都是比較保守的,所以我們可以通過調整系統參數來提高系統記憶體、CPU、核心資源的佔用,通過禁用不必要的服務、連接埠,來提高系統的安全性,更好的發揮系統的可用性。通過自己對Linux瞭解,對系統調優做了如下小結:
作業系統:CentOS 6.5_x64迷你安裝
1、主機名稱設定
[[email protected]~]# vi /etc/sysconfig/network HOSTNAME=test.com [[email protected]~]# hostname test.com #臨時生效
2、關閉SELinux
我是把selinux設定為 permissive
[[email protected]~]# vi /etc/selinux/config SELINUX=disabled [[email protected]~]# setenforce #臨時生效 [[email protected]~]# getenforce #查看selinux狀態
3、清空防火牆並設定規則
這個作為參考,關閉不用的連接埠即可
[[email protected]~]# iptables -F #清楚防火牆規則 [[email protected]~]# iptables -L #查看防火牆規則 [[email protected]~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT [[email protected]~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT [[email protected]~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT [[email protected]~]# iptables -A INPUT -p udp --dport 53 -j ACCEPT [[email protected]~]# iptables -A INPUT -p udp --dport 123 -j ACCEPT [[email protected]~]# iptables -A INPUT -p icmp -j ACCEPT [[email protected]~]# iptables -P INPUT DROP [[email protected]~]# /etc/init.d/iptables save
4、添加普通使用者並進行sudo授權管理
[[email protected]~]# useradd user [[email protected]~]# echo "123456" | passwd --stdin user #設定密碼 [[email protected]~]# vi /etc/sudoers #或visudo開啟,添加user使用者所有許可權 root ALL=(ALL) ALL user ALL=(ALL) ALL
5、禁用root遠程登入
[[email protected]~]# vi /etc/ssh/sshd_config PermitRootLogin no PermitEmptyPasswords no #禁止空密碼登入 UseDNSno #關閉DNS查詢
6、關閉不必要開機自啟動服務
7、刪除不必要的系統使用者
8、關閉重啟ctl-alt-delete按鍵組合
[[email protected] ~]# vi /etc/init/control-alt-delete.conf #exec /sbin/shutdown -r now "Control-Alt-Deletepressed" #注釋掉
9、調整檔案描述符大小
[[email protected] ~]# ulimit –n #預設是1024 1024 [[email protected] ~]# echo "ulimit -SHn 102400">> /etc/rc.local #設定開機自動生效
10、去除系統相關資訊
- [[email protected] ~]# echo "Welcome to Server" >/etc/issue
- [[email protected] ~]# echo "Welcome to Server" >/etc/redhat-release
11、修改history記錄
- [[email protected] ~]# vi /etc/profile #修改記錄10個
- HISTSIZE=10
12、同步系統時間
- [[email protected] ~]# cp /usr/share/zoneinfo/Asia/Shanghai/etc/localtime #設定Shanghai時區
- [[email protected] ~]# ntpdate cn.pool.ntp.org ;hwclock–w #同步時間並寫入blos硬體時間
- [[email protected] ~]# crontab –e #設定任務計劃每天零點同步一次
- 0 * * * * /usr/sbin/ntpdate cn.pool.ntp.org ; hwclock -w
13、核心參數最佳化
[[email protected] ~]# vi /etc/sysctl.conf #末尾添加如下參數 net.ipv4.tcp_syncookies = 1 #1是開啟SYN Cookies,當出現SYN等待隊列溢出時,啟用Cookies來處,理,可防範少量SYN攻擊,預設是0關閉 net.ipv4.tcp_tw_reuse = 1 #1是開啟重用,允許講TIME_AIT sockets重新用於新的TCP串連,預設是0關閉 net.ipv4.tcp_tw_recycle = 1 #TCP失敗重傳次數,預設是15,減少次數可釋放核心資源 net.ipv4.ip_local_port_range = 4096 65000 #應用程式可使用的連接埠範圍 net.ipv4.tcp_max_tw_buckets = 5000 #系統同時保持TIME_WAIT通訊端的最大數量,如果超出這個數字,TIME_WATI通訊端將立刻被清除並列印警告資訊,預設180000 net.ipv4.tcp_max_syn_backlog = 4096 #進入SYN寶的最大請求隊列,預設是1024 net.core.netdev_max_backlog = 10240 #允許送到隊列的資料包最大裝置隊列,預設300 net.core.somaxconn = 2048 #listen掛起請求的最大數量,預設128 net.core.wmem_default = 8388608 #發送緩衝區大小的預設值 net.core.rmem_default = 8388608 #接受通訊端緩衝區大小的預設值(以位元組為單位) net.core.rmem_max = 16777216 #最大接收緩衝區大小的最大值 net.core.wmem_max = 16777216 #發送緩衝區大小的最大值 net.ipv4.tcp_synack_retries = 2 #SYN-ACK握手狀態重試次數,預設5 net.ipv4.tcp_syn_retries = 2 #向外SYN握手重試次數,預設4 net.ipv4.tcp_tw_recycle = 1 #開啟TCP串連中TIME_WAIT sockets的快速回收,預設是0關閉 net.ipv4.tcp_max_orphans = 3276800 #系統中最多有多少個TCP通訊端不被關聯到任何一個使用者檔案控制代碼上,如果超出這個數字,孤兒串連將立即複位並列印警告資訊 net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_mem[0]:低於此值,TCP沒有記憶體壓力; net.ipv4.tcp_mem[1]:在此值下,進入記憶體壓力階段; net.ipv4.tcp_mem[2]:高於此值,TCP拒絕分配socket。記憶體單位是頁,可根據實體記憶體大小進行調整,如果記憶體足夠大的話,可適當往上調。上述記憶體單位是頁,而不是位元組。
至此CentOS 6.5_x64迷你安裝系統基本最佳化調整完畢,需要重啟下系統。
[轉]CentOS 6.5安全強化及效能最佳化