编译和安装jail 从http://www.jmcresearch.com/static/dwn/projects/jail/jail.tar.gz能够下载到jail的最新版本号,它是由位于http ://www.jmcresearch.com/projects/jail/的jail chroot项目小组开发的。 首先将jail.tar.gz置于随意文件夹,然后运行命令: #tar xzvf jail.tar.gz && cd jail/src 依照个人实际情况改动makefile文件,尤其是安装路径 jail高级应用 在前面的介绍中,使用了jail软件包中的三个Perl脚本。这里具体介绍这三个脚本的使用,以便高级用户使用。 參考上面的方法,大家能够尝试jail出完美的server来。
image.png image.png image.png image.png image.png image.png
简介 在本教程中,我们将解释如何设置 SFTP Chroot Jail 环境,该环境将限制用户使用自己的主目录。用户将只有 SFTP 访问,SSH 访问将被禁用。 browse available commnands. sftp:/> 可以查看数据,可以在给定权限的文件夹中进行操作,但无法跳出当前目录 参考资料 How to Set Up SFTP Chroot Jail
-rw-r--r-- 1 root root 25740 12月 24 10:25 jail.conf.bak.20201224 drwxr-xr-x 2 root root 31 12 月 24 10:19 jail.d -rw-r--r-- 1 root root 2827 1月 11 2020 paths-common.conf -rw-r--r-- 1 root root 930 1月 11 2020 paths-fedora.conf [root@kvmtest ~]# 1.编辑/etc/fail2ban/jail.conf文件 这里只配置ssh登录 [ -rw-r--r-- 1 root root 25740 12月 24 10:25 jail.conf.bak.20201224 drwxr-xr-x 2 root root 31 12 [5489]: INFO Jail 'sshd' started 2020-12-26 11:00:58,360 fail2ban.jail [5489
目录随便放在什么地方 指定 jail 环境目录,以 /opt/jail 为例 创建该目录 sudo mkdir /opt/jail 这个目录应为Root所有,用chown改变属主 sudo chown 代码如下: sudo jk_init -v /opt/jail basicshell sudo jk_init -v /opt/jail editors sudo jk_init -v /opt/jail extendedshell sudo jk_init -v /opt/jail netutils sudo jk_init -v /opt/jail ssh sudo jk_init -v /opt/ jail sftp sudo jk_init -v /opt/jail jk_lsh 或结合成一个命令,例如: jk_init -v -j /opt/jail basicshell editors extendedshell 而且只有我们通过jk_cp拷贝到jail中的命令能使用。
在那里,您可以找到一个名为默认值jail.conf的文件。由于包升级可能会覆盖此文件,因此我们不应该就地编辑它。相反,我们将编写一个名为jail.local的新文件。 定义的任何jail.local值都将覆盖其中的jail.conf值。 jail.conf包含一个[DEFAULT]部分,后面是各个服务的部分。 jail.local可以覆盖任何这些值。 文件按以下顺序应用: /etc/fail2ban/jail.conf /etc/fail2ban/jail.d/*.conf按字母顺序排列 /etc/fail2ban/jail.local /etc/fail2ban 让我们从编写一个非常简单的版本jail.local开始。 大多数这些过滤器都有适当的(禁用的)部分jail.conf,我们可以jail.local根据需要启用它们。
已被提供的/etc/fail2ban/jail.conf文件是该项操作的主要资源。 要进行修改,我们需要将此文件复制到/etc/fail2ban/jail.local。 如果程序包更新提供了新的默认文件,这将阻止我们的更改被覆盖: sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local 打开新复制的文件,以便我们可以设置 ,这些jail将监视我们的Web服务器日志以查找特定的行为模式。 配置文件中的每个jail都由一个包含方括号中的jail名称的标头标记(每个部分,但除了[DEFAULT]部分表示特定的jail的配置)。默认情况下,仅限[ssh]启用jail。 还有一些其他预配置的jails值得启用([apache-multiport]jail是一个不需要的遗留jail)。
[root@56-201 home]# ll /home/jail/ -d drwxr-xr-x. 2 root root 6 7月 30 18:34 /home/jail/ [root@56-201 dir /home/jail Match User jman ChrootDirectory /home/jail [root@56-201 home]# systemctl restart sshd /bin/bash /bin/tail /home/jail/bin/ [root@56-201 home]# ll /home/jail/ total 0 drwxr-xr-x. 2 root root / [root@56-201 jail]# ls bin lib64 [root@56-201 jail]# vim abc [root@56-201 jail]# cat abc 1 2 3 4 -64.so.2 /home/jail/lib64/ cp /bin/bash /bin/tail /home/jail/bin/ tree /home/jail/ tail -n2 /etc/passwd
]# script -f abc Script started, file is abc [root@56-201 jail]# ll abc -rw-r--r--. 1 root root 135 7 月 31 15:32 abc [root@56-201 jail]# -f 就是每次写操作过后都进行刷新,目的是进行实时同步,让其它结点可以读到最新的内容 ---- 获取终端 wilmos@Nothing ]# tail -f abc > /dev/pts/2 & [1] 8350 [root@56-201 jail]# [root@56-201 jail]# 之后从客户端 terminal 中看到的就是服务端中的内容 ]# [root@56-201 jail]# [root@56-201 jail]# [root@56-201 jail]# [root@56-201 jail]# [root@56-201 jail]# [root@56-201 jail]# [root@56-201 jail]# ls abc bin lib64 [root@56-201 jail]# 之后从客户端 terminal
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local #编辑local配置文件 sudo vim /etc/fail2ban/jail.local 根据您的喜好更改值: /etc/fail2ban/jail.local/bantime = 1d # 要永久禁止IP,请使用负数。 # findtime是设置禁令前的失败次数之间的持续时间。 /etc/fail2ban/jail.local/findtime = 10m # maxretry是禁止IP之前失败的次数。 默认值设置为5,对于大多数用户来说应该可以。 /etc/fail2ban/jail.local/maxretry = 5 查看哪些IP被ban: sudo fail2ban-client status sshd 将IP从黑名单中移除: fail2ban-client
install fail2ban 修改配置(可以不修改,默认是启动SSH保护的): # ls /etc/fail2ban/ action.d/ fail2ban.conf filter.d/ jail.conf jail.local# jail.local是jail.conf的override配置文件# vim /etc/fail2ban/jail.local[ssh]enabled = true# 设置了非标准端口
要设置 Fail2Ban 来监控特定端口,你需要编辑 Fail2Ban 的配置文件,通常位于 /etc/fail2ban/ 目录下的 jail.local 文件。 你可以使用以下命令来备份 jail.local 文件:bashsudo cp /etc/fail2ban/jail.local /etc/fail2ban/jail.local.backup编辑 jail.local 文件: 使用文本编辑器编辑 jail.local 文件。 例如,使用 nano 编辑器:bashsudo nano /etc/fail2ban/jail.local添加或修改监狱配置: 在 jail.local 文件中,你可以添加或修改监狱(jail)的配置。
从http://www.jmcresearch.com/static/dwn/projects/jail/jail.tar.gz可以下载到jail的最新版本,它是由位于http://www.jmcresearch.com /projects/jail/的jail chroot项目小组开发的。 首先将jail.tar.gz置于任意目录,然后执行命令: tar xzf jail.tar.gz && cd jail/src 按照个人实际情况修改makefile文件,尤其是安装路径(默认安装路径是/ tmp/jail)、体系结构(jail支持Linux、FreeBSD、IRIX和Solaris),以及编译选项等。 最后执行命令: make && make install 3.使用jail的Per程序脚本创建Chroot环境 /tmp/jail/mkjailenv /var/chroot jail软件包提供了几个Perl
提供的/etc/fail2ban/jail.conf文件是为此提供的主要资源。 要进行修改,我们需要将此文件复制到/etc/fail2ban/jail.local。 ,这些jail将监视我们的Web服务器日志以查找特定的行为模式。 配置文件中的每个jail都由一个包含方括号中的jail名称的标头标记(每个部分,但该[DEFAULT]部分表示特定的jail的配置)。默认情况下,仅[ssh]启用jail。 我们现在必须为我们创建的jail添加过滤器。 为其他Nginx Jails添加过滤器 我们已经使用一些额外的jail规范更新了该/etc/fail2ban/jail.local文件,以匹配并禁止更大范围的不良行为。
/configure && make && make install mkdir /home/jail //虚拟系统根目录 //如下四条命令是把系统里面的基础命令copy到虚拟系统下: jk_init -v -j /home/jail/ basicshell jk_init -v -j /home/jail/ editors jk_init -v -j /home/jail/ netutils jk_init -v -j /home/jail/ ssh mkdir /home/jail/usr/sbin cp /usr/sbin/jk_lsh /home/jail/usr/sbin /jk_lsh useradd zhangsan passwd zhangsan jk_jailuser -m -j /home/jail zhangsan //在虚拟系统下创建一个用户 vim useradd lisi passwd lisi jk_jailuser -m -j /home/jail lisi //在虚拟系统下创建一个用户 vim /home/jail/etc/passwd
在 jail 环境中内容尽量少 尽可能让 root 管理 jailed 文件 限制 jail 内文件和目录的权限 建立权限设置脚本 不要在 jail 环境存放 /etc/passwd 文件 /etc/ jail 内其它进程交互 FreeBSD jail 的三个目标 虚拟化: 每个 jail 是一个运行于单机的虚拟环境 ,拥有自己的文件、进程、用户、超级用户。 在 jail 内部看起来和真实系统一样 安全: 每个 jail 和其他部分无关联,破坏其他部分比较困难 容易授权: 因为 jail 是受限环境, 管理员授权后对整个系统影响不大 FreeBSD jail ,安全性相比 chroot 要高很多 对FreeBSD jail的限制: Jail 间进程不能互相干扰(ps 只能查看 jail 内进程) 禁止访问和加载模块以防修改正在运行的内核. 不能访问 Jail 外的目录 FreeBSD jail 优点 可在不同 jail 中安装不同的 daemon jail 内管理员授权方便 jail内的超级用户具有有限特权 (如,不能修改防火墙规则) 很难越过
您将要使用以下命令启动并启用该服务: sudo systemctl start fail2ban sudo systemctl enable fail2ban 配置jail 接下来我们将为SSH登录尝试配置一个 jail。 在/etc fail2ban目录中,您将找到jail.conf文件。不要编辑此文件。相反,我们将创建一个新文件jail.local,它将覆盖jail.conf中的任何类似设置。 /jail.local 在此新文件中,粘贴以下内容: [sshd] enabled = true port = 22 filter = sshd logpath = /var/log/auth.log 测试和取消 您可以测试以确保新jail通过ssh登录服务器失败三次失败。在第三次尝试失败后,连接将挂起。按[Ctrl] + [c]退出,然后尝试SSH回到服务器。
jail.conf : ban相关参数。 filter.d/*: jail.conf中filter对应的正则过滤规则。 jail.conf 可依此通过 jail.d/* 和 jail.local 来重定义相关选项。 默认安装,/etc/fail2ban/jail.d/defaults-debian.conf 已启用 sshd 的 jail 通常,除 jail.conf 外,不需要改变配置。 以下着重介绍 jail.conf 中的参数,它们不仅是默认(全局)参数(隶属于 [DEFAULT]),而且可在具体 jail 中重定义(如 [sshd])。 -08-30 13:23:27,456 fail2ban.jail [28448]: INFO Jail 'freeswitch' started 2023-08-30 13:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local #编辑local配置文件 sudo vim /etc/fail2ban/jail.local 根据您的喜好更改值: /etc/fail2ban/jail.localbantime = 1d # 要永久禁止IP,请使用负数。 # findtime是设置禁令前的失败次数之间的持续时间。 /etc/fail2ban/jail.localfindtime = 10m # maxretry是禁止IP之前失败的次数。 默认值设置为5,对于大多数用户来说应该可以。 /etc/fail2ban/jail.localmaxretry = 5 查看哪些IP被ban: sudo fail2ban-client status sshd 将IP从黑名单中移除: fail2ban-client
安装yum install fail2ban-server配置cd /etc/fail2bancd jail.d创建配置文件如下:vim sshd.conf[sshd]port = sshenabled full.查看SSH监狱的状态,确认规则已加载:> fail2ban-client status sshd # 应显示“Status: active”及当前封禁的IP列表Status for the jail 日志,跟踪实时活动:> tail -f /var/log/fail2ban.log # 实时输出Fail2Ban的操作日志(如封禁IP)2025-09-21 17:24:53,632 fail2ban.jail [27195]: INFO Jail 'sshd' uses poller {}2025-09-21 17:24:53,633 fail2ban.jail [27195]: INFO Jail 'sshd' started2025-09-21 17:25:01,482 fail2ban.transmitter [27195