⽂件共享服务器是⼀种⽹络设备或软件,⽤于存储⽂件并使其能够被⽹络上的多个⽤户或设备访问。这种服务器在企业环境、教育机构、政府部⻔以及⼩型⾄⼤型组织中⼴泛使⽤,它允许⽤户存储、共享和管理⽂件,从⽽促进协作和数据交换。
主要功能1. 集中存储: ○ ⽂件共享服务器提供⼀个中央位置来存储所有的业务⽂件,这些⽂件可以被授权的⽹络⽤户访 问。 2. 数据备份和恢复: ○ 服务器可以被配置⽤于定期备份数据,确保在硬件故障、操作错误或其他灾难事件中数据不会 丢失。 3. 权限管理: ○ 管理员可以设置详细的访问控制列表(ACLs),以决定哪些⽤户或组可以访问特定的⽂件或⽂ 件夹。 4. 资源共享: ○ 共享⽂件以及其他资源,如打印机和应⽤程序,提⾼资源利⽤率和⼯作效率。 5. 跨平台兼容性: ○ ⽀持不同操作系统的设备访问存储在服务器上的⽂件,常⻅的协议包括SMB/CIFS、NFS、AFP 等。
常⽤的⽂件共享技术 1. Windows⽂件共享(基于SMB/CIFS协议): ○ 在Windows环境中,SMB/CIFS是最常⽤的⽂件共享协议,它⽀持Windows客户端和服务器之 间的⽂件共享。 2. NFS(⽹络⽂件系统): ○ 在UNIX和Linux环境中⼴泛使⽤,NFS允许计算机⽤户在⽹络上查看、存储和更新⽂件就如同访 问本地存储⼀样。 3. AFP(Apple Filing Protocol): ○ 主要⽤于Apple设备,虽然现在Mac OS X也⽀持SMB协议,但AFP仍在⼀些特定环境下使⽤。
实施考虑因素 ● 安全性:配置强⼤的防⽕墙和安全协议,实施端到端的数据加密,防⽌数据泄露。 ● 性能:确保服务器具有⾜够的处理能⼒和存储容量来处理预期的⼯作负载。 ● 备份策略:实施有效的备份策略,包括定期的全备份和增量备份,以及在不同地理位置的数据复 制。 ● 维护和监控:定期更新服务器软件,监控服务器性能和安全状况,确保系统运⾏稳定和数据安全。 SMB协议 SMB(Server Message Block)协议是⼀个应⽤层⽹络协议,主要⽤于实现⽹络上的⽂件共享、打印服务、以及串⾏端⼝和通信资源的共享。最初由IBM开发,后来由Microsoft进⼀步发展,它已成为Windows环境中⽂件和打印服务共享的核⼼技术。
基本功能 SMB协议允许计算机在⽹络上共享⽂件和打印机资源,不受操作系统平台的限制。通过SMB,⽤户可以: ● 访问和编辑存储在⽹络上的⽂件。 ● 使⽤⽹络中共享的打印机。 ● 控制和访问连接到⽹络上的其他外围设备。
版本历史 1. SMB 1.0(CIFS): ○ 最初版本,被称为共享⽂件系统(Common Internet File System, CIFS)。 ○ 提供基本的⽂件共享功能,但效率低下,安全性较差。 2. SMB 2.0: ○ 引⼊了性能改进,减少了协议开销。 ○ 改进了对⼤型⽂件的⽀持和⽹络错误恢复能⼒。 3. SMB 2.1: ○ 引⼊了更多性能改进,例如增加了租约(lease)概念以优化客户端缓存。 4. SMB 3.0: ○ 添加了更多⾼级功能,如端到端加密,确保数据传输安全。 ○ ⽀持多通道操作,可以同时使⽤多个⽹络连接来提⾼数据传输速率和容错能⼒。 ○ 集群共享卷(CSV)⽀持,为服务器集群提供更好的⽂件共享解决⽅案。 5. SMB 3.1.1: ○ 引⼊了更强的安全性,包括更好的加密算法。 ○ 针对前版本中识别的漏洞进⾏了修补,提⾼了整体安全性。
⼯作原理 SMB协议⼯作在TCP/IP协议栈的较⾼层,通常使⽤TCP端⼝445进⾏通信。当客户端设备试图访问⽹络上的⽂件或资源时,它会通过SMB协议与提供该资源的服务器建⽴连接,然后进⾏权限验证,⼀旦验证通过,客户端便可以对远程⽂件执⾏操作,如读取、写⼊、修改等。
安全性 随着SMB版本的迭代,其安全性得到了显著提升,特别是在SMB 3.0及以后版本中,引⼊的加密和更严格的身份验证极⼤增强了协议的安全性。不过,由于SMB协议的普遍性和复杂性,它仍然是⽹络攻击者常常尝试利⽤的⽬标之⼀,如著名的WannaCry勒索软件就是通过利⽤SMB 1.0中的漏洞进⾏传播的。
应⽤场景 SMB协议⼴泛应⽤于各种业务和家庭⽹络环境中,特别是在需要跨平台共享⽂件和打印服务的场合。在企业环境中,SMB服务器通常承担着关键的⽂件存储和备份⻆⾊,⽀持⽇常的办公⽂件共享和协作需求。
SMB ⽂件共享服务器
⼀种使⽤服务器消息块协议(SMB)来提供⽹络上的⽂件共享服务的服务器。
SMB是⼀种应⽤层⽹络协议,主要⽤于⽂件、打印机、串⾏端⼝及通信资源的共享,特别是在Windows环境中。这种服务器可以在Windows、Linux、macOS等多种操作系统上设置,使得不同操作系统的设备能够⽅便地共享和访问⽂件。SMB⽂件共享服务器的核⼼功能: 1. ⽂件共享:允许⽹络中的多个⽤户访问存储在服务器上的⽂件。这使得⽂件协作变得更加容易,因为多个⽤户可以同时打开和编辑存储在共享位置的⽂档。 2. 打印共享:使多个⽤户可以共享同⼀个⽹络打印机,⽽不需要每个⽤户都连接⼀个物理打印机。 3. 权限管理:管理员可以设置不同的访问权限,控制不同⽤户或⽤户组访问共享⽂件的能⼒。这包括读取、写⼊、修改等权限。 4. 数据传输:SMB协议⽀持通过⽹络进⾏数据加密和压缩的传输,增强数据在传输过程中的安全性和效率。 5. 跨平台⽀持:虽然SMB最初是为Windows设计的,但现在它⽀持包括Linux和macOS在内的多种操作系统。Linux系统中的Samba是⼀个流⾏的SMB协议实现,它允许Linux服务器与Windows客户机之间的⽂件和打印服务共享。
如何设置SMB⽂件共享服务器
在Windows服务器上,您可以通过以下步骤设置SMB⽂件共享: 1. 安装⽂件服务⻆⾊:通过服务器管理器安装⽂件和存储服务。 2. 创建⽂件共享:在⽂件和存储服务管理界⾯中创建新的共享。 3. 配置权限:设置NTFS权限和共享权限,确保只有授权⽤户才能访问共享资源。 4. ⽹络配置:确保⽹络配置允许客户端设备连接到SMB服务器。
在Linux服务器上,您通常会使⽤Samba软件来实现SMB服务: 1. 安装Samba:使⽤包管理器安装Samba。 2. 配置smb.conf⽂件:配置Samba的主配置⽂件以定义共享和访问权限。 3. 重启Samba服务:应⽤配置更改并启动服务。
SMB⽂件共享服务器因其易⽤性、功能性和跨平台⽀持⽽⼴泛应⽤于⼩型到⼤型企业环境中。
创建共享 ⽅法:⽂件夹右键属性--共享--开启共享--设置共享名--设置共享权限
注意点: 1)在本地登录时,只受NTFS权限的影响 2)在远程登录时,将受共享及NTFS权限的共同影响,且取交集! 3)所以建议设置共享权限为everyone完全控制,然后具体的权限需求在NTFS权限中设置即可
1. 本地登录 当⽤户直接使⽤物理或虚拟的接⼊点(如直接在计算机前的键盘和显示器)登录到系统时,这称为本地登录。这种情况下,⽤户通常会在欢迎屏幕输⼊他们的⽤户名和密码,直接在该设备上开始他们的会话。 ● 权限影响:对于本地登录的⽤户,⽂件和⽂件夹的访问权限仅由NTFS权限控制,不涉及⽹络共享权限。 ● 使⽤场景:这种⽅式适⽤于办公环境中员⼯直接在⾃⼰的⼯作站上⼯作,或在家中使⽤个⼈电脑。 2. 远程登录 远程登录是指⽤户通过⽹络连接到⼀个设备,例如使⽤远程桌⾯协议(RDP)、SSH、VNC等远程访问⼯具。即使⽤户正在操作的是本地计算机上的界⾯,实际的计算过程是在远程设备上完成的。 ● 权限影响:对于远程登录的⽤户,如果他们访问的是共享⽂件或⽬录,那么他们的权限由⽹络共享权限和NTFS权限共同决定,取这两者的交集。 ● 使⽤场景:常⻅于管理员远程维护服务器、员⼯在家远程访问公司的⽹络资源,或在数据中⼼运⾏的虚拟机。
特别情况:多⽤户登录 对于⽀持多⽤户同时登录的操作系统(如Windows Server系列),即使多个⽤户在同⼀台物理设备上通过各⾃的远程桌⾯会话登录,这些登录也被视为远程登录。每个⽤户的会话虽然在物理上发⽣在同⼀台机器上,但从⽹络和权限管理的⻆度来看,他们是从远程访问设备。
总结 因此,不同⽤户在⼀台设备上的登录类型(本地或远程)取决于他们登录的⽅式。如果他们直接在设备上登录,那是本地登录;如果他们通过⽹络连接到该设备,即使他们使⽤的是与设备连接的物理硬件(如通过KVM切换),也是远程登录。每种登录类型对⽂件和资源的访问权限有不同的影响,这需要在权限管理策略中考虑和适当配置。
访问共享 在开始运⾏/或我的电脑地址栏中,输⼊UNC地址:
\\⽂件共享服务器IP\\⽂件共享服务器IP\共享名
例如: 服务器上有某⽂件夹:C:\新建⽂件夹 服务器IP:192.168.8.132 共享名: f
\\192.168.8.132\f
实验⼀ ⽂件共享服务器部署: 需求 1.开2台虚拟机,并互相ping通 2.设置2012为共享服务器,并在客户机上可以访问共享,要求a账户只能下载,b账户只 能上传,c账户可以上传下载 及删除
步骤1: 配置虚拟机⽹络并测试连通性 1. 配置⽹络:确保两台虚拟机均设置为可以互相通信的⽹络模式,如桥接模式或NAT模式,并在同⼀ ⼦⽹中。 2. 设置IP地址:在两台虚拟机上配置静态IP地址或确保它们通过DHCP获得IP地址。 3. 测试连通性:在每台虚拟机上使⽤ ping 命令来测试⽹络连通性。例如,在⼀台机器上打开命令提示符,输⼊ ping [ 另⼀台虚拟机的 IP 地址 ] ,检查是否能收到回应。
在Windows Sever 2012和win7虚拟机互相ping,可以收到回应,证明两主机在同一网段,可以通信。
步骤2: 设置Windows Server 2012作为⽂件共享服务器 1. 创建⽂件共享: 在Windows Server 2012上,选择或创建⼀个⽂件夹作为共享⽂件夹。 右键点击⽂件夹,选择“属性”,转到“共享”选项卡,点击“⾼级共享”。 勾选“共享此⽂件夹”,设置共享名称。 共享名可以随便设置。2. 配置共享权限: 在“⾼级共享”中点击“权限”,为每个账户设置适当的共享权限: 对于 a 账户:允许“读取”。 对于 b 账户:设置“更改”权限,但在NTFS权限中将限制读取和删除操作。 对于 c 账户:设置“完全控制”权限。
新增用户在前面章节“用户与组管理”中有详细做法,添加用户后要在底下修改用户权限。
步骤3: 设置NTFS权限
共享权限控制从⽹络访问共享时的能⼒,NTFS权限控制实际对⽂件的操作。需要确保两者设置⼀致。 1. 右键点击共享⽂件夹,选择“属性”,转到“安全”选项卡。 2. 编辑或添加权限: 对于 a 账户:只添加“读取和执⾏”的NTFS权限。 对于 b 账户:只添加“写⼊”的NTFS权限。 对于 c 账户:添加“修改”的NTFS权限(包括读取、写⼊和删除)。
注意NTFS权限和共享权限最终结果是取交集的!
步骤4: 测试配置
1. 从客户机访问共享: 在客户机上,打开“运⾏”(Win+R),输⼊ \\[ 服务器 IP 地址 ]\[ 共享名称 ] ,按回⻋。或在计算机中输入。 使⽤ a 、 b 和 c 账户登录,验证是否能按预期执⾏⽂件操作。
可以看到,a用户具有读取权限。
注意:
切换登录身份在登录完a账户后,win7会自动缓存,我们怎么进入其他账户呢?
同样在计算机中输入下方指令
net use * /del /y
进入b后,可以看到b账户没有权限。
注意事项
⽤户账户:确保 a 、 b 和 c 账户已在服务器上正确创建并设置密码。 ⽹络安全:考虑配置防⽕墙和安全软件,确保只有授权的⽤户可以访问共享。 数据备份:定期备份共享数据,防⽌意外丢失或破坏。
实验⼆ 访问隐藏共享⽂件:
在Windows操作系统中,尤其是在管理敏感或不常⽤的⽂件时会隐藏⽂件或访问隐藏的共享⽂件
如何隐藏⽂件
1. 找到⽂件或⽂件夹: 浏览到你想要隐藏的⽂件或⽂件夹。 2. 设置属性为隐藏: 右键点击该⽂件或⽂件夹,然后选择“属性”。 在弹出的属性窗⼝中,查找“属性”部分。 勾选“隐藏”复选框,然后点击“应⽤”和“确定”。
3. 确认⽂件已隐藏:
默认情况下,隐藏的⽂件或⽂件夹在资源管理器中不可⻅。
要查看隐藏的⽂件,你需要修改视图设置:在资源管理器中,点击“查看”选项卡,然后勾选“隐 藏的项⽬”。如何创建并访问隐藏的共享⽂件 1. 创建隐藏共享: 在⽂件或⽂件夹上右键点击,选择“共享给”->“特定⼈员...”。 在共享界⾯中,可以选择⽤户或组,设置共享权限后,点击“共享”。 为了隐藏共享,共享名后⾯加上 $ 符号(例如 SecretFiles$ )。这会使共享在⽹络上不 可⻅,但仍然可以访问。 2. 访问隐藏的共享: 打开任意计算机的⽂件资源管理器。 在地址栏输⼊ \\[ 服务器名称或 IP 地址 ]\[ 隐藏的共享名 ] ,例如 \\192.168.1.5\SecretFiles$ 。 按Enter键,如果需要,输⼊访问凭据。 这样就可以访问设置为隐藏的共享⽂件夹了。
注意事项 隐藏⽂件和⽂件夹是基于Windows的简单权限管理,不是⼀种安全措施。如果⽤户知道⽂件或⽂件夹的确切位置,或者设置了显示隐藏⽂件,他们仍然可以访问这些资源。 隐藏共享(在共享名后加 $ )是⼀种使共享在浏览过程中不可⻅的⽅法,但知道完整路径的⽤户仍可直接访问。 确保在创建隐藏共享时,也配置适当的⽂件和共享权限,以防未授权访问。 这些步骤为管理敏感⽂件提供了⼀定程度的隐私,但应结合其他安全措施(如⽂件加密和⽹络安全策略)来保护数据安全。
实验三 服务器安全加固之445:
关闭端⼝445可以帮助防⽌通过SMB协议传播的恶意软件,如勒索软件。端⼝445⽤于Windows⽂件和打印共享服务,也是SMB协议通信的默认端⼝。当该端⼝开放时,如果没有适当的安全措施,⿊客或恶意软件可以利⽤它来传播或进⾏⽹络攻击。下⾯是具体的操作⽅法来关闭端⼝445:cmd输入netstat -an
可以通过关闭445端⼝来屏蔽病毒传⼊(如勒索病毒等)
⽅法1:打开services.msc,并停⽌及禁⽤server服务
方法2:禁⽌被访问445,配置⾼级安全防⽕墙-⼊站规则(在win7及以上系统,win2008及以上系统)
1. 打开Windows防⽕墙⾼级安全设置: ○ 在控制⾯板中打开“系统和安全”,点击“Windows Defender防⽕墙”。 ○ 在左侧菜单中选择“⾼级设置”。 2. 创建新的⼊站规则以阻⽌端⼝445: ○ 在Windows防⽕墙与⾼级安全窗⼝中,选择“⼊站规则”。 ○ 在右侧点击“新建规则”。 ○ 选择“端⼝”,点击“下⼀步”。 ○ 选择“TCP”,指定本地端⼝为“特定本地端⼝”,输⼊“445”,然后点击“下⼀步”。 ○ 选择“阻⽌连接”,然后点击“下⼀步”。 ○ 确保所有配置⽂件(域、私有、公共)都被选中,然后点击“下⼀步”。 ○ 为规则命名,例如“Block SMB Port 445”,点击“完成”。 这些设置会阻⽌任何尝试通过端⼝445访问您计算机的⽹络流量,从⽽增加系统的安全性。关闭此 端⼝后,您的计算机将⽆法使⽤SMB协议进⾏⽹络⽂件或打印机共享 和上节新建规则,开放端口相同,只不过这次是禁用端口!注意:在考虑是否关闭Windows中的“Workstation”服务 Workstation 服务的功能 “Workstation”服务(也称为LanmanWorkstation)负责建⽴和维护客户端⽹络连接,使计算机能够访问服务器资源,包括⽂件共享和打印服务。该服务是Windows⽹络客户端的核⼼组成部分,管理⽹络连接和资源访问的配置。 关闭 Workstation 服务的影响 关闭“Workstation”服务会有⼀些明显的⽹络功能影响: 1. ⽂件和打印共享:如果关闭该服务,这台计算机将⽆法通过SMB协议访问⽹络上的⽂件共享和打印服务。 2. ⽹络路径识别:该服务负责解析⽹络路径(如UNC路径,例如 \\Server\Share ),关闭它可能 导致⽆法通过这种⽅式访问⽹络资源。 3. 应⽤程序功能:依赖⽹络连接的应⽤程序可能⽆法正常⼯作。 是否应该关闭 Workstation 服务 ● 安全考虑:在⼀些特定的安全需求场景中,如某些⾼度安全敏感的操作环境,关闭此服务可以减少 潜在的攻击⾯,因为它禁⽌了通过SMB协议的⽹络访问。 ● 功能需求:如果设备不需要⽹络⽂件访问或者只⽤于特定的应⽤,且这些应⽤不需要⽹络共享功 能,关闭该服务可以减少系统资源的消耗。
实验四 : 扩展CMD
在Windows命令⾏(CMD)中,管理共享⽂件包括查询共享、创建共享和删除共享等操作,主要可以通过 net share 命令来完成。这个命令是⼀个强⼤的⼯具,⽤于在命令⾏环境下控制⽂件共享。 查询共享⽂件 要在命令⾏中列出当前系统上的所有共享,可以使⽤以下命令:
net share
这条命令将显示所有活动的共享,包括共享名称、资源路径以及备注。 在Windows中,有⼏个系统默认的隐藏共享,也称为管理共享,它们以 $ 符号结尾,对于⽹络上的⽤户来说是不可⻅的。这些共享包括: ADMIN$:通常指向Windows的安装⽬录(如C:\Windows)。 C$、D$ 等:代表系统上每⼀个本地驱动器的根⽬录。 这些共享主要为系统管理员提供远程管理便利,但在某些情况下,出于安全考虑,组织可能希望禁⽤这些⾃动共享。
修改Windows注册表来禁⽌⾃动创建这些管理共享 1. 打开注册表编辑器: 在Windows搜索框中输⼊ regedit ,然后选择“注册表编辑器”(或按 Windows 键 + R , 输⼊ regedit ,然后按 Enter )。 2. 定位到指定的注册表位置: 导航到 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServ er\Parameters 。这是控制Windows局域⽹管理服务(包括⽂件共享服务)的设置的地⽅。 3. 创建新的注册表项: 在 Parameters 键下右键点击,选择“新建” -> “DWORD (32位) 值”。 命名这个新的DWORD为 AutoShareServer 。 4. 设置值: 双击新创建的 AutoShareServer ,在“数值数据”框中输⼊ 0 。 点击“确定”。这个值 0 表示禁⽌⾃动创建这些隐藏的系统共享。 5. 重启计算机: 对这些更改⽣效,需要重启计算机。
注意事项
修改注册表前应该⼩⼼谨慎。错误的修改可能会导致系统不稳定或启动失败。建议在进⾏更改前备 份注册表。 禁⽤这些共享可能影响某些系统管理任务的执⾏,如远程桌⾯服务、系统更新等。 这种更改主要⽤于提⾼系统安全性,避免未授权访问系统关键⽂件。
创建共享⽂件
要通过命令⾏创建⼀个新的⽂件共享,可以使⽤ net share 命令,后跟共享名称和要共享的⽂件夹路径。例如,如果你想创建⼀个名为“MyShare”的共享,共享⽬录为"C:\SharedFolder",可以使⽤如下命令:net share MyShare=C:\SharedFolder
可以添加 /grant 参数来指定⽤户访问权限,例如,给予⽤户“everyone”读取权限:
net share MyShare=C:\SharedFolder /grant:everyone,read
删除共享⽂件
删除⼀个已经存在的共享只需要指定要删除的共享名称。例如,要删除上⾯创建的“MyShare”共享,可以使⽤:net share MyShare /delete
系统会提示你确认删除操作,你需要确认以继续。
示例 假设我们需要完成以下任务: 1. 列出所有共享:
net share
2. 创建⼀个共享:
net share MyDocuments=C:\Users\User\Documents /grant:everyone,full
3. 删除⼀个共享: net share MyDocuments /delete
net share MyDocuments /delete
注意事项 ● 运⾏ net share 命令可能需要管理员权限,因此可能需要以管理员身份运⾏命令提示符。 ● 使⽤共享和权限时要⼩⼼,尤其是使⽤ everyone 群组时,这可能会导致安全隐患。 ● 永远不要共享敏感或私密数据,除⾮确保了适当的安全措施。