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 / 问题

问题[jail](server)

Martin Hope
GTeley
Asked: 2021-07-22 04:18:57 +0800 CST

升级到 13.0 版后不再可访问监狱中的服务

  • 0

将虚拟 FreeBSD 12.2 系统升级到 13.0-p3 后,监狱内的服务流量(通过 Apache 2.4 反向代理)被阻止。这是一个 Hyper-V 虚拟服务器,第二个显示相同的问题(另一个是商业 VPS,虚拟机管理程序类型未知)。

起初,我认为这将是一个 PF 问题,因为停止 PF 解决了这个问题。我在 PF 日志中查找被阻止的流量,但找不到任何东西。

后来,我注意到创建一个新的监狱(使用 ezjail)不起作用,因为没有创建软链接。此外,访问监狱中的服务也不起作用,因为这在 12.2 监狱中不是问题。

作为测试,我从头开始创建了一个新的物理 v13 服务器并将其配置为升级后的服务器。一切正常。其次,我创建了另一个 Hyper-V 虚拟系统(在同一主机上)并从头开始安装并将其配置为升级后的系统(复制 /etc/rc.conf 和 /usr/local/etc/pf_rules 包含我的防火墙规则和更改了 IP 地址)。所有这一切都按其应有的方式工作。

所以我被几个 v12.2 系统困住了,我想升级到 v13.0,但是在同一个问题上 2 次尝试都失败了:监狱中的服务不再可以访问。看起来它与 PF 有关(因为停止它可以解决问题)但又没有(因为新安装的系统上的相同配置可以正常工作)。由于设置和配置是相同的,我找不到任何导致这种情况的原因。

还有其他方法可以找出这里出了什么问题吗?(就像我可以启用的其他一些日志记录一样,以查看为什么创建新监狱没有错误但呈现非工作监狱,因为没有创建 /basejail/* 的链接)

freebsd jail upgrade
  • 1 个回答
  • 54 Views
Martin Hope
Belutak
Asked: 2021-07-15 10:06:45 +0800 CST

fail2ban 不会在 cenots 7 上启动监狱

  • 0

已解决 - sshd conf 文件位于错误目录且扩展名错误

我已经放弃了这个教程htf,一切都很顺利,fail2ban 很好地启动,我禁用了 selinux 以防万一,但是 sshd jail 只是没有启动。我尝试弄乱配置,当出现一些错误时,fail2ban 不会启动,但是当我删除我更改的内容时,它会启动,但没有监狱。

所以在教程中我做了文件/etc/fail2ban/sshd.local

[sshd]
enabled = true
port = ssh
action = firewallcmd-ipset
logpath = %(sshd_log)s
maxretry = 5
bantime = 86400

我还尝试将路径放到 logfile( logpath = /var/log/secure) 中,logpath = %(sshd_log)s但仍然没有 sshd 监狱:

Status
|- Number of jail:  0
`- Jail list:   

我将日志记录级别更改为调试/etc/fail2ban/fail2ban.conf

[DEFAULT]

# Option: loglevel
# Notes.: Set the log level output.
#         CRITICAL
#         ERROR
#         WARNING
#         NOTICE
#         INFO
#         DEBUG
# Values: [ LEVEL ]  Default: ERROR
#
loglevel = DEBUG

里面有/var/log/fail2ban.log更多的登录,但我只得到一点点更多的日志,这与监狱无关。

2021-07-14 19:14:49,952 fail2ban.server         [19586]: INFO    Starting Fail2ban v0.11.1
2021-07-14 19:14:49,953 fail2ban.server         [19586]: DEBUG   Creating PID file /var/run/fail2ban/fail2ban.pid
2021-07-14 19:14:49,953 fail2ban.observer       [19586]: INFO    Observer start...
2021-07-14 19:14:49,954 fail2ban.server         [19586]: DEBUG   Starting communication
2021-07-14 19:14:49,961 fail2ban.database       [19586]: INFO    Connected to fail2ban persistent database '/var/lib/fail2ban/fail2ban.sqlite3'
2021-07-14 19:14:49,964 fail2ban.transmitter    [19586]: DEBUG   Status: ready

我还对/etc/fail2ban/jail.local替换的位置进行了更改:

backend = auto

至

backend = polling

我想知道是否有人知道我可以使用哪些工具来调试不工作的监狱?

jail fail2ban
  • 1 个回答
  • 211 Views
Martin Hope
GTeley
Asked: 2021-07-15 01:15:53 +0800 CST

FreeBSD 13 PF 阻止越狱流量

  • 1

将我的 FreeBSD 系统从 12.2 升级到 13.0-p3 后,PF 阻止了所有流向我的监狱的流量。禁用 PF 时,一切正常(除了不受保护;))

我试图通过设置'block in log all'来弄清楚是什么规则阻止了这个流量,但是除了一些明显的多播内容之外,没有任何东西可以解释为什么这个流量被阻止了。

同样,在 12.2 版本下一切正常之前。我确实找到了一些关于 v13 现在过滤 VLAN 而不是 lo0 的文章,但我不使用任何 VLAN。

我应该进一步寻求什么方向?

2021 年 7 月 15 日更新:

为清楚起见:这是我的 pf_rules 文件:

set block-policy return
set optimization aggressive
set skip on { lo0, lo1, lo2, lo3, lo4, lo5 }
ext_if=hn0
ext_address="{ 192.x.x.x, 2001:981:x.x::x }"
ext_services = "{ ssh, http, https, smtp, smtps }"
tcp_services = "{ ftp, ssh, domain, ntp, www, smtp, smtps, submission, http, https,nfs}"
udp_services = "{ domain, ntp, nfs }"
icmp6_types="{ 2, 128 }" # packet too big, echo request (ping6)
icmp6_types_ext_if="{ 128, 133, 134, 135, 136, 137 }"
jail_net = "192.168.1.0/24"
jail_services = "{ mysql, http, smtp, 587, 3000 }"
table <sshguard> persist
scrub in all
nat pass on $ext_if from $jail_net to any -> $ext_address
block in log on $ext_if proto tcp from <sshguard> to any port ssh label "ssh bruteforce"
block in log all
pass in quick from <pf_whitelist> flags S/SA synproxy state
pass out on $ext_if inet6 proto icmp6 all icmp6-type echoreq keep state
pass out on $ext_if inet proto udp to port 33433:33626
pass out on $ext_if inet6 proto udp to port 33433:33626
pass in on $ext_if inet6 proto ipv6-icmp icmp6-type $icmp6_types keep state
pass in on $ext_if inet6 proto ipv6-icmp from any to { ($ext_if ), ff02::1/16 } icmp6-type $i
cmp6_types_ext_if keep state
pass in on $ext_if proto tcp from any to $ext_address port $ext_services keep state
pass in on $ext_if inet6 proto tcp from any to $ext_address port $ext_services keep state
pass out on $ext_if inet proto tcp to any port $tcp_services keep state
pass out on $ext_if inet6 proto tcp to any port $tcp_services keep state
pass out on $ext_if inet6 proto udp to any port $udp_services
pass proto udp to any port $udp_services keep state
pass in proto tcp from any to $jail_net port $jail_services keep state
pass out proto tcp from $jail_net to any port $jail_services keep state
pass inet proto icmp from any to any

这已经工作了很多年,直到 FreeBSD 13

freebsd jail pf
  • 2 个回答
  • 360 Views
Martin Hope
Ondřej Holík
Asked: 2021-04-24 05:34:39 +0800 CST

除了 chroot jail,还有其他方法可以限制 SSH 用户吗?

  • 0

我需要为必须对我们的服务器具有非常有限的访问权限的外国 SSH 用户创建一个安全的环境。那是:

  • 只能执行允许的命令
  • 只能使用允许的特定软件
  • 在任何情况下都不得允许查看/修改/删除他/她的根文件系统之外的文件夹和文件

在将jailkit 工具用于一个不需要太多定制并且运行良好的较小项目之前,我曾尝试使用 chroot jail ,但是这个项目要大得多,并且在允许的软件和命令方面需要更多的定制。

对安全环境的要求是:

  • 使用基本命令的能力,例如 ls、cd、grep 等。
  • 运行 dotnet 脚本的能力
  • 利用正在运行的 RabbitMQ 代理的能力(代理在环境之外运行)
  • 利用正在运行的 PostgreSQL 数据库的能力(数据库在环境之外运行)

我听说过multistrap或debootstrap,但我不确定这些工具是否足以解决我的问题。

这些服务器在Debian OS v. 9 和 10上运行。所有必需的软件都安装在根文件系统中并且运行良好。我所需要的只是让受限用户能够使用它而不会损坏/破坏根文件系统。

我的问题是:

  1. 有没有我没有提到的其他有用(更好)的工具可以解决我的问题?
  2. 我提到的软件是否有任何有用的指南可以解决我的问题?
debian ssh chroot jail jailkit
  • 1 个回答
  • 129 Views
Martin Hope
boisjacques
Asked: 2020-06-05 03:50:39 +0800 CST

FreeBSD监狱路由问题

  • 3

我有以下带有 FreeBSD 监狱和 VNET 的设置,它应该成长为 DNS 核心网络实验室设置。jailhost 和 jails 运行的是 FreeBSD 12.1。监狱通过epair接口连接。作为网络边缘路由器的 BRAS 监狱通过epair接口连接到监狱主机。监狱主机运行基于 pf 的 NAT

网络拓扑结构

我可以毫无问题地从 BRAS 监狱访问 WAN 中的主机。问题是我无法从 DNS 访问 BRAS 监狱后面的任何内容。BRAS 上的转发已启用,并且 NAT 的 pf 规则足够广泛,可以允许来自 DNS 网络的流量。

如果我理解正确,我不需要在使用 VNET 的 jailhost 上进行多个 fib,如果我错了,请纠正我。监狱的那部分没有很好的记录。

root@bras:/ # netstat -r
Routing tables

Internet:
Destination        Gateway            Flags     Netif Expire
default            172.16.3.1         UGS     epair8b
localhost          link#1             UH          lo0
172.16.1.0/30      link#4             U       epair7a
172.16.1.1         link#4             UHS         lo0
172.16.3.0/30      link#5             U       epair8b
172.16.3.2         link#5             UHS         lo0
root@dns:/ # netstat -r
Routing tables

Internet:
Destination        Gateway            Flags     Netif Expire
default            172.16.1.1         UGS     epair7b
localhost          link#1             UH          lo0
172.16.1.0/30      link#2             U       epair7b
172.16.1.2         link#2             UHS         lo0
# pf.conf jailhost
ext_if="vtnet0"
jail_if="epair8a"

IP_PUB="redacted"
IP_JAIL="172.16.3.1"

NET_JAIL="172.16.0.0/16"

scrub in all

nat pass on $ext_if from $NET_JAIL to any -> $IP_PUB
routing networking freebsd jail forwarding
  • 1 个回答
  • 528 Views
Martin Hope
Adam
Asked: 2020-05-18 14:00:52 +0800 CST

如何将 iocage 监狱从一个 ZFS 池移动到另一个?

  • 0

将 iocage 及其所有监狱从一个 ZFS 池移动到另一个池的过程是什么?

我已经尝试过这篇文章的过程:https ://www.ixsystems.com/community/threads/how-to-move-jails-between-pools.72593/post-502840

即iocage export每个监狱,激活新池,然后iocage import。那不成功:

$ iocage start syncthing
No default gateway found for ipv6.
* Starting syncthing
  + Started OK
  + Using devfs_ruleset: 6
  + Configuring VNET FAILED
  jexec: execvp: ifconfig: No such file or directory
  jexec: execvp: ifconfig: No such file or directory

Stopped syncthing due to VNET failure

FreeNAS 11.3

freebsd jail truenas
  • 1 个回答
  • 7777 Views
Martin Hope
compcentral
Asked: 2016-08-24 05:38:59 +0800 CST

如何列出在freebsd中启动服务的用户

  • 0

只是一个简单的问题,但我到处寻找,似乎找不到这个。我只需要知道哪个用户启动了特定服务。在这种情况下,我想知道哪个用户运行耳机服务(FreeNAS 监狱中的耳机插件)。

我尝试使用service headphones status,但这只是给了我 PID(23069)。有没有办法使用 PID 来列出用户?我也尝试过使用:ps 23069但这只给出了运行时间和路径。

service freebsd jail truenas ps
  • 1 个回答
  • 2517 Views
Martin Hope
Chris S
Asked: 2013-03-14 17:54:48 +0800 CST

具有环回 IP、IPFW 和 natd 的 FreeBSD Jail - 出站连接从监狱失败

  • 6

我有一个 FreeBSD 9.0 服务器。它有几个监狱,但它们都有同样的问题。他们无法发起与外界的连接。他们相互沟通,主人也很好。

相关rc.conf设置:

firewall_enable="YES"                   # IPFW
firewall_type="/etc/ipfw.rules"         # Rule script for IPFW

natd_enable="YES"                       # NAT for Internet Routing
natd_interface="wan0"                   # NAT Card
natd_flags="-f /etc/natd.conf -dynamic" # NAT Conf

ifconfig_lo1_name="jail1"
ifconfig_jail1="inet 192.168.1.101/32"

jail_asdf_rootdir="/jails/asdf"
jail_asdf_hostname="asdf.example.net"
jail_asdf_ip="192.168.1.101"
jail_asdf_devfs_enable="YES"

从sysctl.conf

security.jail.allow_raw_sockets=1

从ipfw.rules

# XXX 00050 divert natd ip4 from any to any via wan0
add 00060 check-state

# Allow me out
add 00135 allow ip from me to any keep-state
add 00136 allow ip6 from me6 to any keep-state

# HTTP
add 11010 allow tcp from any to me http setup keep-state
add 11011 allow tcp from any to me6 http setup keep-state
add 11012 allow tcp from any to me https setup keep-state
add 11013 allow tcp from any to me6 https setup keep-state
.... lots more rules like the above ....

# General Network - ICMP
add 61001 allow icmp from any to any

# XXX last rule is deny everything

从natd.conf

redirect_port tcp 192.168.1.101:80 80
redirect_port tcp 192.168.1.101:443 443

这对传入连接非常有效。我已经从多台计算机上测试过,我可以很好地访问该网站。

当我jexec 1 csh在监狱中获得外壳时,我无法创建传出连接。Jailresolv.conf指向主机服务器,它可以很好地执行名称解析。由于 ICMP 仍然无一例外地通过,我可以从监狱中 ping 通。

我可以tcpdump -i wan0 host 1.2.3.4在主机上做一个并在它通过时观察流量。我看到 SYN 出去了,SYN ACK 回来了。然后几秒钟后再次与监狱重试相同。

我怎样才能允许从我的监狱传出连接?

更新:
我相信我理解这个问题。传出数据包通过防火墙规则开始,进行 NAT 转换,允许传出并记录为进行传出连接的外部 IP。当返回数据包返回时,它会经过转换,但现在不匹配检查状态规则,因为数据包具有内部 IP。仍在寻找解决方案。

jail
  • 1 个回答
  • 3685 Views
Martin Hope
Tar
Asked: 2012-06-05 23:20:46 +0800 CST

chroot'ing Apache 以防止 shell 脚本?

  • 0

最近有人告诉我,一个用户对我的系统进行了“加壳”。虽然 Apache 错误日志等中没有任何异常活动或错误。我宁愿安全也不愿后悔。

所以:如果我运行 chroot Apache,它会阻止 shell 脚本检索敏感信息吗?即能够执行 mysqldump 或任何类似的操作,而不管带有数据库详细信息的配置文件是否在 apache 监狱中?

谢谢

apache-2.2 chroot jail
  • 2 个回答
  • 749 Views
Martin Hope
Martin Torhage
Asked: 2010-04-08 12:34:20 +0800 CST

如何判断 freebsd jail 是否是最新的?

  • 4

我根据 FreeBSD 手册 ( http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails-application.html ) 在 FreeBSD 8.0 中设置了“服务监狱”。在将主机升级到最新的补丁级别并执行 jail-upgrade 之后,freebsd-fetch 仍然报告在 jail 中有需要更新的文件。这是预期的吗?那我怎么知道监狱是否是最新的?

这是我所做的更详细的:

在监狱的初始设置后freebsd-update fetch报告主机系统和监狱中都没有可用的更新。这是意料之中的。一段时间后freebsd-update fetch报告说,以下文件在主机和监狱中都需要更新。

  • /usr/lib/libssl.a
  • /usr/lib/libssl_p.a
  • /usr/lib/libzpool.a
  • /usr/lib32/libssl.a
  • /usr/lib32/libssl_p.a
  • /usr/lib32/libzpool.a

我更新了主机并遵循了监狱的升级指南(http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails-application.html#JAILS-SERVICE-JAILS-UPGRADING)。freebsd-update fetch现在报告主机中没有可用的更新,但以下是freebsd-update fetch监狱中的输出:

[root@bb /]# freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 8.0-RELEASE from update5.FreeBSD.org... done.
Fetching metadata index... done.
Inspecting system... done.
Preparing to download files... done.

The following files are affected by updates, but no changes have
been downloaded because the files have been modified locally:
/var/db/mergemaster.mtree

The following files will be updated as part of updating to 8.0-RELEASE-p2:
/usr/lib/libssl.a
/usr/lib/libssl_p.a
/usr/lib/libzpool.a
/usr/lib32/libssl.a
/usr/lib32/libssl_p.a
/usr/lib32/libzpool.a

freebsd-update 不应该知道监狱是最新的还是我升级失败了?如果 freebsd-update 无法判断,我应该如何知道监狱是否是最新的?

我确定我make cleandir之前跑过两次make buildworld。

TIA

freebsd jail bsd
  • 2 个回答
  • 1958 Views

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