Linux(六)Samba服务器与防火墙

时间:2024-03-04 07:00:30

Samba文件服务器

  (一)简介

    内网文件服务器

  (二)端口

    smbd: 为clinet提高资源访问 tcp 139 445

    nmbd: 提供netbios主机名解析 udp 137 138

  (三)安装相关程序

    samba 主程序包 服务器软件包 需要安装

    samba-common 通用工具和库文件

    samba-client 客户端工具

  (四)相关文件

    /etc/samba/smb.conf 配置文件 # 和 ;注释

  (五)服务器段配置

    vi /etc/samba/smb.conf

    [global]
      workgroup = 工作组

      server string = 描述

      log file = 日志位置

      max log size = 日志最大大小 KB

      security = user 安全等级
      user 使用samba用户登录。注意:samba用户由系统用户转变过来。要把用户生成为samba用户,此用户必须已经是系统用户
      share 不用密码
      server 使用验证服务器验证

      share definitions 共享设置

    [共享目录名]
      Comment = 目录描述
      browseable = yes 目录是否对用户可见
      writeable = yes 可写(要与系统目录权限相与)
      valid users = 用户名 用户限制(目录是哪个用户所有)
      path = /www 指定共享目录位置

 1 实验1: 共享/movie 安全等级share
 2   1)修改配置文件
 3     #vim /etc/samba/smb.conf
 4     101 security = share
 5 
 6     263 [movie]
 7     264 comment = dianying
 8     265 path = /movie
 9     266 browseable = yes
10     267 guest ok = yes
11     268 writable = yes
12 
13   2)系统共享/movie目录设置
14     #mkdir /movie
15     #chmod 777 /movie 
16     #cd /movie
17     #touch tianqi.avi moshou.avi
18 
19     关闭防火墙
20       #setup
21     关闭selinux
22       #vim /etc/selinux/config
23       SELINUX=disabled
24       #reboot
25 
26     启动服务
27       #service smb start
28       #service nmb start
29       #netstat -tlun
30 
31     测试:\\192.168.149.251
32 
33 
34 实验2:共享/pub /soft 目录 安全等级 user
35   1)修改配置文件
36     #vim /etc/samba/smb.conf
37     101 security = user
38 
39     263 [pub]
40     264 comment = public
41     265 path = /pub
42     266 browseable = yes
43     267 writable = yes
44     268 
45     269 [soft] 
46     270 comment = software
47     271 path = /soft
48     272 browseable = yes
49     273 writable = yes
50 
51   2)系统共享目录设置
52     #mkdir /pub
53     #mkdir /soft
54     #chmod 777 /pub
55     #chmod 700 /soft
56     #useradd aa
57     #passwd aa
58     #chown aa /soft
59 
60   3)添加samba用户
61     #smbpasswd -a aa
62     #smbpasswd -a tianqi
63     #pdbedit -L
64 
65     重启服务
66     #service smb restart
67     #service nmb restart
68 
69 测试:
70   windows 窗口 \\192.168.149.251
71   net use * /del
72 
73 linux #smbclient //192.168.149.254/soft -U aa

 

 

  (六) 把系统用户声明为samba用户

    smbpasswd -a 系统用户名
    smbpasswd -a aa

    smbpasswd -x 用户名 删除samba用户

    pdbedit -L 查看samba用户

  (七) 重启服务
    service smb restart
    service nmb restart

注意:samba权限和系统权限取最严格权限
  samba用户必须是系统用户
  启动的服务名是smb


  (八) 客户端使用

    windows: 共享目录
    net use * /del 删除缓存

    linux客户端:
    smbclient //192.168.140.253/soft -U aa

 


防火墙配置

  一 简介

    1 功能:
      分割内网和外网
      划分要被保护的服务器

    2 分类
      1)数据包过滤
        分析ip和端口,mac是否符合规则,如果符合,接受
        通过源端口,源ip,源mac,包中特定标记 和目录端口,IP,mac 来确定数据包是否可以通过防火墙

      2)代理服务器

    3 防火墙限制
      1)防火墙不能有效防止病毒和木马

      2)防火墙一般不设定对内部访问规则,所以对内部攻击无效

    4 防火墙配置原则
      拒绝所有,逐个允许
      允许所有,逐个拒绝

    5 linux常见防火墙

      2.4---- iptables
      2.2 ipchains

  二 iptables防火墙

    1 结构
      表-------链--------规则

 

    2 表
      filter表 数据过滤表
      nat表 网络地址转换
      mangle 特殊数据包标记

    3 链
      filter表中: INPUT OUTPUT FORWARD

  三 iptables基础语法

    1 规则的查看和清楚
    iptables [-t 表名] [选项] -n
      选项:
        -L 查看
        -F 清除所有规则
        -X 清除自定义链
        -Z 清除所有链统计

        -n 以端口和ip显示

        iptables -t nat -L
        查看nat表中规则

        iptables -L
        查看filter表中规则

    2 定义默认策略
        iptables -t 表名 -P 链名 ACCEPT|DROP
            -P(大) 定义默认策略

        iptables -t filter -P INPUT DROP
    注意:不要把自己踢出服务器,应该最后设定。

    3 ip和网卡接口设置

      iptables [-AI 链] [-io 网卡接口] [-p 协议] [-s 源IP] [-d 目标ip] -j 动作
          -A 追加链规则 在链规则最后加入此规则
          -I INPUT 2 把此规则插入到INPUT链,变成第二条规则
          -D 链 条数 删除指定链的指定条数防火墙
          iptables -D INPUT 2 删除input链第二条规则

          -i eth0 指定进入接口 要在INPUT链上定义
          -o eth0 指定传出接口 要在OUTPUT链上定义

          -p 协议 tcp udp icmp all

          -j 动作 ACCEPT DROP

      iptables -A  INPUT -i lo -j ACCEPT
          允许本机回环网卡通信,在INPUT链

      iptables -A INPUT -i eth0 -s 192.168.140.254 -j ACCEPT
          允许254进入eth0
      iptables -A INPUT -i eth0 -s 192.168.140.0/24 -j DROP
          拒绝140网段访问

    4 设定端口访问

      iptables -A INPUT -i eth0 -p all -s 源ip --sport 源端口 -d 目标ip --dport 目标端口 -j 动作

      iptables -A INPUT -i eth0 -p tcp -s 192.168.140.0/24 --dport 22 -j DROP

      iptables -A INPUT -i eth0 -p tcp -s 192.168.140.0/24 --dport 137:139 -j ACCEPT
      指定端口时,协议不能用all,要指定确切协议

    5 模块调用

      1)
        -m 模块名 模块选项 加载iptables功能模块

        -m state --state ESTABLISHED,RELATED

        iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
        state 状态模块 常见状态 ESTABLISHED 联机成功的状态 RELATED 返回包状态

      2)
        -m mac --mac-source 按照mac地址限制访问

        iptables -A INPUT -m mac --mac-source aa:bb:cc:dd:ee:ff -j DROP
        拒绝某mac访问

      3)
        -m string --string "想要匹配的数据包中字串"

        iptables -A FORWARD -p udp --dport 53 -m string --string "tencent" --algo kmp -j DROP
        通过dns拒绝qq登录
        --algo 选择模式匹配策略,支持KMP和BM两种字符串搜索算法,任意指定一个即可

    6 简易防火墙
      iptables -F
        iptables -A INPUT -i lo -j ACCEPT
        iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
        iptables -A INPUT -p tcp --dport 80 -j ACCEPT
        iptables -A INPUT -p tcp --dport 22 -j ACCEPT
        iptables -A INPUT -p tcp --dport 873 -j ACCEPT
        iptables -A INPUT -p tcp --dport 139 -j ACCEPT
        iptables -A INPUT -p tcp --dport 21 -j ACCEPT
        iptables -P INPUT DROP


    7 防火墙服务开机自启动
      chkconfig iptables on

    8 防火墙规则开启自启动

      1) service iptables save
        会把规则保存到 /etc/sysconfig/iptables文件中,重启会自动读取

      2) 手工写防火墙脚本
        如 vi /root/iptables.rule
          iptables -F
          iptables -A INPUT -i lo -j ACCEPT
          iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
          iptables -A INPUT -p tcp --dport 80 -j ACCEPT
          iptables -A INPUT -p tcp --dport 22 -j ACCEPT
          iptables -A INPUT -p tcp --dport 873 -j ACCEPT
          iptables -A INPUT -p tcp --dport 139 -j ACCEPT
          iptables -A INPUT -p tcp --dport 21 -j ACCEPT
          iptables -P INPUT DROP

      赋予执行权限 chmod 755 /root/iptables.rule
      开机运行 vi /etc/rc.local
      写入 /root/iptables.rule