实验二

实 验 基 本 信 息

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

实验名称:Samba服务器配置

实验时间:    年 月 日

实验地点: 

实验目的:

    1. 了解Samba环境及协议
    2. 掌握Samba的工作原理
    3. 掌握主配置文件Samba.conf的主要配置
    4. 掌握Linux和Windows客户端共享Samba服务器资源的方法

实验要求

1、简单文字说明,关键位置截图补充,Samba配置文件中的关键参数,使用注释标明。

2、实验过程中,出现任何错误,详细描述排错的过程。

3、实验完成后,当场演示实验结果。

实验过程描述

任务1: 配置yum源,使用光盘镜像安装Samba服务包。

(1) 挂载光驱:虚拟机→可移动设备→勾选CD/DVD;虚拟机→设置,如下图所示,确保CentOS7放在“光驱”中。

实验二 Samba服务器配置 Linux 第1张实验二 Samba服务器配置 Linux 第2张

2)连接xshell操作

如下所示:

实验二 Samba服务器配置 Linux 第3张实验二 Samba服务器配置 Linux 第4张

(3) rpm -qa |grep samba //安装完后查看软件安装情况 出现如下即为配置成功:

实验二 Samba服务器配置 Linux 第5张实验二 Samba服务器配置 Linux 第6张

任务2:匿名访问(不需要密码的分享),物理主机匿名访问Samba服务器上的共享目录/tmp和/public。

  1. 输入命令

实验二 Samba服务器配置 Linux 第7张实验二 Samba服务器配置 Linux 第8张

  1. 配置smb.conf文件

实验二 Samba服务器配置 Linux 第9张实验二 Samba服务器配置 Linux 第10张

global] ;全局配置

workgroup = WORKGROUP ; 工作组名称

server string = Samba Server Version %v ;主机简单说明

netbios name = Host1 ;netbios名称

interfaces = 192.168.40.0/24 ;允许哪个接口提供服务,监听哪些网卡

hosts allow = 127.空格192.168.8. ;允许哪些地址的主机访问

log file = /var/log/samba/log.%m ;日志文件位置

max log size = 500 ;最大日志文件大小

security = user ;Samba服务器的安全模式

map to guest = Bad User ;匿名共享

[tmp] ;共享目录名称,也叫节名,每节定义一个共享项目

comment = Template Directories ;目录说明

browseable = yes ;是否让所有的用户看到这个项目

writable = yes ;是否可写

path=/tmp ;共享文件夹路径

guest ok = yes ;单纯分享时,让用户随意登入的设定值

  1. 查看配置文件语法是否正确

实验二 Samba服务器配置 Linux 第11张实验二 Samba服务器配置 Linux 第12张

  1. 启动服务器并查看端口是否打开

实验二 Samba服务器配置 Linux 第13张实验二 Samba服务器配置 Linux 第14张

 实验二 Samba服务器配置 Linux 第15张实验二 Samba服务器配置 Linux 第16张

 • nmb:进行NetBIOS名称解析,主要使用UDP端口137、138来解析名称。

• smb:管理Samba服务器上的共享目录、打印机等,主要使用TCP端口、139、445来传输数据。

  1. 在服务器(本地)检查共享情况

实验二 Samba服务器配置 Linux 第17张实验二 Samba服务器配置 Linux 第18张

  1. 关闭防火墙和selinux重启服务器

实验二 Samba服务器配置 Linux 第19张实验二 Samba服务器配置 Linux 第20张

  1. 在windos中访问共享

实验二 Samba服务器配置 Linux 第21张实验二 Samba服务器配置 Linux 第22张

实验二 Samba服务器配置 Linux 第23张实验二 Samba服务器配置 Linux 第24张

实验二 Samba服务器配置 Linux 第25张实验二 Samba服务器配置 Linux 第26张

 

任务3:使用用户名访问(需要密码的分享),每用户可以登陆访问(可读写)共享目录project,但Samba服务器上自己的主目录,只能用户自己访问(可读写),其他用户无权访问。

 1、Samba服务器上创建共享目录/home/project 并设置相应权限

实验二 Samba服务器配置 Linux 第27张实验二 Samba服务器配置 Linux 第28张

注意:2是扩展属性,你的文件的权限变为-rwxrws---表示其他用户执行问件时具有所有者组的权限,若是4770则权限变为:-rwsrwx---,表示其他用户执行文件时,具有与所有者相当的权限

  1. 修改配置文件/etc/samba/smb.conf

实验二 Samba服务器配置 Linux 第29张实验二 Samba服务器配置 Linux 第30张

实验二 Samba服务器配置 Linux 第31张实验二 Samba服务器配置 Linux 第32张

3、创建共享用户,根据权限访问共享目录(说明:Samba使用Linux系统的本地用户账户,但需要为系统账户专门设置Samba密码。客户端访问时,系统将提交的用户信息与Samba服务器端的信息进行比对地,如果相符,并且也符合Samba服务器其他安全设置,客户端与Samba服务器才能成功建立连接。)

实验二 Samba服务器配置 Linux 第33张实验二 Samba服务器配置 Linux 第34张

4、修改用户密码

实验二 Samba服务器配置 Linux 第35张实验二 Samba服务器配置 Linux 第36张

5、创建和管理Samba的共享用户,设置密码为4321(可以使用pdbedit命令来创建和管理Samba用户。)

实验二 Samba服务器配置 Linux 第37张实验二 Samba服务器配置 Linux 第38张

实验二 Samba服务器配置 Linux 第39张实验二 Samba服务器配置 Linux 第40张

实验二 Samba服务器配置 Linux 第41张实验二 Samba服务器配置 Linux 第42张

实验二 Samba服务器配置 Linux 第43张实验二 Samba服务器配置 Linux 第44张

6、 查看结果 pdbedit -L //读取passdb.tdb数据库文件,列出所有共享用户

实验二 Samba服务器配置 Linux 第45张实验二 Samba服务器配置 Linux 第46张

7、 可以使用smbpasswd命令,修改共享用户的密码

实验二 Samba服务器配置 Linux 第47张实验二 Samba服务器配置 Linux 第48张

8、可以使用 pdbedit -x 用户名 //删除samba共享用户

9、重启服务

实验二 Samba服务器配置 Linux 第49张实验二 Samba服务器配置 Linux 第50张

10、在本地查看结果

实验二 Samba服务器配置 Linux 第51张实验二 Samba服务器配置 Linux 第52张

 

 。

 

回答问题

  1. Samba服务器有什么安全风险?

实验中为了搭建服务器关掉了防火墙和SElinux不利于系统安全

 防火墙

  Samba 有很多特性可以限制哪些人能访问哪些共享文件 — 限制特定用户名的访问、强制要求密码、检查组成员或在网络层过滤。后面的参数,比如 allow hosts 和 smb ports,它们对 IP 地址和 User Datagram Protocol (UDP)/TCP 端口进行操作,提供了一种简单的方法来控制哪些主机可连接到 Samba 服务器上。

  如果能识别哪些设备连接到服务器,比如属于内部网络,或者甚至是某个特定的子网或一组服务器,那么就实现了网络层控制。这是第一道防线:如果攻击者无法连接到设备,那么设备会更安全。

  在 Samba 守护进程中控制网络网络访问,这听上去是完美的解决方案,但其实有更好的方法。为了确定远程连接是否满足要求,Samba 首先要接受连接,因为 Samba 只有在完成连接后才能获取详细信息。如果是想要防止不符合要求的用户连接到 Samba,那么防止 Samba 看到这些连接更有意义。Samba 中的所有配置都只会影响 Samba,因此必须为其他的守护进程(比如 web 服务器和文件传输)找到类似的解决方案。

在典型环境中,网络安全不是由系统管理员而是由其他 IT 员工负责。在主机层(而不是应用程序层)控制访问能够实现业务分离,而且会减少由于更改 smb.conf 而导致的错误

使用防火墙保护 Samba

  有多种不同的方法来设计 Samba 的防火墙策略,选择时要考虑网络布局以及谁或哪些主机需要访问 Samba 服务器等事项。从较高的层面来看,您可以选择保护整个主机或只关注 Samba。

  如果您想要保护整个主机,那么您就不必担心 Samba 使用哪个端口。以下代码是一个简单策略,只允许来自 10.0.0.0/8 专用网络的流量传输到本地服务器:

iptables -A INPUT -s 10.0.0.0/8 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -P INPUT DROP

  第一个命令向 INPUT 链添加了一条规则,它将规则添加到当前的规则列表中。该规则设置了来自源网络(-s)10.0.0.0/8 的所有内容都跳到 ACCEPT 目标,它将会接受数据包。第二个命令允许来自现有会话的包,这是通过调用带有 -m state 的状态匹配器实现的。匹配器会追踪哪些连接离开主机。传出的连接的响应包被认为是 established 或 related,因此规则的其余部分会接受这些包。

  最后一个命令设置 INPUT 链丢弃数据包的默认策略。如果数据包不是来自 10.0.0.0/8 网络或者不是主机生成的连接的一部分,那么它不会被接受。

实验成绩

 

 

 

教师签名:

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄