我必须配置一个托管在公司网络中的Java应用程序。那么什么是DMZ以及如何通过公开服务?
答案 0 :(得分:14)
在计算机安全性中,DMZ或非军事区是一个物理或逻辑子网,它包含组织的外部服务并将其暴露给更大的不受信任的网络,通常是Internet。该术语通常被IT专业人员称为DMZ。它有时被称为外围网络。 DMZ的目的是为组织的局域网(LAN)添加额外的安全层;外部攻击者只能访问DMZ中的设备,而不能访问网络的任何其他部分。
答案 1 :(得分:7)
DMZ区域是您本地(家庭或公司)网络的一个区域,可从外部(互联网)访问。
通常,在家庭路由器中,有一种配置允许您指定DMZ中的哪台计算机(IP),路由器会将请求从Internet转发到该计算机。然后,该计算机可以托管可用于互联网的服务(http,ftp,ssh,...)。根据路由器的不同,这将或多或少可配置。
在你的情况下,我不认为在java应用程序中有任何特殊的事情要做(除了在正确的ip上绑定服务器套接字...如果你有多个你可能没有)。您必须配置公司路由器(或要求IT)将您的计算机添加到DMZ。它们可能会为您提供一个外部IP(与您的计算机内部IP匹配),而不是用于从互联网访问您的服务。
答案 2 :(得分:2)
您想要DMZ及其带来的好处的原因。一般的想法是,您将公共面临的服务器放在“DMZ网络”中,以便您可以将它们与您的私人可信网络分开。用例是因为您的服务器具有公共面,所以它可以是远程根。如果发生这种情况,并且恶意方获得对您的服务器的访问权限,他应该在DMZ网络中被隔离,并且不能直接访问私有主机(或者对于数据库服务器,例如在专用网络内而不是在私有网络内DMZ)。
如何做到:有几种方法,但“书籍示例”是通过使用两个防火墙(当然,你可以通过一个防火墙和智能配置实现相同的结果,尽管硬件隔离更好)。您的主防火墙位于Internet和服务器之间,以及服务器和专用网络之间的第二个防火墙。在第二个防火墙上,从服务器到专用网络的所有访问理想情况下都是禁止的(当然它将是一个有状态的防火墙,因此如果你启动从专用网络到服务器的连接,它将起作用)。
因此,这是对DMZ的一个相当高级别的概述。如果您需要更多技术细节,请相应地编辑您的问题。