<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # 優化條目: - 固定ip地址、網關、主機名、DNS等 - 關閉selinux,清空iptables - 添加普通用戶并進行sudo授權管理 - 刪除非必要的用戶 - 更新yum源及必要軟件安裝 - 定時自動更新服務器時間 - 精簡開機自啟動服務 - 修改默認的ssh服務端口,使用密鑰登錄系統,禁止用戶使用密碼遠程連接 - 鎖定關鍵文件系統 - 調整文件描述符大小 - 去除系統及內核版本登錄前的屏幕顯示 - 禁止ping - 歷史記錄 - 內核參數優化 ## 1. 固定ip地址、網關、主機名、DNS等 ``` [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #網卡名字 BOOTPROTO=static #靜態IP地址獲取狀態 如:DHCP表示自動獲取IP地址 IPADDR=192.168.1.113 #IP地址 NETMASK=255.255.255.0 #子網掩碼 ONBOOT=yes #是否開機自啟 GATEWAY=192.168.1.1 [root@localhost ~]# vi /etc/hostname #修改主機名重啟后永久生效 localhost.localdomain [root@localhost ~]# hostname zabbix #修改主機名本次生效 [root@localhost ~]# vi /etc/resolv.conf #修改DNS信息 nameserver 114.114.114.114 nameserver 8.8.8.8 [root@localhost ~]# service network restart #重啟網卡,生效 ``` ## 2. 關閉selinux,清空iptables ``` [root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config #永久關閉selinux需要重啟生效 [root@localhost ~]# setenforce 0 #臨時關閉selinux,本次生效 [root@localhost ~]# getenforce #查看selinux狀態 [root@localhost ~]# iptables -F #清空已存iptables記錄 ``` ## 3. 添加普通用戶并進行sudo授權管理 ``` [root@localhost ~]# useradd liuw #新建賬戶 [root@localhost ~]# visudo #編輯sudoers文件,用戶重新登錄后生效 root ALL=(ALL) ALL liuw ALL=(ALL) ALL #新增這一行,執行sudo需要輸入用戶自己的密碼 liuw ALL=(ALL) NOPASSWD:ALL #新增這一行,可無密碼執行sudo命令 ``` ## 4. 刪除非必要的用戶 ``` 可刪除的用戶: adm,lp,sync,shutdown,halt,news,uucp,operator,games,gipher ``` ## 5. 更新yum源及必要軟件安裝 ``` [root@localhost ~]# ls /etc/yum.repos.d/ CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo [root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #替換官方yum源為阿里云 [root@localhost ~]# yum clean all #清空yum緩存 [root@localhost ~]# yum makecache #生成yum緩存 ``` ## 5. 定時同步服務器時間 ``` 手動修改時間 date -s "20190101 18:05:06" 或 timedatectl set-time '2019-12-08' 設置時區 timedatectl set-timezone Asia/Shanghai 同步ntp服務器時間,可搭配任務計劃 yum -y install ntp ntpdate #安裝同步工具 ntpdate 2.asia.pool.ntp.org #同步時間 編輯時間配置文件每隔2天同步一次 vi /etc/crontab # * */48* * * ntpdate 2.asia.pool.ntp.org 將系統時間寫入硬件時間 # hwclock --systohc ``` ## 6. 精簡開機自啟動服務 ``` chkconfig --list #列出開機啟動的服務 chkconfig --add <name> #新增開機啟動的服務 chkconfig --del <name> #刪除開機啟動的服務 chkconfig --level 35 mysqld on #設定mysqld在等級3和5為開機運行服務 過濾出已經開啟的啟動項 systemctl list-unit-files | grep enable auditd.service enabled 安全審計 保留 autovt@.service enabled 登錄相關 保留 crond.service enabled 定時任務 保留 dbus-org.fedoraproject.FirewallD1.service enabled dbus-org.freedesktop.NetworkManager.service enabled dbus-org.freedesktop.nm-dispatcher.service enabled firewalld.service enabled 防火墻 保留 getty@.service enabled tty控制 保留 irqbalance.service enabled kdump.service enabled 內核崩潰信息捕獲 可關閉 lvm2-monitor.service enabled microcode.service enabled NetworkManager-dispatcher.service enabled 網卡守護進程 關閉 NetworkManager.service enabled postfix.service enabled 郵件服務 關閉 rsyslog.service enabled 日志服務 保留 sshd.service enabled 用于遠程訪問 保留 systemd-readahead-collect.service enabled 內核調用預讀取 保留 systemd-readahead-drop.service enabled systemd-readahead-replay.service enabled tuned.service enabled dm-event.socket enabled lvm2-lvmetad.socket enabled lvm2-lvmpolld.socket enabled default.target enabled 默認啟動項 multi-user.target的軟連接 保留 multi-user.target enabled 啟動用戶命令環境 保留 remote-fs.target enabled 集合遠程文件掛載點 自定 runlevel2.target enabled 集合遠程文件掛載點 自定 runlevel3.target enabled runlevel4.target enabled ``` ## 7. 修改默認的ssh服務端口,使用密鑰登錄系統,禁止用戶使用密碼遠程連接 ``` 修改ssh默認端口 [root@localhost ~]# vi /etc/ssh/sshd_config #Port 22 默認22端口是缺省的 復制后刪除# Port 11122 [root@localhost ~]# systemctl restart sshd 注意:如果是遠程修改的話,在重啟sshd前要確保新端口11122已經開放 創建使用密鑰 [root@localhost ~]# ssh-keygen -t rsa 后按2次回車,默認在/root/.ssh/下生成2個文件id_rsa id_rsa.pub 其中id_rsa為私鑰 id_rsa.pub為公鑰 登錄的一方持有私鑰,被登錄的服務器使用的是公鑰 [root@localhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.0.111 可以通過ssh-copy-id將生成的公鑰發送給對方服務器,發送過去后,遠程主機會產生.ssh/authorized_keys文件,權限是600,本地會多出.ssh/known_hosts文件 無法使用密鑰登錄時可以排查一下遠程主機authorized_keys的權限問題 禁止root用戶遠程登錄服務器 [root@localhost ~]# vi /etc/ssh/sshd_config 把#PermitRootLogin yes改為PermitRootLogin no禁止root遠程登錄,保存并退出 只允許密鑰登錄 [root@localhost ~]# vi /etc/ssh/sshd_config RSAAuthentication yes PubkeyAuthentication yes PasswordAuthentication no ``` ## 8. 鎖定關鍵文件系統 ``` 加鎖,不可修改加鎖文件 [root@localhost ~]# chattr +i /etc/passwd [root@localhost ~]# lsattr /etc/passwd ----i--------e-- /etc/passwd 去鎖,可以修改文件 [root@localhost ~]# chattr -i /etc/passwd [root@localhost ~]# lsattr /etc/passwd -------------e-- /etc/passwd 使用chattr命令后,為了安全我們需要將其改名 mv /usr/bin/chattr /usr/bin/任意名稱 ``` ## 9. 調整文件描述符大小 ``` 查看linux服務器文件描述符設置的情況 ulimit -n 1024 默認打開的文件描述符就是1024 對于高并發業務來講,默認值肯定不夠 cat /etc/security/limits.conf 65535是最大支持的文件描述符 root soft nofile 65535 root hard nofile 65535 可以使用下面一行來替代上面 * - nofile 65535 表示對任意用戶都生效 重啟后生效 ``` ## 10. 去除系統及內核版本登錄前的屏幕顯示 ``` [root@localhost ~]# cat /etc/issue \S Kernel \r on an \m 這是現有的提示,打印了內核版本 [root@localhost ~]# cat /dev/null > /etc/issue 重定向空文件后將不會有額外提示 ``` ## 11. 禁止ping ``` [root@localhost ~]# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all 0 關閉 1 開啟 0 表示可以ping通 1 表示不能ping通 ``` ## 12. 歷史記錄 ``` #修改歷史命令記錄條數 [root@localhost ~]# vi /etc/profile HISTSIZE=1000 默認記錄1000條歷史命令 修改后執行source /etc/profile生效 # 以下都是臨時生效,默認1000不需要更改 # 設置的是閑置賬號的超時時間 export TMOUT=10 10秒后提示超時時間 # 設置終端history顯示條數 export HISTSIZE=5 只顯示最近5條信息 # 上面的終端顯示對應的是 cat ~/.bash_history export HISTFILESIZE=5 該文件只保存5條信息 # 清空歷史記錄 history -c # 指定條數刪除 history -d 歷史記錄條屬 ``` ## 13. 內核參數優化 ``` [root@localhost ~]# vi /etc/sysctl.conf ``` 參數名稱 | 默認值 | 建議值 | 參數描述 ---|---|---|--- tcp_syn_retries | 5| 1| 對于一個新建連接,內核要發送多少個 SYN 連接請求才決定放棄。不應該大于255,默認值是5,對應于180秒左右時間。(對于大負載而物理通信良好的網絡而言,這個值偏高,可修改為2.這個值僅僅是針對對外的連接,對進來的連接,由tcp_retries1決定的) tcp_synack_retries| 5| 1| 對于遠端的連接請求SYN,內核會發送SYN + ACK數據報,以確認收到上一個 SYN連接請求包。這是所謂的三次握手( threeway handshake)機制的第二個步驟。這里決定內核在放棄連接之前所送出的 SYN+ACK 數目。不應該大于255,默認值是5,對應于180秒左右時間。 tcp_keepalive_time| 7200| 600| TCP發送keepalive探測消息的間隔時間(秒),用于確認TCP連接是否有效。防止兩邊建立連接但不發送數據的攻擊。 tcp_keepalive_probes| 9| 3| TCP發送keepalive探測消息的間隔時間(秒),用于確認TCP連接是否有效。 tcp_keepalive_intvl| 75| 15| 探測消息未獲得響應時,重發該消息的間隔時間(秒)。默認值為75秒。 (對于普通應用來說,這個值有一些偏大,可以根據需要改小.特別是web類服務器需要改小該值,15是個比較合適的值) tcp_retries2| 15| 5| 在丟棄激活(已建立通訊狀況)的TCP連接之前﹐需要進行多少次重試。默認值為15,根據RTO的值來決定,相當于13-30分鐘(RFC1122規定,必須大于100秒).(這個值根據目前的網絡設置,可以適當地改小,我的網絡內修改為了5) tcp_orphan_retries| 7| 3| 在近端丟棄TCP連接之前﹐要進行多少次重試。默認值是7個﹐相當于 50秒 - 16分鐘﹐視 RTO 而定。如果您的系統是負載很大的web服務器﹐那么也許需要降低該值﹐這類 sockets 可能會耗費大量的資源。另外參的考tcp_max_orphans。(事實上做NAT的時候,降低該值也是好處顯著的,我本人的網絡環境中降低該值為3) tcp_fin_timeout| 60| 2| 對于本端斷開的socket連接,TCP保持在FIN-WAIT-2狀態的時間。對方可能會斷開連接或一直不結束連接或不可預料的進程死亡。默認值為 60 秒。 tcp_max_tw_buckets| 180000| 36000| 系統在同時所處理的最大 timewait sockets 數目。如果超過此數的話﹐time-wait socket 會被立即砍除并且顯示警告信息。之所以要設定這個限制﹐純粹為了抵御那些簡單的 DoS 攻擊﹐不過﹐如果網絡條件需要比默認值更多﹐則可以提高它(或許還要增加內存)。(事實上做NAT的時候最好可以適當地增加該值) tcp_tw_recycle| 0| 1| 打開快速 TIME-WAIT sockets 回收。除非得到技術專家的建議或要求﹐請不要隨意修改這個值。(做NAT的時候,建議打開它) tcp_tw_reuse| 0| 1| 表示是否允許重新應用處于TIME-WAIT狀態的socket用于新的TCP連接(這個對快速重啟動某些服務,而啟動后提示端口已經被使用的情形非常有幫助) tcp_max_orphans| 8192| 32768| 系統所能處理不屬于任何進程的TCP sockets最大數量。假如超過這個數量﹐那么不屬于任何進程的連接會被立即reset,并同時顯示警告信息。之所以要設定這個限制﹐純粹為了抵御那些簡單的 DoS 攻擊﹐千萬不要依賴這個或是人為的降低這個限制。如果內存大更應該增加這個值。(這個值Redhat AS版本中設置為32768,但是很多防火墻修改的時候,建議該值修改為2000) tcp_abort_on_overflow| 0| 0| 當守護進程太忙而不能接受新的連接,就象對方發送reset消息,默認值是false。這意味著當溢出的原因是因為一個偶然的猝發,那么連接將恢復狀態。只有在你確信守護進程真的不能完成連接請求時才打開該選項,該選項會影響客戶的使用。(對待已經滿載的sendmail,apache這類服務的時候,這個可以很快讓客戶端終止連接,可以給予服務程序處理已有連接的緩沖機會,所以很多防火墻上推薦打開它) tcp_syncookies| 0| 1| 只有在內核編譯時選擇了CONFIG_SYNCOOKIES時才會發生作用。當出現syn等候隊列出現溢出時象對方發送syncookies。目的是為了防止syn flood攻擊。 tcp_stdurg| 0| 0| 使用 TCP urg pointer 字段中的主機請求解釋功能。大部份的主機都使用老舊的 BSD解釋,因此如果您在Linux 打開它﹐或會導致不能和它們正確溝通。 tcp_max_syn_backlog| 1024| 16384| 對于那些依然還未獲得客戶端確認的連接請求﹐需要保存在隊列中最大數目。對于超過 128Mb 內存的系統﹐默認值是 1024 ﹐低于 128Mb 的則為 128。如果服務器經常出現過載﹐可以嘗試增加這個數字。警告﹗假如您將此值設為大于 1024﹐最好修改include/net/tcp.h里面的TCP_SYNQ_HSIZE﹐以保持TCP_SYNQ_HSIZE*16(SYN Flood攻擊利用TCP協議散布握手的缺陷,偽造虛假源IP地址發送大量TCP-SYN半打開連接到目標系統,最終導致目標系統Socket隊列資源耗盡而無法接受新的連接。為了應付這種攻擊,現代Unix系統中普遍采用多連接隊列處理的方式來緩沖(而不是解決)這種攻擊,是用一個基本隊列處理正常的完全連接應用(Connect()和Accept() ),是用另一個隊列單獨存放半打開連接。這種雙隊列處理方式和其他一些系統內核措施(例如Syn-Cookies/Caches)聯合應用時,能夠比較有效的緩解小規模的SYN Flood攻擊(事實證明) tcp_window_scaling| 1| 1| 該文件表示設置tcp/ip會話的滑動窗口大小是否可變。參數值為布爾值,為1時表示可變,為0時表示不可變。tcp/ip通常使用的窗口最大可達到 65535 字節,對于高速網絡,該值可能太小,這時候如果啟用了該功能,可以使tcp/ip滑動窗口大小增大數個數量級,從而提高數據傳輸的能力(RFC 1323)。(對普通地百M網絡而言,關閉會降低開銷,所以如果不是高速網絡,可以考慮設置為0) tcp_timestamps| 1| 1| Timestamps 用在其它一些東西中﹐可以防范那些偽造的sequence 號碼。一條1G的寬帶線路或許會重遇到帶out-of-line數值的舊sequence 號碼(假如它是由于上次產生的)。Timestamp 會讓它知道這是個 '舊封包'。(該文件表示是否啟用以一種比超時重發更精確的方法(RFC 1323)來啟用對 RTT 的計算;為了實現更好的性能應該啟用這個選項。) tcp_sack| 1| 1| 使用 Selective ACK﹐它可以用來查找特定的遺失的數據報--- 因此有助于快速恢復狀態。該文件表示是否啟用有選擇的應答(Selective Acknowledgment),這可以通過有選擇地應答亂序接收到的報文來提高性能(這樣可以讓發送者只發送丟失的報文段)。(對于廣域網通信來說這個選項應該啟用,但是這會增加對 CPU 的占用。) tcp_fack| 1| 1| 打開FACK擁塞避免和快速重傳功能。(注意,當tcp_sack設置為0的時候,這個值即使設置為1也無效)[這個是TCP連接靠譜的核心功能] tcp_dsack| 1| 1| 允許TCP發送"兩個完全相同"的SACK。 tcp_ecn| 0| 0| TCP的直接擁塞通告功能。 tcp_reordering| 3| 6| TCP流中重排序的數據報最大數量。 (一般有看到推薦把這個數值略微調整大一些,比如5) tcp_retrans_collapse| 1| 0| 對于某些有bug的打印機提供針對其bug的兼容性。(一般不需要這個支持,可以關閉它) tcp_app_win| 31| 31| 時表示不需要緩沖。 tcp_adv_win_scale| 2| 2| 計算緩沖開銷 tcp_low_latency| 0| 0| 集群的時候 tcp_westwood| 0| 0| 通信來說應該啟用這個選項。 ip_forward| 0| -| 轉發支持,把該值寫 ip_local_port_range| 61000| 65000| 默認比較小,這個范圍同樣會間接用于 ip_conntrack_max| 65535| 65535| 這個值最大 名稱 |默認值| 建議值| 參數描述 ---|---|---|--- ip_conntrack_max| 65536| 65536| 這個值最大 ip_conntrack_tcp_timeout_established| 432000| 180| ip_conntrack_tcp_timeout_time_wait| 120| 120| 狀態超時時間,超過該時間就清除該連接 ip_conntrack_tcp_timeout_close_wait| 60| 60| 狀態超時時間,超過該時間就清除該連接 ip_conntrack_tcp_timeout_fin_wait| 120| 120| 狀態超時時間,超過該時間就清除該連接
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看