hou*_*oft 6 linux firewall ufw arch-linux iptables
我有一台运行一些服务的服务器。但是,出于安全原因,我配置了服务器,以便从外部访问除 SSH 之外的任何内容。
不过,我想做的是让服务器允许任何成功通过 SSH 登录的人访问其所有服务(一旦该人断开连接,再次关闭所有端口,除了 SSH 端口应该保持打开状态)。
有没有办法做到这一点?
我在服务器上使用 Arch Linux 并ufw
管理防火墙。
我为此写了一个解决方案。它并不完美,欢迎改进。特别是,我认为~/.bash_logout
如果连接中断,则不会被调用,但我希望防火墙在这种情况下也能自行关闭。
无论如何,首先配置该sudoers
文件,以便您的用户ufw
无需输入密码即可运行二进制文件。
然后,在~/.bashrc
:
ip=`echo $SSH_CONNECTION | cut -d " " -f 1`
echo "=> Opening the firewall for $ip..."
sudo ufw allow from $ip
echo "=> Done."
Run Code Online (Sandbox Code Playgroud)
在~/.bash_logout
:
ip=`echo $SSH_CONNECTION | cut -d " " -f 1`
echo "=> Closing the firewall for $ip..."
sudo ufw delete allow from $ip
echo "=> Bye."
Run Code Online (Sandbox Code Playgroud)
不过,这只会在您正确终止会话的情况下重新关闭端口。如果有人知道如何在连接退出/死亡/任何情况下关闭它,请使用您的解决方案编辑此答案。
归档时间: |
|
查看次数: |
351 次 |
最近记录: |