你要实现两个核心安全目标:
- 服务器本地:禁止 U 盘、移动硬盘等外部存储设备接入
- 共享文件:仅允许单位内网电脑访问,拒绝外网 / 非内网 IP 访问
下面分 Windows****服务器 和 Linux****服务器 给出完整、可直接操作的方案。
当然,对一些企事业单位来说,如果没有专门的网络管理人员,可以考虑部署一些专门的共享文件管理软件。例如"大势至局域网共享文件管理系统",只需要在公司内部文件服务器上安装之后,就可以设置共享文件访问权限,可以进行IP和MAC地址绑定,可以只让公司电脑访问共享文件,禁止外部电脑访问共享文件;同时,还可以只让读取共享文件而禁止复制共享文件、只让打开共享文件而禁止另存为本地磁盘、只让修改共享文件而禁止删除共享文件,并可以禁止打印共享文件、禁止共享文件截屏等,全面保护服务器共享文件的安全。同时,还可以详细记录共享文件访问日志,便于事后备查和审计。如下图:

图:大势至局域网共享文件管理系统
一、Windows 服务器:禁止外部设备(U 盘 / 移动硬盘)
-
组策略(推荐:企业域 / 批量管理)
-
Win+R → 运行 gpedit.msc(本地组策略)
-
进入:
计算机配置 → 管理模板 → 系统 → 可移动存储访问
-
启用:
- 所有可移动存储类:拒绝所有权限 (完全禁用)
- 或:可移动磁盘:拒绝读取权限**/** 拒绝写入权限 (精细控制)
-
(可选)阻止安装新 USB 设备:
计算机配置 → 管理模板 → 系统 → 设备安装 → 设备安装限制
启用:禁止安装可移动磁盘
-
注册表(仅禁 USB 存储、保留键鼠)
-
Win+R → regedit
-
定位:
plaintext
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR
-
修改 Start = 4(禁用)
- 3 = 自动、4 = 禁用
-
BIOS/UEFI 硬件级禁用(最安全)
- 开机按 Del / F2 / F10 进 BIOS
- 找到:USB Configuration → USB Mass Storage Support = Disabled
- 优点:系统层面无法绕过
- 缺点:会影响所有 USB 设备(键鼠也可能被禁)
二、Windows 共享:仅允许单位内网电脑访问
- 防火墙限制 SMB(445 端口):仅内网 IP 可访问
文件共享用 SMB****协议( TCP 445 )
方法 A:图形界面
- 控制面板 → Windows Defender 防火墙 → 高级设置
- 入站规则 → 新建规则
- 规则类型:端口
- TCP → 特定本地端口:445
- 允许连接
- 只勾选:域、专用(不勾选公用)
- 作用域 → 远程 IP 地址:下列****IP 地址
→ 添加你单位内网网段:如 192.168.1.0/24
- 命名:Allow_SMB_Only_LAN
- 禁用系统原有 " 文件和打印机共享( SMB-In ) " 规则
方法 B:PowerShell(一键)
powershell
仅允许内网 192.168.1.0/24 访问445
New-NetFirewallRule -DisplayName "Allow_SMB_LAN" `
-Direction Inbound -Protocol TCP -LocalPort 445 `
-RemoteAddress 192.168.1.0/24 -Action Allow
禁用默认SMB规则
Disable-NetFirewallRule -DisplayName "文件和打印机共享 (SMB-In)"
-
共享权限 + NTFS 权限双重控制
-
文件夹 → 属性 → 共享 → 高级共享 → 权限
- 删除 Everyone
- 只加:Domain Users / 本地授权用户组
-
安全(NTFS 权限):
- 同样只保留内网用户 / 组,移除****Everyone
-
企业级加固(可选)
- 启用 SMB****加密 :
powershell
Set-SmbServerConfiguration -EncryptData $true
- 防火墙 / 出口路由:禁止外网入站****445 端口 Microsoft Learn
- 启用 网络准入 NAC / 802.1X :非单位设备连内网也无法通信
三、Linux 服务器:禁止 USB 外部设备
- 黑名单 USB 存储模块(推荐)
bash
运行
echo "blacklist usb_storage" > /etc/modprobe.d/blacklist-usb-storage.conf
update-initramfs -u
reboot
- USBGuard(精细管控)
bash
运行
apt install usbguard
usbguard generate-policy > /etc/usbguard/rules.conf
systemctl enable --now usbguard
四、Linux 共享(NFS/SMB):仅内网 IP 访问
- NFS 共享(Linux 常用)
编辑 /etc/exports:
plaintext
/data/share 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)
bash
运行
exportfs -a
systemctl restart nfs-server
- Samba(SMB,Windows 访问 Linux)
编辑 /etc/samba/smb.conf:
ini
share
path = /data/share
valid users = @staff
hosts allow = 192.168.1.0/24 # 仅允许内网
hosts deny = all
bash
运行
systemctl restart smbd
- 防火墙(firewalld)
bash
运行
仅允许内网访问NFS/SMB
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="nfs" accept'
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="samba" accept'
firewall-cmd --reload
五、最终效果(企业标准)
- ✅ U****盘 / 移动硬盘插入服务器:无法识别、无法读写
- ✅ 外网 / 非内网 IP 访问共享:连接超时 / 拒绝访问
- ✅ 仅单位内网 IP ( 192.168.x.x )可正常访问
- ✅ 配合域账号 + NTFS 权限,实现 "谁能看、谁能改 "