AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 395231
Accepted
Eric
Eric
Asked: 2012-06-04 18:17:32 +0800 CST2012-06-04 18:17:32 +0800 CST 2012-06-04 18:17:32 +0800 CST

Samba 的安全 iptables 配置

  • 772

我正在尝试设置一个 iptables 配置,以便仅当它们处于 ESTABLISHED 状态时才允许来自我的 CentOS 6.2 服务器的出站连接。目前,以下设置非常适合 sshd,但由于我无法弄清楚的原因,所有 Samba 规则都被完全忽略了。

用于设置所有规则的 iptables Bash 脚本:

# Remove all existing rules
iptables -F


# Set default chain policies
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP


# Allow incoming SSH
iptables -A INPUT -i eth0 -p tcp --dport 22222 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22222 -m state --state ESTABLISHED -j ACCEPT


# Allow incoming Samba
iptables -A INPUT -i eth0 -s 10.1.1.0/24 -p udp --dport 137:138 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -d 10.1.1.0/24 -p udp --sport 137:138 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -s 10.1.1.0/24 -p tcp --dport 139 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -d 10.1.1.0/24 -p tcp --sport 139 -m state --state ESTABLISHED -j ACCEPT


# Enable these rules
service iptables restart

运行上述脚本后的 iptables 规则列表:

[root@repoman ~]# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:22222 state NEW,ESTABLISHED

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:22222 state ESTABLISHED

最终,我试图像对 sshd 所做的那样限制 Samba。此外,我试图将连接限制在以下 IP 地址范围内: 10.1.1.12 - 10.1.1.19

你们能提供一些指示,甚至可能提供一个完整的解决方案吗?我已经广泛阅读了man iptables,所以我不确定为什么 Samba 规则被抛弃了。

此外,删除-s 10.1.1.0/24标志不会改变规则被忽略的事实。

samba iptables centos6
  • 2 2 个回答
  • 6686 Views

2 个回答

  • Voted
  1. mgorven
    2012-06-04T19:03:19+08:002012-06-04T19:03:19+08:00

    您不了解连接状态的含义。NEW 表示这是连接中的第一个数据包,在 TCP 的情况下是第一个 SYN 数据包。ESTABLISHED 表示数据包属于现有连接,在 TCP 的情况下是第一个 SYN 数据包之后的所有内容。为了使连接进入 ESTABLISHED 状态,第一个数据包需要通过。通过只允许 ESTABLISHED 连接,您将阻止第一个数据包,因此永远不会建立连接。

    建立iptables时通常使用连接跟踪的方式是监管每个连接的第一个数据包(即状态NEW),然后允许所有处于ESTABLISHED状态的数据包通过。由于连接只能在第一个数据包被允许的情况下进入 ESTABLISHED 状态,因此接受处于 ESTABLISHED 状态的所有数据包是安全的。

    • 1
  2. Best Answer
    DerfK
    2012-06-04T20:18:18+08:002012-06-04T20:18:18+08:00

    最后service iptables restart才是问题所在。当您运行这些iptables命令时,这些规则会立即生效。iptables您在那里重新启动的服务使用配置文件在系统启动时加载所有防火墙规则。当您运行它时,它会用存储的配置中的任何内容替换您刚刚制定的所有规则。

    根据这个你应该做的是使用iptables命令使防火墙正常工作,然后service iptables save保存防火墙配置以供下次启动。

    • 1

相关问题

  • AD 组成员身份更改未反映在 winbind 信息中

  • 使用 smbldap 管理用户/组的 Web 前端

  • 修复 FreeBSD 上缺少的库

  • 连接到具有共享模式安全性的 Samba 服务器时出现问题

  • 3台计算机(Windows和Linux)的家庭网络[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve