
项目设计目的:在用于攻防网络演习的网络靶场/数字孪生(如电网、机场跑道、交通信号灯)中,红/蓝/黄队通常更关注运营技术(OT)系统,但有时也需要构建一个简单的公司IT系统(如内部ERP和HR服务),以模拟通过企业IT网络中的弱点进行初始访问,然后转向OT网络,例如IT到OT的攻击链、凭据泄露、横向移动以及对配置错误的企业服务的利用。

如ISA-95/IEC62264系统架构的6层(level0-5)所示,IT层(level4-5)代表管理业务运营的企业网络。本项目旨在通过使用开源DOLIBARR ERP & CRM软件包,在数小时内为陆基铁路网络靶场系统构建一个基于ERP的IT环境,提供一种快速实用的方法。本文分为三个主要部分:
-
系统架构:介绍整体网络靶场架构、网络演习网络拓扑,并解释ERP系统在铁路环境中的作用和定位。
-
ERP软件设置:提供在网络靶场中安装和部署Dolibarr ERP软件包的分步说明,包括与其他系统组件的集成。
-
ERP功能配置:配置主要功能特性,如HR管理、请假申请、协作工作流和薪资。然后使用AI创建一些信息,使ERP系统看起来像真实的系统。
致谢:本项目中使用的ERP系统是基于未经修改的Dolibarr ERP & CRM版本构建的。所有使用均严格遵守DOLIBARR许可证文档和DOLIBARR版权规则中定义的许可条款和品牌指南。
# Author: Yuancheng Liu
# Created: 2026/03/16
# Version: v_0.0.1
# License: GNU/GPL v3+ (Same as the DOLIBARR license)
1. 引言
本项目的目标是将企业资源规划(ERP)系统集成到陆基铁路网络靶场系统的企业IT层,以模拟真实世界的企业运营以及工业公司。开源Dolibarr ERP & CRM平台将部署在铁路系统ISA-95架构的level4企业IT层,该平台能够模拟铁路公司的基本业务功能,如人力资源、财务和内部管理。特别是,它允许模拟攻击者最初入侵企业IT系统,然后转向运营网络的真实攻击路径。
整体系统架构,包括ERP系统在网络靶场中的定位如下所示:

1.1 摘要
在用于关键基础设施(如电网、机场和铁路系统)的现代网络靶场和数字孪生环境中,网络安全演习通常侧重于运营技术(OT)工业控制系统,如SCADA网络和OT现场设备。但在许多真实世界的网络事件中,由于OT环境与互联网隔离,攻击者通常需要通过企业IT环境中的一些漏洞或错误配置获得初始访问权限,然后才能接触OT系统。因此,在公司外部网络和OT网络之间建立一个IT系统对于用于网络演习的网络靶场是必要的。
从系统设计的角度来看,不同行业和公司的大多数企业IT环境都非常相似。核心系统如HR、财务和行政平台遵循标准化工作流程,无论组织是在能源、交通还是制造业运营。与构建相关的OT系统需要深厚的领域特定知识不同,通过使用通用解决方案实现的IT系统几乎可以满足网络演习的要求,而不会牺牲真实性。这就是我直接使用开源ERP(企业资源规划)软件Dolibarr来构建IT环境的原因。这种方法能够快速部署功能齐全且真实的企业环境,支持集成的IT/OT网络安全场景,而无需进行大量的定制或开发工作。
1.2 背景信息
1.2.1 陆基铁路网络靶场系统背景
陆基铁路IT/OT网络安全测试平台是按照ISA-95/IEC62264标准设计和开发的数字孪生式平台,专为网络安全研究、红蓝队演习、专业培训、威胁检测和蜜罐实验而构建。该系统旨在模拟铁路公司的IT和OT环境,同时能够在受控环境中可视化网络攻击的影响。
该网络靶场能够模拟真实的运营场景,包括自动生成系统内类似人类的活动。这种动态行为显著增强了网络靶场的真实性,使其更接近真实的铁路企业环境。该平台已在多次国际网络安全演习中使用。有关更多详细信息,请参阅项目文档库:https://github.com/LiuYuancheng/Land_Based_Railway_Simulation_Cyber_Range_Document
1.2.2 Dolibarr ERP & CRM软件背景
Dolibarr ERP & CRM是一个现代化的模块化开源ERP和CRM解决方案,旨在管理广泛的组织活动,包括联系人、发票、订单、库存、日程安排和人力资源。
Dolibarr主要用PHP开发,并辅以JavaScript增强功能,适用于各种规模的组织——从小型企业到大型企业,以及基金会和自由职业者。其模块化架构、易于部署和活跃的开源社区使其成为在网络靶场中快速构建真实企业IT环境的理想选择。有关更多详细信息,请参阅官方存储库:https://github.com/Dolibarr/dolibarr
2. 系统架构
2.1 架构和功能概述
陆基铁路网络靶场系统按照ISA-95 / IEC 62264架构设计,如下图所示的六层ISA-95结构图。在此架构中,Dolibarr ERP & CRM系统部署在Level 4企业区,作为公司内部业务运营平台,包括为员工提供人力资源管理、行政工作流和财务运营等服务。网络演习可以配置不同的漏洞和攻击入口点,这些漏洞和入口点可能会传播到较低的OT层。

为了增强真实性,网络靶场通过集群用户模拟器(基于脚本的引擎)集成了自动化用户行为。这些模拟脚本在IT网络中生成动态和持续的活动,模仿各种铁路公司角色(如IT支持工程师、办公室职员、铁路总部操作员、火车司机/安全检查员)的日常操作。此架构的主要组件包括:
-
铁路企业网络环境:一个虚拟化基础设施,复制企业级网络元素,包括服务器、端点、防火墙、路由器和交换机。
-
铁路公司员工ERP系统:具有前端应用程序和后端数据库的ERP软件,提供HRM、客户关系、财务、票务和公司活动等主要功能。
-
员工活动模拟引擎:一个自动化用户活动生成器,模拟真实用户行为,在不同角色之间产生网络流量和系统交互。
2.2 系统网络配置
如第1节(图1)所示,Dolibarr ERP & CRM系统部署在网络靶场的企业IT子网(Level 4 – 企业区)中,在架构中突出显示为浅蓝色部分。尽管Dolibarr建议将所有组件部署在单个服务器(或云实例)上以简化管理和提高稳定性,但本项目有意采用分布式三VM(一个应用程序前端VM、一个数据库后端VM和一个文件存储VM)架构,以便在网络演习中通过以下攻击向量轻松受到攻击:
-
针对前端服务器的Web应用程序攻击
-
数据库利用和数据泄露场景
-
凭据窃取和VM之间的横向移动
-
配置错误的文件服务和不安全的数据传输通道
详细的网络配置如下图所示:

每个VM的主要功能包括:
-
ERP前端服务器:此VM托管Dolibarr应用程序和Web界面,提供对所有ERP功能模块(HR、财务、管理等)的访问。它充当用户通过内部网络或Web门户的主要入口点。
-
ERP后端服务器(数据库服务器):此VM使用MySQL运行数据库服务,存储所有与ERP相关的数据,包括用户信息、事务和系统配置。将数据库与应用程序层分离反映了常见的企业实践,并支持以数据库为中心的攻击场景。
-
ERP文件服务器:此VM负责文件存储和处理用户上传的内容。由于Dolibarr原生FTP模块不免费提供,因此使用了基于Python的轻量级FTP服务。
所有三个VM通过企业网络路由器/交换机连接,允许内部铁路员工无缝访问ERP服务。网络通过DMZ防火墙进一步保护和分段,该防火墙控制内部网络与外部访问点(如ERP Web门户)之间的流量。对于电子邮件服务器,我们使用也设置在子网内的Postfix电子邮件服务器。由于Dolibarr推荐Gmail,因此目前Dolibarr的员工账户我使用普通的Gmail账户。
3. 在Ubuntu VM上安装Dolibarr
要在Ubuntu系统上安装Dolibarr,官方网站在下载链接中提供了安装*.deb软件包:https://www.dolibarr.org/downloads.php。但是,当您下载并安装它时,在安装后步骤1之后可能会看到“Connect to database failed”错误,如下图所示:

本节提供了一种结构化的方法,用于在多个VM(前端、数据库和文件服务器)上安装和配置Dolibarr,以及解决此问题的故障排除步骤。
3.1 安装LAMP Stack(前端VM)
在安装Dolibarr之前,请确保前端VM具有完整的LAMP Stack(Apache、PHP和数据库客户端库):
sudo apt update
sudo apt install apache2 mariadb-server php libapache2-mod-php php-mysql php-curl php-intl php-gd php-json php-mbstring -y
3.2 下载并安装Dolibarr
从sourceforge网站下载最新的.deb软件包:https://sourceforge.net/projects/dolibarr/files/Dolibarr%20installer%20for%20Debian-Ubuntu%20%28DoliDeb%29/,然后使用以下命令安装软件包:
sudo dpkg -i dolibarr_x.y.z-w.w_all.deb
如果出现依赖问题,请使用以下命令解决:
sudo apt-get install -f
3.3 配置数据库服务器(后端VM)
在数据库VM上,安装并保护MySQL(或MariaDB):
sudo mysql_secure_installation
登录数据库:
sudo mysql -u root -p
创建Dolibarr数据库和用户:
CREATE DATABASE dolibarr;
CREATE USER 'dolibarruser'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON dolibarr.* TO 'dolibarruser'@'%';
FLUSH PRIVILEGES;
EXIT;
使用'%'而不是'localhost'以允许前端VM进行远程连接。
通过编辑/etc/mysql/mariadb.conf.d/50-server.cnf并设置以下内容,确保数据库服务器配置为接受远程连接:
bind-address = 0.0.0.0
重启数据库服务sudo systemctl restart mysql并确保VM之间打开了端口3306(防火墙/安全组)。
3.4 配置Dolibarr使用远程数据库
默认情况下,Dolibarr假定数据库托管在本地。在多VM设置中,您必须手动更新配置。在前端VM上编辑Dolibarr配置文件:
sudo vim /etc/dolibarr/conf.php
找到数据库主机设置,并将localhost替换为数据库VM的IP地址,如下图所示:

3.5 通过Web界面完成安装
配置完成后,打开浏览器并导航到http://localhost/dolibarr或http://,重新执行步骤1填写信息,然后您将看到错误已清除,如下图所示:

现在Dolibarr已准备好在网络靶场中使用。我们需要填写一些员工信息并启用功能模块,例如HRM系统和请假系统,以便它能够适应铁路公司ERP系统的角色。
4. 配置Dolibarr功能模块
本节主要涉及通过管理仪表板添加信息和启用铁路公司中使用的Dolibarr ERP & CRM系统的功能模块。有关详细使用指南,您可以参考官方文档和教程:
使用上一节中创建的管理员账户登录以访问设置仪表板。我配置的主要功能如下图所示:

4.1 配置公司信息
导航到设置 → 公司/组织,然后填写基本信息,如铁路公司名称、地址和联系方式、官方电子邮件和网站、电话和传真,并上传公司标志,如下图所示:

接下来,转到显示设置以调整UI外观,自定义主题、布局和CSS样式,如下图所示:

为了网络安全培训和演习目的,您可以通过导航到安全设置来有意削弱某些安全控制,如下图所示:

这允许使用弱凭据(例如,123456),这些凭据可以在演习期间作为攻击入口点。
设置公司信息后,主门户登录页面将如下图所示,包含公司名称、标志和概览图片:

4.2 配置人力资源(HR)模块
导航到设置 → 模块/应用程序
以啟用以下模組:-
請假申請管理 – 管理員工請假申請與審批
-
費用報銷 – 模擬報銷工作流程
-
招聘管理 – 管理職位發布與招聘流程
-
人力資源管理 – 核心員工管理工具

接下來,建立使用者並為員工帳戶分配角色(例如,staff_alice 作為 OCC 操作員),並根據職位角色分配權限,如下所示:

現在我們登入 Alice 的帳戶,模擬她提交請假申請並為管理組設定審批:

然後以管理員/經理身份重新登入,審查並批准我們剛才建立的 Alice 的請假申請:

4.3 配置客戶關係管理 (CRM)
為模擬乘客互動和服務回饋,請啟用與 CRM 相關的模組「第三方(客戶)」和「工單系統」,以便客戶報告異常情況並回饋服務,如下所示:

在工單系統中,我們需要配置公共服務介面,以便乘客可以使用,如下所示:

之後,乘客可以存取工單系統頁面,如下所示:

此模組對於模擬外部攻擊面、輸入驗證漏洞和社交工程情境特別有用。
4.4 配置財務模組
為了模擬目的,只需啟用必要的財務功能。我啟用了「薪資管理」部分:

之後,我們可以登入財務組下的管理員或使用者帳戶,為員工分配薪資並模擬薪資發放,如下所示:

4.5 配置多模組工具與整合
為提高可擴展性和真實性,請啟用支援工具:
-
資料匯入/匯出 :允許在多個 cyber range 部署中重複使用 ERP 資料集
-
AI 整合:連接到本地 AI 服務(例如,透過 Ollama)
-
電子郵件配置 :使用 Gmail 或 Outlook 等服務配置 SMTP https://wiki.dolibarr.org/index.php/Setup_EMails。
-
協作工具 :啟用事件/日曆模組

若要啟用帶有自訂 AI 服務的 AI 功能,我們可以將該功能與使用 Ollama 服務的本地 GPU 連結。

對於協作工作,我只啟用了事件協作,如下所示:

然後作為管理員,我們可以建立一個事件,例如簡報會議,並透過將不同的鐵路員工添加到日曆事件中來分配他們的出席情況:

現在我們幾乎擁有了簡單鐵路公司所需的所有模組,下一步是填寫員工資訊,我們可以使用 AI 生成員工資訊。要使用 Python 腳本在 ERP 系統中生成一個動作,例如在 HR 系統中申請請假,我們需要使用函式庫 https://pypi.org/project/dolibarr/
from dolibarr import Dolibarr
api_url = 'http://your-url/dolibarr/htdocs/api/index.php/'
api_key = 'custom_API-Key'
# 連接到 dolibarr
dolibarr_inst = Dolibarr(api_url, api_key)
然後我們按照此連結中的範例 https://wiki.dolibarr.org/index.php/Module_Web_Services_API_REST_(developer)#PHP 來呼叫相關 API 以生成事件或動作。
4.6 配置進階/自訂模組
對於擴展功能(例如,雙因素認證 (2FA)),您需要購買額外的模組,然後下載 zip 檔案並從 Dolibarr marketplace 安裝:https://www.dolistore.com/index.php?l=en。
購買並下載所需模組,然後按照以下說明安裝:https://wiki.dolibarr.org/index.php/Module_TwoFactorAuth

在此階段之後,ERP 系統已完全配置,可以模擬鐵路公司的企業 IT 環境。它包括:
-
真實的組織結構和使用者角色
-
HR、CRM 和財務工作流程
-
外部互動介面
-
自動化和 AI 生成的資料
這完成了 cyber range 的 ERP 設定,將其轉變為一個 動態、互動且可攻擊的 IT 環境,適用於進階網路安全演練。
Thanks for spending time to check the article detail, if you have any question and suggestion or find any program bug, please feel free to message me. Many thanks if you can give some comments and share any of the improvement advice so we can make our work better ~
最後編輯者:LiuYuancheng ([email protected]) 於 2026/03/20。如有任何問題,請傳送訊息給我。
No comment for this article.