更新后 VNC 服务器丢失、UFW 被禁用并且 iptables 为空?

更新后 VNC 服务器丢失、UFW 被禁用并且 iptables 为空?

我在另一个房间有一台 Ubuntu 12.04 计算机,我使用 Remmina 远程桌面客户端和另一台 Ubuntu 12.04 桌面上的 VNC 远程访问这台计算机。大约 1 个月前,它还能正常工作。现在,Remmina 卡在“正在连接到 remoteComputerName”处。

我已验证远程计算机上已启用远程连接。我已打开 Remmina 调试窗口,但未显示任何内容。我已检查 /var/log 以查看两个系统上是否有任何错误迹象。在远程系统上,我使用sudo ufw 状态详细发现我启用的防火墙不再运行。所以它没有阻止我的访问。在远程系统上,我使用sudo iptables -L发现我设置的只启用第二台台式机的 IP 地址的规则不再存在,iptables 为空。在两个系统上sudo 服务--状态全部没有显示 vnc、vncserver、vino 或任何看起来像 vnc 服务器正在运行的东西。我试过了哪个 vnc哪个 vncserver两个系统上都没有显示任何内容。我尝试寻找 vncserversudo apt-get -s 安装 vncserver我得到的结果为:软件包 vncserver 不可用,但被另一个软件包引用。这可能意味着该软件包缺失、已过时或只能从其他来源获得。我也在 Google 上搜索了很多术语,但无济于事。

我确实发现我必须进行一些设置,以便在启动时重新加载 iptables 和 ufw?虽然我不记得也找不到我用来设置的命令。在黑客填满我的登录日志导致系统崩溃后,我这样做了。

我猜想 vino 或 vncservice 或任何服务名称实际上都不再受 Ubuntu 12.04 支持,就像它不再随 Ubuntu 16.04 提供一样?所以更新删除了它?如果是这样,我是否应该按照说明让 VNC 在我的 12.04 机器上在 16.04 上运行?还是我只需要手动重新启动它?

答案1

我花了一段时间才弄清楚,现在我又从我的 ubuntu 12.04 台式机通过 VNC 连接到我的 ubuntu 12.04 机器。以下是我必须做的事情。

ufw(简单防火墙)和 iptables 不是持久的。因此,重新启动后,我费尽心思只启用台式机和笔记本电脑进行远程登录,但这些麻烦都被禁用了。然后我发现我的 .xsession-errors 文件大于 32GB,我无法使用 VNC 进行远程登录。因此,要修复的第一件事是禁用远程登录。然后让 iptables 在启动时重新加载,并输入规则以阻止除我的本地 ip 地址之外的所有人进行 vnc。

要禁用远程登录,我们搜索远程并选择桌面共享。然后禁用允许其他用户控制您的桌面并禁用允许其他用户查看您的桌面。重新启动。现在,在我们修复此问题期间,将不允许其他人尝试入侵。

使用终端使 iptables 持久化cntrl alt t
sudo apt-get update
然后
sudo apt-get install iptables-persistent
选择“是”以保存 ip4 和 ip6 当前表规则。我们将在测试完新规则后再次保存它们。

首先检查您现有的 INPUT 规则,看看是否要保留它们。如果您不确定,请将它们复制下来。
sudo iptables -S

删除现有输入规则的步骤。我只更改了我的输入规则。
sudo iptables -F INPUT

输入我当前的 INPUT 规则。您需要更改本地系统的地址范围。另请注意,我没有启用端口 22 进行 SSH 隧道传输。我在本地网络上使用 VNC。我仍然需要验证我的路由器不会将我的 VNC 流量重新传输到以太网。它可能会在我的无线网络上重新传输,我必须验证 WPA2 加密是否能让我免受邻居的攻击。

sudo iptables -A INPUT -i lo -j ACCEPT  -m comment  --comment "Enable Loopback::"
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT  -m comment --comment "Enable Already Established:"
sudo iptables -A INPUT -m conntrack --ctstate INVALID -j DROP -m comment --comment "Disable Invalid Packets::"
sudo iptables -A INPUT -p icmp --icmp-type 8  -d 192.168.1.100  -m iprange --src-range 192.168.1.64-192.168.1.127 -m state --state NEW -j ACCEPT -m comment --comment "Enable Local Ping::"
sudo iptables -A INPUT -p tcp --dport 80   -m iprange --src-range 192.168.1.64-192.168.1.127 -m state --state NEW -j ACCEPT -m comment --comment "Enable Website::"
sudo iptables -A INPUT -p tcp --dport 3306 -m iprange --src-range 192.168.1.64-192.168.1.127 -m state --state NEW -j ACCEPT -m comment --comment "Enable MySQL Server::"
sudo iptables -A INPUT -p udp --dport 137  -m iprange --src-range 192.168.1.64-192.168.1.127 -m state --state NEW -j ACCEPT -m comment --comment "Enable Samba Share::"
sudo iptables -A INPUT -p udp --dport 138  -m iprange --src-range 192.168.1.64-192.168.1.127 -m state --state NEW -j ACCEPT -m comment --comment "Enable Samba Share::"
sudo iptables -A INPUT -p tcp --dport 139  -m iprange --src-range 192.168.1.64-192.168.1.127 -m state --state NEW -j ACCEPT -m comment --comment "Enable Samba Share::"
sudo iptables -A INPUT -p tcp --dport 445  -m iprange --src-range 192.168.1.64-192.168.1.127 -m state --state NEW -j ACCEPT -m comment --comment "Enable Samba Share::"
sudo iptables -A INPUT -p tcp --dport 5800 -m iprange --src-range 192.168.1.64-192.168.1.127 -m state --state NEW -j ACCEPT -m comment --comment "Enable VNC Input::"
sudo iptables -A INPUT -p tcp --dport 5900 -m iprange --src-range 192.168.1.64-192.168.1.127 -m state --state NEW -j ACCEPT -m comment --comment "Enable VNC Input::"
sudo iptables -A INPUT -p tcp --dport 6000 -m iprange --src-range 192.168.1.64-192.168.1.127 -m state --state NEW -j ACCEPT -m comment --comment "Enable VNC Input::"
sudo iptables -A INPUT -j DROP -m comment --comment "Drop Everything Else::"

您需要根据要执行的操作更改上述规则。例如,我们在端口 80 上运行 Apache2 网站,以及 mySQL 和 Samba,而您可能不需要这些。iptables 上有很多内容,但我不是专家。设置完成后,测试您所需的一切是否仍然有效,我们将更新 iptables-persistent。

但首先要了解 ip6 的规则。首先看看您可能想要保留哪些规则。如果您不知道,请写下来。
sudo ip6tables -S

删除现有的 ip6 INPUT 规则。sudo
ip6tables -F INPUT

添加新规则。我的规则很简单,我只允许回环,其他都丢弃。有一天当我们使用 ip6 时,我们可能需要更改这些规则。

sudo ip6tables -A INPUT -i lo -j ACCEPT  -m comment  --comment "Enable Loopback::"
sudo ip6tables -A INPUT -j DROP  -m comment --comment "Drop Everything Else::"

注意,打印规则时,我使用sudo iptables -Ssudo iptables -L --line-numbers。对于 ip6 规则,我们使用sudo ip6tabls -Ssudo ip6tables -L --line-numbers

最后,确认我们喜欢新规则后,我们保存它们。否则,重新启动,旧规则将重新应用,然后您就可以重新开始。

`sudo service iptables-persistent save`

现在可以使用“桌面共享首选项”安全地重新启用远程控制。再次搜索远程,选择“桌面共享”,然后允许其他用户查看您的桌面,允许其他用户控制您的桌面。我建议要求确认和密码,并禁用自动配置 UUPnP 路由器。然后始终显示通知图标。

最后,我们应该对 32GB 的 .xsession-errors 文件进行一些操作。请注意,重启后,它可能会重命名为 .xsession-errors.old。您可以从终端检查,它ls -l .xs*会列出所有以 .xs 开头的文件,并显示它们的大小。 rm .xsession-errors.old将删除该文件。但这样一来,您就会丢失试图入侵的人的 IP 地址。也许有一天我会想知道这一点。

最后,vnc 使用 vino-server 运行。从终端,cntrl alt t命令ps aux | grep vino将列出/usr/lib/vino/vino 服务器如果它正在运行。

我还不知道我是否损坏了我们需要的其他东西。可能到那时才会知道。

祝你好运。 (以防万一你在下个世纪读到这篇文章并且仍然认为它有意义。今天的日期是 2016 年 5 月 18 日。我正在使用 Ubuntu 12.04.05 LTS。我们还有不到一年的时间才需要更新。)

相关内容