【網安等保】OpenEuler 24.03系統主機安全加固及配置優化實踐指南

[ 知識是人生的燈塔,只有不斷學習,才能照亮前行的道路 ]

📢?大家好,我是 WeiyiGeek,一個正在向全棧工程師(SecDevOps)前進的計算機技術愛好者,歡迎各位道友一起學習交流、一起進步 🚀,若此文有幫助請點個關注,后續追番不迷路 ??。

文章目錄:

image.png


0x00 前言簡述

描述: 隨著國產化進程加速,國產化操作系統正逐步應用于政府及企業關鍵領域(大趨勢),預計將于2028年全面替換為國產操作系統。在眾多商業國產操作系統中銀河麒麟(KylinOS)、中科方德、統信UOS,此三家持續版本迭代超15年的其生態市場及占有率最高, 另外還有紅旗Linux、共創Linux、凝思磐石、新支點、深度Linux、Start OS、思普操作系統、云針OS、鴻蒙OS、YunOS、OpenCloudOS等國產操作系統,除此之外也有使用人數較多開源的國產操作系統,例如:歐拉OpenEuler(華為)、龍蜥操作系統(Anolis OS)(阿里)等。

看過前面我的文章的童鞋應該知道,作者企業中部分服務是運行在銀河麒麟(KylinOS)V10 SP3 版本的國產系統上,但是對于個人或者中小型企業來說是有一定使用成本的,所以很多中小型企業會選擇使用開源免費的國產操作系統。在此需要點之上,作者選擇了華為的歐拉?OpenEuler 24.03 LTS?版本國產操作系統進行實踐,并實踐驗證該系統是否可以承載現有業務,并且為滿足網絡安全等保2.0主機安全配置(三級)要求,遂針對該系統進行安全加固及常規初始優化操作,設置安全基線鏡像,以保證基礎業務運行環境安全。

這里作者就不在針對 歐拉 OpenEuler 國產操作系統進行詳細介紹與下載安裝講解,有興趣的朋友可以查看【運維 | 國產操作系統遙遙領先? 新手必備 OpenEuler(歐拉) 開源操作系統快速安裝配置指南】此文。

此處作者我,已經將其寫成一個Shell項目,各位看官可以直接運行加固,大大的節省了我們運維人的時間,最后我會將?OpenEuler 24.03?LTS 安全加固shell腳本下載鏈接放在文章末尾, 以供各位看友使用實踐參考,若需觀看視頻實踐演示,視頻將介紹如何對 OpenEuler 進行安裝與安全加固。請關注【全棧工程師修煉指南】公眾號并回復【OpenEuler安全加固】或【2025050512】關鍵字獲得加固腳本下載鏈接,若有錯誤歡迎在【全棧工程師修煉指南】公眾號留言,也可通過加入作者『?全棧工程師修煉指南』知識星球獲取最新加固腳本。

腳本涵蓋:

  • 系統初始化配置:關閉非必要服務,優化內核參數。

  • 賬戶與權限管理:強化口令策略,限制高危權限。

  • 網絡安全加固:配置防火墻規則,禁用高風險協議。

  • 日志與審計:啟用審計服務,記錄關鍵操作。

  • 安全基線鏡像制作:一鍵生成合規鏡像,快速部署安全環境。

溫馨提示:本文為作者原創文章,為尊重作者勞動成果,象征性的設置為收費合集(#網絡安全攻防等保?點擊查看?),希望大家理解支持!

溫馨提示: 針對于 Ubuntu 22.04、OpenEuler、CentOS8、KylinOS V10 服務器操作系統,作者都編寫對應安全加固實踐文章,有想了解的童鞋可以訪問如下文章鏈接:

  • CentOS 7 系統安全加固:https://mp.weixin.qq.com/s/tH_dXclrbpzL7QPcj-TbFA

  • CentOS Steam 8 系統安全加固:https://mp.weixin.qq.com/s/WrwzkNaTGQ_xss727_ag9g

  • Ubuntu 22.04 LTS系統安全加固:https://mp.weixin.qq.com/s/dO1bV0tfXKn4ZmqlMcUrrQ

  • KylinOS V10(SP3)系統安全加固:?https://mp.weixin.qq.com/s/yqd1Qtog9wy8L5sgvgcEOQ

好了廢話不多說,此處我將本文其分為三個章節,沒小節包含了配置Shell腳本函數片段:

  • 第一節,主要針對 OpenEuler 24.03 系統初始化運維配置實踐。

  • 第二節,主要針對 OpenEuler 24.03 系統內核參數及服務優化實踐。

  • 第三節,主要針對 OpenEuler 24.03 系統安全加固實踐。

本文為作者原創文章,為尊重作者勞動成果禁止非授權轉載,若需轉載請在【全棧工程師修煉指南】公眾號留言,或者發送郵件到 [master@weiyigeek.top] 中我將及時回復。

0x01 主機系統配置

重要提示:?在線上生產環境中,進行系統安全加固操作時,請注意備份操作文件,以便于異常時及時回退。

重要提示:?在線上生產環境中,進行系統安全加固操作時,請注意備份操作文件,以便于異常時及時回退。

重要提示:?在線上生產環境中,進行系統安全加固操作時,請注意備份操作文件,以便于異常時及時回退。

實踐環境:

# 系統版本
cat /etc/openEuler-release# openEuler release 24.03 (LTS-SP1)# 內核版本
6.6.0-72.0.0.76.oe2403sp1.x86_64

1.主機系統網絡配置

描述: 一臺新安裝的主機必須配置IP地址才能方便我們通過遠程連接,所以第一步肯定是把網絡打通,主要根據配置的IP地址與網絡地址環境變量進行對應設置,例如,部分腳本函數片段。

示例片段

# 0.os-network.sh
# Backup the original network config file
cp -a /etc/sysconfig/network-scripts/ifcfg-${VAR_NETINTERFACE}?/tmp# Modify the IP/MASK and Gateway
VAR_MODE="static"
VAR_NETINTERFACE=ens18
VAR_IP=10.20.172.58/24
VAR_GATEWAY=10.20.172.1
# Modify the DNS server
VAR_DNS_SERVER=(?"192.168.10.254""223.5.5.5""119.29.29.29"?)sudo tee /opt/network.sh <<'EOF'
#!/bin/bash
# @Description: Configure OpenEuler 2403 LTS Network
# @Author: WeiyiGeek
# @E-mail: master@weiyigeek.top
# @Blog: https://www.weiyigeek.top
if?[[?$#?-lt 2 ]];then
echo"Usage:?$0?interface mode ip_address/netmask gateway dns-server"
echo"Example:?$0?ens18 [dhcp|static] 192.168.12.12/24 192.168.12.1 223.6.6.6"
echo"@Author: WeiyiGeek"
echo"@Blog: https://blog.weiyigeek.top"
exit
fi# 檢查接口是否存在
interface=${1}
mode=${2}
ip link show?${interface}?> /dev/null 2>&1?
if?[[ $? -ne 0 ]];then
echo"錯誤:?${1}?網卡未找到."
exit?1
fi# 網卡配置信息
IP=${3%%/*}
NETMASK=${3##*/}
GATEWAY=${4}
DNS=${5}
CURRENT_IP=$(ip -4 addr show scope global | grep -oP?'(?<=inet\s)\d+(\.\d+){3}'?| head -n 1)
CURRENT_GATEWAY=$(ip route show default | awk?'/default/ {print $3}')
CURRENT_FILE=/etc/sysconfig/network-scripts/ifcfg-${interface}
echo"當網絡信息: IP:?${CURRENT_IP}?, GATEWAY:?${CURRENT_GATEWAY}"
echo"預設置網絡信息:?${interface}, IP/NETMASK:?${IP}/${NETMASK}?, GATEWAY:?${GATEWAY}, DNS:?${DNS}"# 檢查 NetworkManager 服務,驗證是否使用 nmcli 命令進行配置
if?systemctl is-active --quiet NetworkManager;?thenUSE_NMCLI=true
elseUSE_NMCLI=false
fi# 配置網絡模式
case$modeindhcp)if$USE_NMCLI;?thennmcli connection modify?$interface?ipv4.method autonmcli connection up?$interfaceelseegsed -i -e?"/BOOTPROTO=/c\BOOTPROTO=dhcp"?-e?"/ONBOOT=/c\ONBOOT=yes"${CURRENT_FILE}systemctl restart networkfiecho"網絡已配置為DHCP模式";;static)if?[[ -z?"$IP"?|| -z?"$NETMASK"?|| -z?"$GATEWAY"?]];?thenecho"錯誤:靜態IP模式需要提供IP地址、子網掩碼和網關"return?1fiif$USE_NMCLI;?thennmcli connection modify?$interface?\ipv4.method manual \ipv4.addresses?"$IP/$NETMASK"?\ipv4.gateway?"$GATEWAY"?\ipv4.dns?"$DNS"nmcli connection up?$interfaceelse# 已存在網卡配置文件的情況下egrep -q?"^\s*ONBOOT=.*$"${CURRENT_FILE}?&& sed -ri?"s/^\s*ONBOOT=.*$/ONBOOT=yes/"${CURRENT_FILE}||?echo"ONBOOT=yes"?>>?${CURRENT_FILE}egrep -q?"^\s*BOOTPROTO=.*$"${CURRENT_FILE}?&& sed -ri?"s/^\s*BOOTPROTO=.*$/BOOTPROTO=static/"${CURRENT_FILE}||?echo"BOOTPROTO=static"?>>?${CURRENT_FILE}egrep -q?"^\s*IPADDR=.*$"${CURRENT_FILE}?&& sed -ri?"s/^\s*IPADDR=.*$/IPADDR=${IP}/"${CURRENT_FILE}||?echo"IPADDR=${IP}"?>>?${CURRENT_FILE}egrep -q?"^\s*PREFIX=.*$"${CURRENT_FILE}?&& sed -ri?"s/^\s*PREFIX=.*$/PREFIX=${NETMASK}/"${CURRENT_FILE}||?echo"PREFIX=${NETMASK}"?>>?${CURRENT_FILE}egrep -q?"^\s*GATEWAY=.*$"${CURRENT_FILE}?&& sed -ri?"s/^\s*GATEWAY=.*$/GATEWAY=${GATEWAY}/"${CURRENT_FILE}||?echo"GATEWAY=${GATEWAY}"?>>?${CURRENT_FILE}egrep -q?"^\s*DNS1=.*$"${CURRENT_FILE}?&& sed -ri?"s/^\s*DNS1=.*$/DNS1=${DNS}/"${CURRENT_FILE}||?echo"DNS1=${DNS}"?>>?${CURRENT_FILE}systemctl restart networkfiecho"網絡已配置為靜態IP模式";;*)echo"錯誤:無效的模式,請使用 dhcp 或 static"return?1;;
esac# 添加 IP 地址和掩碼示例
# sudo ip addr add ${IP} dev $interface
# 修改默認網關示例
# sudo ip route add default via ${CURRENT_GATEWAY} dev $interface
# 若存在 nmcli 命令則可以使用如下命令
# nmcli conn add connection.id $interface connection.interface-name ${interface} connection.autoconnect yes type Ethernet ifname ${interface} ipv4.method manual ipv4.address ${IP} ipv4.gateway ${GATEWAY} ipv4.dns ${DNS} ipv4.ignore-auto-dns true
EOF
sudo chmod +x /opt/network.sh# 執行網卡配置腳本文件
/opt/network.sh?${VAR_NETINTERFACE}${VAR_MODE}${VAR_IP}${VAR_GATEWAY}${VAR_DNS_SERVER}

知識補充:當然在你使用手動方式配置完網絡后,你可能需要重新加載或重啟網絡服務來使更改生效。你可以執行以下命令來實現:

# 重新加載網絡配置
# 檢查 NetworkManager 服務,驗證是否使用 nmcli 命令進行配置
if?systemctl is-active --quiet NetworkManager;?thenUSE_NMCLI=true
elseUSE_NMCLI=false
fiif$USE_NMCLI;?then
# 重啟 NetworkManager 服務(會重載所有配置)然后顯式啟用連接sudo systemctl restart NetworkManagersudo nmcli connection up?${VAR_NETINTERFACE}
else
# 重啟 network 服務sudo systemctl restart network
fi
# 查看配置是否生效ip addr show?${VAR_NETINTERFACE}

2.主機DNS服務器地址配置

描述: 在完成系統主機的IP地址的配置后,若需要單獨為主機配置私有DNS服務器或者公共的DNS服務器,以便解析內部或外部域名,可以使用以下腳本示例進行配置。

示例片段:

# Modify the DNS server
# DNSPod: 119.29.29.29 ? ? ?Alidns: 223.5.5.5 223.6.6.6
# Google: 8.8.8.8 8.8.4.4 ? Cloudflare: 1.1.1.1 1.0.0.1
# Baidu: 114.114.114.114
# Internal : Your intranet domain name resolution server
VAR_DNS_SERVER=(?"223.5.5.5""114.114.114.114""192.168.4.254")# 備份DNS配置文件
cp -a /etc/resolv.conf /tmp# 清空原始的DNS配置文件
truncate -s 0 /etc/resolv.conf# 配置DNS服務器地址
# 添加多個 DNS(最多支持 3 個,空格分隔)
DNS="${VAR_DNS_SERVER[@]}"
# IPV4
sudo nmcli connection modify?"${VAR_NETINTERFACE}"?ipv4.dns?"${DNS}"
# IPV6
# sudo nmcli connection modify "ens18" ipv6.dns "2001:4860:4860::8888 2400:3200::1"
# 使配置立即生效
sudo nmcli connection down?"${VAR_NETINTERFACE}"?&& sudo nmcli connection up?"${VAR_NETINTERFACE}"
# 配置驗證
nmcli device show?"${VAR_NETINTERFACE}"?| grep DNS

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/905133.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/905133.shtml
英文地址,請注明出處:http://en.pswp.cn/news/905133.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大模型賦能:2D 寫實數字人開啟實時交互新時代

在數字化浪潮席卷全球的當下&#xff0c;人工智能技術不斷突破創新&#xff0c;其中大模型驅動的 2D 寫實數字人正成為實時交互領域的一顆新星&#xff0c;引領著行業變革&#xff0c;為人們帶來前所未有的交互體驗。 一、2D 寫實數字人概述 2D 寫實數字人是通過計算機圖形學…

Dockers部署oscarfonts/geoserver鏡像的Geoserver

Dockers部署oscarfonts/geoserver鏡像的Geoserver 說實話&#xff0c;最后發現要選擇合適的Geoserver鏡像才是關鍵&#xff0c;所以所以所以…&#x1f437; 推薦oscarfonts/geoserver的鏡像&#xff01; 一開始用kartoza/geoserver鏡像一直提示內存不足&#xff0c;不過還好…

關于解決MySQL的常見問題

一&#xff1a;MySQL輸入密碼時閃退 這有可能是因為MySQL服務沒有開啟。 打開系統配置&#xff08;直接搜索即可&#xff09;&#xff0c;查看MySQL服務是否開啟。 此時顯示的是已停止。確定是這個問題。 現在打開計算機管理&#xff08;直接搜索即可&#xff09;。 找到MyS…

LeetCode 熱題 100 101. 對稱二叉樹

LeetCode 熱題 100 | 101. 對稱二叉樹 大家好&#xff0c;今天我們來解決一道經典的二叉樹問題——對稱二叉樹。這道題在 LeetCode 上被標記為簡單難度&#xff0c;要求檢查給定的二叉樹是否軸對稱。 問題描述 給你一個二叉樹的根節點 root&#xff0c;檢查它是否軸對稱。 示…

圖形化編程革命:iVX攜手AI 原生開發范式

一、技術核心&#xff1a;圖形化編程的底層架構解析 1. 圖形化開發的效率優勢&#xff1a;代碼量減少 72% 的秘密 傳統文本編程存在顯著的信息密度瓶頸。以 "按鈕點擊→條件判斷→調用接口→彈窗反饋" 流程為例&#xff0c;Python 實現需定義函數、處理縮進并編寫 …

uniapp跨平臺開發HarmonyOS NEXT應用初體驗

之前寫過使用uniapp開發鴻蒙應用的教程&#xff0c;簡單介紹了如何配置開發環境和運行項目。那時候的HbuilderX還是4.22版本&#xff0c;小一年過去了HbuilderX的正式版本已經來到4.64&#xff0c;歷經了多個版本的更新后&#xff0c;跨平臺開發鴻蒙應用的體驗大幅提升。今天再…

windows怎么修改DNS

好的&#xff0c;在 Windows 操作系統中修改 DNS 設置有幾種方法&#xff0c;最常用的是通過“網絡和 Internet 設置”。以下是詳細步驟&#xff1a; 方法一&#xff1a;通過設置應用修改 DNS (適用于 Windows 10/11) 打開設置&#xff1a; 點擊屏幕左下角的 Windows 開始按鈕…

Java基本數據類型緩存池解析-源碼剖析

拋出問題&#xff1a;new Integer(18) 與 Integer.valueOf(18) 的區別是什么&#xff1f; new Integer(18) 每次都會新建一個對象;Integer.valueOf(18) 會使?用緩存池中的對象&#xff0c;多次調用只會取同?一個對象的引用 Integer x new Integer(18); Integer y new Int…

WORD壓縮兩個免費方法

日常辦公和學習中&#xff0c;Word文檔常常因為包含大量圖片、圖表或復雜格式而導致文件體積過大&#xff0c;帶來諸多不便&#xff0c;比如 郵件發送受限&#xff1a;許多郵箱附件限制在10-25MB&#xff0c;大文件無法直接發送 存儲空間占用&#xff1a;大量文檔占用硬盤或云…

羅技無線鼠標的配對方法

羅技鼠標的配對方法&#xff1a; 重新連接鼠標 請按照以下步驟將鼠標與 USB 接收器重新配對。 1.將USB接收器插入計算機。 2.將鼠標關閉電源。 3.按住并持續按住向右按鈕&#xff0c;直到操作結束。 4.切換鼠標電源。 5. 單擊一次左側按鈕。 6. 單擊一次中間按鈕。 7.全部松開&…

四、Hadoop 2.X vs 3.X:特性、架構與性能全解析

Hadoop 2.X 與 Hadoop 3.X 深度對比&#xff1a;版本特性、架構與性能剖析 在大數據處理的浪潮中&#xff0c;Hadoop 憑借其分布式存儲與計算的強大能力&#xff0c;成為了業界的核心框架之一。隨著技術的不斷演進&#xff0c;Hadoop 也經歷了多個重要版本的迭代。其中&#x…

【React中useReducer鉤子詳解】

useReducer 是 React 中用于管理復雜狀態邏輯的 Hook&#xff0c;它通過 集中式狀態更新邏輯 替代 useState&#xff0c;尤其適合處理多值關聯狀態或依賴前序狀態更新的場景。以下是其核心要點&#xff1a; 1. 核心概念 Reducer 模式&#xff1a;靈感來自 JavaScript 的 Array…

【C++】C++函數指針詳解與實用技巧

C函數指針詳解與實用技巧 在C中&#xff0c;**函數指針&#xff08;Function Pointer&#xff09;**是一種強大而靈活的工具&#xff0c;常用于回調機制、策略模式、事件處理等場景。本文將從概念、語法、常見用法到實戰示例&#xff0c;帶你全面掌握C函數指針。 &#x1f9e0…

【計算機視覺】基于深度學習的實時情緒檢測系統:emotion-detection項目深度解析

基于深度學習的實時情緒檢測系統&#xff1a;emotion-detection項目深度解析 1. 項目概述2. 技術原理與模型架構2.1 核心算法1) 數據預處理流程2) 改進型MobileNetV2 2.2 系統架構 3. 實戰部署指南3.1 環境配置3.2 數據集準備3.3 模型訓練3.4 實時推理 4. 常見問題與解決方案4.…

IC ATE集成電路測試學習——電流測試的原理和方法

電流測試 我們可以通過電流來判斷芯片的工作狀態時&#xff0c;首先先了解下芯片的電流是如何產生的。 靜態電流 理論上&#xff0c;CMOS結構的芯片靜態時幾乎不耗電 CMOS基本結構&#xff1a;Pmos Nmos 串聯當邏輯電平穩定時&#xff1a; ? 要么Pmos導通&#xff0c;Nmo…

stm32week15

stm32學習 十一.中斷 2.NVIC Nested vectored interrupt controller&#xff0c;嵌套向量中斷控制器&#xff0c;屬于內核(M3/4/7) 中斷向量表&#xff1a;定義一塊固定的內存&#xff0c;以4字節對齊&#xff0c;存放各個中斷服務函數程序的首地址&#xff0c;中斷向量表定…

list類的詳細講解

【本節目標】 1. list的介紹及使用 2. list的深度剖析及模擬實現 3. list與vector的對比 1. list的介紹及使用 1.1 list的介紹 1. list 是可以在常數范圍內在任意位置進行插入和刪除的序列式容器&#xff0c;并且該容器可以前后雙向迭代。 2. list 的底層是雙向鏈表結構&a…

第十節:圖像處理基礎-圖像算術運算 (加法、減法、混合)

引言 在計算機視覺領域,圖像算術運算是最基礎卻至關重要的核心技術。無論是實現簡單的圖片合成、開發智能監控系統,還是構建復雜的醫學影像分析工具,加減運算和混合操作都扮演著關鍵角色。OpenCV作為最流行的計算機視覺庫,提供了完善的圖像處理函數集。本文將深入解析三種…

【React 的useState鉤子詳解】

React 的 useState 鉤子詳解 useState 是 React 中最基礎且最常用的 Hook 之一&#xff0c;它允許你在函數組件中添加和管理狀態。 基本語法 const [state, setState] useState(initialState);initialState: 狀態的初始值&#xff0c;可以是任何 JavaScript 數據類型state:…

vue 中的數據代理

在 Vue 中&#xff0c;數據代理&#xff08;Data Proxy&#xff09; 是 Vue 實現 MVVM 模式 的關鍵技術之一。Vue 使用數據代理讓你可以通過 this.message 訪問 data.message&#xff0c;而不需要寫 this.data.message —— 這大大簡化了模板和邏輯代碼。 我們來深入理解它的本…