• 正文
    • 前言簡(jiǎn)述
    • 1 主機(jī)系統(tǒng)配置
    • 2.主機(jī)DNS服務(wù)器地址配置
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

【網(wǎng)安等保】OpenEuler 24.03系統(tǒng)主機(jī)安全加固及配置優(yōu)化實(shí)踐指南

05/08 09:13
586
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

大家好,我是 WeiyiGeek,一個(gè)正在向全棧工程師(SecDevOps)前進(jìn)的計(jì)算機(jī)技術(shù)愛(ài)好者,歡迎各位道友一起學(xué)習(xí)交流、一起進(jìn)步 ,若此文有幫助請(qǐng)點(diǎn)個(gè)關(guān)注,后續(xù)追番不迷路 ??。

前言簡(jiǎn)述

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

看過(guò)前面我的文章的童鞋應(yīng)該知道,作者企業(yè)中部分服務(wù)是運(yùn)行在銀河麒麟(KylinOS)V10 SP3 版本的國(guó)產(chǎn)系統(tǒng)上,但是對(duì)于個(gè)人或者中小型企業(yè)來(lái)說(shuō)是有一定使用成本的,所以很多中小型企業(yè)會(huì)選擇使用開(kāi)源免費(fèi)的國(guó)產(chǎn)操作系統(tǒng)。在此需要點(diǎn)之上,作者選擇了華為的歐拉?OpenEuler 24.03 LTS?版本國(guó)產(chǎn)操作系統(tǒng)進(jìn)行實(shí)踐,并實(shí)踐驗(yàn)證該系統(tǒng)是否可以承載現(xiàn)有業(yè)務(wù),并且為滿足網(wǎng)絡(luò)安全等保2.0主機(jī)安全配置(三級(jí))要求,遂針對(duì)該系統(tǒng)進(jìn)行安全加固及常規(guī)初始優(yōu)化操作,設(shè)置安全基線鏡像,以保證基礎(chǔ)業(yè)務(wù)運(yùn)行環(huán)境安全。

這里作者就不在針對(duì) 歐拉 OpenEuler 國(guó)產(chǎn)操作系統(tǒng)進(jìn)行詳細(xì)介紹與下載安裝講解,有興趣的朋友可以查看【運(yùn)維 | 國(guó)產(chǎn)操作系統(tǒng)遙遙領(lǐng)先? 新手必備 OpenEuler(歐拉) 開(kāi)源操作系統(tǒng)快速安裝配置指南】此文。

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

腳本涵蓋:

    系統(tǒng)初始化配置:關(guān)閉非必要服務(wù),優(yōu)化內(nèi)核參數(shù)。賬戶與權(quán)限管理:強(qiáng)化口令策略,限制高危權(quán)限。網(wǎng)絡(luò)安全加固:配置防火墻規(guī)則,禁用高風(fēng)險(xiǎn)協(xié)議。日志與審計(jì):?jiǎn)⒂脤徲?jì)服務(wù),記錄關(guān)鍵操作。安全基線鏡像制作:一鍵生成合規(guī)鏡像,快速部署安全環(huán)境。

溫馨提示:本文為作者原創(chuàng)文章,為尊重作者勞動(dòng)成果,象征性的設(shè)置為收費(fèi)合集(#網(wǎng)絡(luò)安全攻防等保?點(diǎn)擊查看?),希望大家理解支持!

溫馨提示: 針對(duì)于 Ubuntu 22.04、OpenEuler、CentOS8、KylinOS V10 服務(wù)器操作系統(tǒng),作者都編寫(xiě)對(duì)應(yīng)安全加固實(shí)踐文章,有想了解的童鞋可以訪問(wèn)如下文章鏈接:

    CentOS 7 系統(tǒng)安全加固:https://mp.weixin.qq.com/s/tH_dXclrbpzL7QPcj-TbFACentOS Steam 8 系統(tǒng)安全加固:https://mp.weixin.qq.com/s/WrwzkNaTGQ_xss727_ag9gUbuntu 22.04 LTS系統(tǒng)安全加固:https://mp.weixin.qq.com/s/dO1bV0tfXKn4ZmqlMcUrrQKylinOS V10(SP3)系統(tǒng)安全加固:?https://mp.weixin.qq.com/s/yqd1Qtog9wy8L5sgvgcEOQ

好了廢話不多說(shuō),此處我將本文其分為三個(gè)章節(jié),沒(méi)小節(jié)包含了配置Shell腳本函數(shù)片段:

    第一節(jié),主要針對(duì) OpenEuler 24.03 系統(tǒng)初始化運(yùn)維配置實(shí)踐。第二節(jié),主要針對(duì) OpenEuler 24.03 系統(tǒng)內(nèi)核參數(shù)及服務(wù)優(yōu)化實(shí)踐。第三節(jié),主要針對(duì) OpenEuler 24.03 系統(tǒng)安全加固實(shí)踐。

本文為作者原創(chuàng)文章,為尊重作者勞動(dòng)成果禁止非授權(quán)轉(zhuǎn)載,若需轉(zhuǎn)載請(qǐng)?jiān)凇救珬9こ處熜逕捴改稀抗娞?hào)留言,或者發(fā)送郵件到 [master@weiyigeek.top] 中我將及時(shí)回復(fù)。

1 主機(jī)系統(tǒng)配置

重要提示:?在線上生產(chǎn)環(huán)境中,進(jìn)行系統(tǒng)安全加固操作時(shí),請(qǐng)注意備份操作文件,以便于異常時(shí)及時(shí)回退。

重要提示:?在線上生產(chǎn)環(huán)境中,進(jìn)行系統(tǒng)安全加固操作時(shí),請(qǐng)注意備份操作文件,以便于異常時(shí)及時(shí)回退。

重要提示:?在線上生產(chǎn)環(huán)境中,進(jìn)行系統(tǒng)安全加固操作時(shí),請(qǐng)注意備份操作文件,以便于異常時(shí)及時(shí)回退。

實(shí)踐環(huán)境:

# 系統(tǒng)版本
cat /etc/openEuler-release
??# openEuler release 24.03 (LTS-SP1)

# 內(nèi)核版本
6.6.0-72.0.0.76.oe2403sp1.x86_64

1.主機(jī)系統(tǒng)網(wǎng)絡(luò)配置

描述: 一臺(tái)新安裝的主機(jī)必須配置IP地址才能方便我們通過(guò)遠(yuǎn)程連接,所以第一步肯定是把網(wǎng)絡(luò)打通,主要根據(jù)配置的IP地址與網(wǎng)絡(luò)地址環(huán)境變量進(jìn)行對(duì)應(yīng)設(shè)置,例如,部分腳本函數(shù)片段。

示例片段

# 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"錯(cuò)誤:?${1}?網(wǎng)卡未找到."
exit?1
fi

# 網(wǎng)卡配置信息
IP=${3%%/*}
NETMASK=${3##*/}
GATEWAY=${4}
DNS=${5}
CURRENT_IP=$(ip -4 addr show scope global | grep -oP?'(?<=inets)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"當(dāng)網(wǎng)絡(luò)信息: IP:?${CURRENT_IP}?, GATEWAY:?${CURRENT_GATEWAY}"
echo"預(yù)設(shè)置網(wǎng)絡(luò)信息:?${interface}, IP/NETMASK:?${IP}/${NETMASK}?, GATEWAY:?${GATEWAY}, DNS:?${DNS}"

# 檢查 NetworkManager 服務(wù),驗(yàn)證是否使用 nmcli 命令進(jìn)行配置
if?systemctl is-active --quiet NetworkManager;?then
? USE_NMCLI=true
else
? USE_NMCLI=false
fi

# 配置網(wǎng)絡(luò)模式
case$modein
? ? dhcp)
? ? ? ??if$USE_NMCLI;?then
? ? ? ? ? ? nmcli connection modify?$interface?ipv4.method auto
? ? ? ? ? ? nmcli connection up?$interface
? ? ? ??else
? ? ? ? ? ? egsed -i -e?"/BOOTPROTO=/cBOOTPROTO=dhcp"?-e?"/ONBOOT=/cONBOOT=yes"${CURRENT_FILE}
? ? ? ? ? ? systemctl restart network
? ? ? ??fi
? ? ? ??echo"網(wǎng)絡(luò)已配置為DHCP模式"
? ? ? ? ;;
? ? static)
? ? ? ??if?[[ -z?"$IP"?|| -z?"$NETMASK"?|| -z?"$GATEWAY"?]];?then
? ? ? ? ? ??echo"錯(cuò)誤:靜態(tài)IP模式需要提供IP地址、子網(wǎng)掩碼和網(wǎng)關(guān)"
? ? ? ? ? ??return?1
? ? ? ??fi

? ? ? ??if$USE_NMCLI;?then
? ? ? ? ? ? nmcli connection modify?$interface?
? ? ? ? ? ? ? ? ipv4.method manual 
? ? ? ? ? ? ? ? ipv4.addresses?"$IP/$NETMASK"?
? ? ? ? ? ? ? ? ipv4.gateway?"$GATEWAY"?
? ? ? ? ? ? ? ? ipv4.dns?"$DNS"
? ? ? ? ? ? nmcli connection up?$interface
? ? ? ??else
? ? ? ? ? ??# 已存在網(wǎng)卡配置文件的情況下
? ? ? ? ? ? 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 network
? ? ? ??fi
? ? ? ??echo"網(wǎng)絡(luò)已配置為靜態(tài)IP模式"
? ? ? ? ;;
? ? *)
? ? ? ??echo"錯(cuò)誤:無(wú)效的模式,請(qǐng)使用 dhcp 或 static"
? ? ? ??return?1
? ? ? ? ;;
esac

# 添加 IP 地址和掩碼示例
# sudo ip addr add ${IP} dev $interface
# 修改默認(rèn)網(wǎng)關(guān)示例
# 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

# 執(zhí)行網(wǎng)卡配置腳本文件
/opt/network.sh?${VAR_NETINTERFACE}${VAR_MODE}${VAR_IP}${VAR_GATEWAY}${VAR_DNS_SERVER}

 

知識(shí)補(bǔ)充:當(dāng)然在你使用手動(dòng)方式配置完網(wǎng)絡(luò)后,你可能需要重新加載或重啟網(wǎng)絡(luò)服務(wù)來(lái)使更改生效。你可以執(zhí)行以下命令來(lái)實(shí)現(xiàn):

# 重新加載網(wǎng)絡(luò)配置
# 檢查 NetworkManager 服務(wù),驗(yàn)證是否使用 nmcli 命令進(jìn)行配置
if?systemctl is-active --quiet NetworkManager;?then
? USE_NMCLI=true
else
? USE_NMCLI=false
fi

if$USE_NMCLI;?then
# 重啟 NetworkManager 服務(wù)(會(huì)重載所有配置)然后顯式啟用連接
? sudo systemctl restart NetworkManager
? sudo nmcli connection up?${VAR_NETINTERFACE}
else
# 重啟 network 服務(wù)
? sudo systemctl restart network
fi
# 查看配置是否生效
? ip addr show?${VAR_NETINTERFACE}

2.主機(jī)DNS服務(wù)器地址配置

描述: 在完成系統(tǒng)主機(jī)的IP地址的配置后,若需要單獨(dú)為主機(jī)配置私有DNS服務(wù)器或者公共的DNS服務(wù)器,以便解析內(nèi)部或外部域名,可以使用以下腳本示例進(jìn)行配置。

示例片段:

# 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服務(wù)器地址
# 添加多個(gè) DNS(最多支持 3 個(gè),空格分隔)
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}"
# 配置驗(yàn)證
nmcli device show?"${VAR_NETINTERFACE}"?| grep DNS

 

相關(guān)推薦