我最近租用了我的第一个 vServer(Ubuntu、预装 LAMP + Webmin)。我需要它,因为我编写了一个 Java 应用程序,该应用程序应该作为游戏服务器在其上运行。我熟悉 Ubuntu,因为我已经将它用作我的主要操作系统 2 年了。我还熟悉一些基本的“linux”/shell、网络内容,并且之前还在笔记本上运行过自己的 LAMP。所以我认为我可以管理 vServer。但有几件事我不确定。到目前为止,我所做的是更改 webmin 和 ssh 的端口,并查看了 apache2.conf 文件(似乎没问题)。我更改了 root 密码,并尝试将 mysql root 密码更改为。在这里我遇到了第一个问题:
我无法为 mysql root 用户设置任何密码。无论是通过 ssh/mysql 还是在 webmin 中都无法设置。我该怎么做?
为什么有这么多mysql用户(mysql-sys,debian-sys-maint)?
我已经运行 netstat 来查看开放端口,正如预期的那样,它显示了 ssh、apache 和 webmin。但是当我使用 Zenmap 进行端口扫描时,我还看到另外 5 个(已过滤)端口(msrpc、netbios-ns、netbios-dgm、netbios-ssn、microsoft-ds)。当我进行 udp 扫描时,似乎打开了更多端口。这是怎么回事?
我的 Java 应用程序需要在运行时动态打开 udp/tcp 套接字。因此,最好声明一些防火墙规则,拒绝除来自/针对给定程序(基本上是 ssh、apache、webmin 和我的 java 应用程序)之外的所有传入/传出套接字。如何做到这一点?
安装像 snort 这样的 ips 有意义吗?
让 webmin 每天检查/安装更新以保持系统最新状态是否足够?(我想我必须手动更新 Java,因为我也必须手动安装它)
为了安全起见我还需要做些什么吗?
假设我的服务器被黑客入侵,有人开始用它做非法的事情。我知道我要对服务器负责,但对我来说最坏的后果是什么?
如果有人有时间回答我的问题或提供一些关于该主题的链接以供进一步阅读,那就太好了。谢谢并问候
答案1
问题很多,我来简单回答一下
- 命令
mysqladmin
- 您的系统可能已预先配置好,谁知道呢...它们不应该被需要并且也不是默认 mysql 打包的一部分,但也许操作系统或提供商会对它们做些什么,所以也许不要管它们。
- 忽略 udp 端口,虽然 nmap 可以正确捕获它们,但它们实际上可能并未打开。只需信任 nmap。其他开放/过滤端口是什么?有什么需要担心的吗?
- 我不知道您的提供商如何处理防火墙问题(如果他们确实这样做的话)。如果他们不这样做,您可以使用软件包
ufw
(Uncomplicated Firewall)或iptables
直接使用。我相信还有很多其他选择。 - 除非你很偏执,而且有很多空闲时间
- 我不会用 10 英尺长的杆子来碰这样的 UI,由你决定。如果它有效,就去做吧。Ubuntu 有自己的设施。
- fail2ban 很有帮助。我认为你没问题。
- 我认为如果你做出适当的回应,你会没事的