我是新来的东西系统pipe理员/ IT方面,所以我很抱歉,如果这看起来很简单。 我试过search,但由于SSH是如此广泛的领域,我不知道什么关键字或术语专门使用。
我将尽快做一些旅行,我需要SSH到我的EC2 Ubuntu服务器。 目前,我在家里有一个静态的IP,UFW设置为限制端口22的IP访问。就SSH本身而言,我使用密钥对来login。
有什么办法我可以以某种方式获得一个静态的IP,或使用某种VPN,然后SSH到我的服务器仍然保持端口22安全? 很明显,我不是第一个在SSH服务器上进行旅行的人,所以必须有一个解决scheme。
正如我所说,我目前只允许端口22访问我的IP。 开放22号港口到所有的交通是否太冒险? 我使用SSH密钥对,而不是用户名/密码。
只要您使用公钥authentication或安全的用户密码,保持端口22打开不会比在您的Web服务器上保持端口80打开安全。 许多安全实践是没有根据的神话。 sshd中存在严重的漏洞不太可能。
为什么VPN服务器端口突然比SSH端口更安全? 只要每次连接时validation您的SSH公钥,以防止MITM攻击。
需要一个用于SSH的VPN肯定是更安全的; 通常的做法是build立一个pipe理networking(你的服务器有一个辅助连接),并提供VPN访问。 让所有基础设施只在该networking上监听pipe理stream量。 然后,根据需要,VPN进行pipe理。
如果你只有一个服务器,这可能是矫枉过正的。 使用强大的公钥并确保只有真正拥有shell账号的用户才能被authentication。 在这种情况下禁用SSH的密码authentication不是一个坏主意。 为此,编辑/etc/ssh/sshd_config并设置PasswordAuthentication no 。 如果您只使用公共密钥身份validation,请务必使用UsePAM no禁用PAM,因为即使您在sshd中禁用了密码身份validation,PAM也可以使用密码对用户进行身份validation。
首先一些一般的安全提示:
特别是对于你的问题,有一些工具被称为PortKnockerrs
基本上你做了一些事情(比如试图在短时间内连接到几个不同的端口)和一个端口奇迹般地在iptables中打开。
关于这个话题的一些阅读:
注:我没有portknocking的经验,并不真正推荐它,因为它会干扰正常的操作。 在非标准端口上的大的安全密钥和ssh是非常有用的。
你可以在你的机器上设置一个OpenVPN服务器并通过它访问你的实例。 检查下面的链接来设置OpenVPN服务器。
http://www.whiteboardcoder.com/2012/12/amazon-aws-vpc-setting-up-openvpn-server.html
你需要稍微改变你的安全组。 目前,您有一个静态IP作为入站连接的允许主机。 使其成为与OpenVPN服务器的dynamicIP地址(您在上述链接的“VPN设置”中指定的IP地址范围)匹配的IP地址范围。
所有的OpenVPN服务器都可以访问,但是这个连接被encryption(https),并受到您的OpenVPNconfiguration文件密钥和您的账户密码的保护。
我会在你的笔记本电脑上设置一个dynamic的dns帐号,如no-ip或dynds,然后你可以将这个dyn主机名添加到/etc/hosts.allow,并阻止/ etc / hosts / deny中的所有其他内容。
这样你有你的Linux只允许dynamic主机,你也可能需要添加你的本地子网段到/etc/hosts.allow文件。
干杯…