2014-08-28 23:34:57
来 源
中存储网
Exchange邮件服务器
一个比较聪明的方法是通过命令行的方式来远程管理邮箱服务器。但是这里又有一个曲折,即如何来保证远程命令行工具的安全。
如果企业的邮件服务器日常锁在独立的机房里,邮箱管理员需要对其进行维护,如启用一个新的服务,此时该如何处理呢?如果跑到机房里去设置,显然并不是很合理。一个比较聪明的方法是通过命令行的方式来远程管理邮箱服务器。但是这里又有一个曲折,即如何来保证远程命令行工具的安全。如下图所示。笔者将结合自己的项目经验,给大家提一些建议。相信能够帮助大家做到安全与便利两不误。

 一、为用户启用远程命令行管理的权限。

在ExchangeServer2010中有一个远程命令行管理程序。顾名思义,就是管理员可以通过互联网或者企业内部局域网来远程管理企业的邮箱服务器。这对于企业来说非常的重要。如企业可能有多个独立的子公司或者办事机构,分布在全国各地,甚至海外。而每个子公司所在的位置都可能有服务器。如果在每个子公司里都配置一个邮箱管理员,那么对企业来说就有点浪费。而不过不配备的话,在服务器出现故障需要维护时也是一件麻烦事情。如果可以通过远程命令行的方式来远程管理服务器的话,那么企业只需要配备一名邮箱管理员。在需要维护时通过远程管理来进行维护即可。

不过出于安全的考虑,系统默认情况下并没有启用这个功能。换句话说,在用户可以使用远程命令行管理程序之前,管理员必须通过控制台在服务器上启用远程命令行管理程序。并且需要设置相关的安全措施来提高远程命令行工具的安全性。具体的说,需要做好如下工作。

  一是权限的分配。通常情况下,如果需要使用远程命令行管理工具的话,用户必须要具有管理员角色组的权限。如果企业邮箱管理员只有一人的话,那么可以直接为这个用户分配管理员角色。只有具有这个权限的用户才能够运行命令行工具。不过这里笔者需要提醒一点,有些比较复杂的邮箱应用,可能有多个邮箱管理员。如有人专门负责邮箱数据的备份,有人专门负责安全等等。此时最好创建多个用户,并让其成为管理员组的一员。这有助于后续系统的维护与优化,并能够提高邮箱服务器的安全性。

  二是为用户启用远程命令行管理程序。用户即使具有相应的权限,仍然不能够使用远程命令行管理程序。如果需要使用的话,必须手工的为这个用户启用命令行管理程序。这仍然是一种安全上的考虑。如果需要启用这个命令行管理程序,必须要在控制台上通过命令的方式来启用。这里笔者特别强调一点,在Exchange服务器上,是不能够通过EMC来启用远程命令行管理程序。如果要启用的话,邮箱管理员可以使用Set-User命令将RemotePowerShellEnable参数设置为真即可。如set-user username –RemotePowerShellEnable $true。从这个命令中也可以看出,远程命令行程序是与用户一一对应的。为某个用户启用了远程命令行管理程序,并不代表其他具有相应权限的用户就能够使用这个远程命令行管理程序。再次强调一下,如果要为用户启用远程命令行管理程序的话,必须通过命令行管理程序来设置。而不能够通过EMC来设置。

总之,要让某个用户能够使用远程命令行工具来管理邮箱服务器,基本上需要经过两个步骤。一是为这个用户设置合适的权限,二是为这个特定的用户启用远程命令行管理程序。两者缺一不可。

二、及时关闭远程命令行管理程序的权限。

当某个邮箱管理员离职或者调换工作时,需要及时的将这个用户的远程命令行管理程序的权限禁用掉。因为远程命令行管理程序可以通过互联网来管理企业的邮箱服务器。将这个权限开发给与邮箱维护工作无关的人员,会给邮箱服务器带来很大的安全隐患。当有新人接替原来的邮箱管理员时,有些工程师会让这个新来的人员直接使用原有管理员的用户,最多只是更改一下密码。这是一种不安全的做法。因为只要知道邮箱管理员的用户,则通过一些工具花点时间可以破解出一些相对简单的密码。为此笔者的意见是,出于安全考虑,需要禁用原有的帐户。并且为新管理员重新分配一个账户,并为其分配相关的权限以及启用远程命令行管理程序。

  如果需要为某个用户禁用远程命令行管理程序的话,也需要通过命令行来进行。如set-user username –RemotePowerShellEnable $False。然后再删除或者禁用这个用户帐户。注意此时这个命令只对这个账户生效。对于其他用户来说,没有影响。这也就是说,远程命令行管理程序是与用户一一对应的。这个设置的话,无法通过EMC来完成,即无法通过EMC工具对用户禁用远程命令行管理程序。

 三、在没有Exchange管理工具的基础上建立连接。

如上图所示,通常情况下如果要通过远程命令行的方式来管理邮箱服务器,要求在客户端上安装Exchange管理工具。出于安全或者便利等因素考虑,建议管理员在客户端上安装Exchange管理工具,然后在通过这个管理工具来启动命令行工具,来远程管理邮箱服务器。但是在一些紧急的情况下,管理员可能不具备这种条件。如笔者就遇到过这种事情。几年前的一个中秋节,笔者在亲戚家做客。突然总经理打电话给我说无法收发邮件了。笔者不可能一天24个小时笔记本电脑不离身。在这种情况下没有办法,笔者只能够借助亲戚家的电脑。可是亲戚家的电脑不可能安装有Exchange管理工具。这该怎么办呢?此时就需要在没有Exchange管理工具的情况下建立与邮箱服务器的远程连接,查看邮箱服务器的状态,并解决相关问题。

首先,客户端必须具备一定的软件条件。在没有Exchange管理工具的情况下,管理员仍然可以远程连接到邮箱服务器上。不过此时客户端计算机需要满足一定的条件。如在客户端计算机上需要安装有ManagementFrameWork组件。这个组件中包含有Windows的远程管理工具。其次需要启用特定的端口。如果需要在没有Exchange管理工具的情况下与邮箱服务器建立远程连接,此时需要客户端计算机和服务器启用特定的端口。这个端口就是TCP 80端口。通常情况下,客户端默认是启用这个端口的。不过有些服务器管理员可能会出于安全考虑,关闭了邮箱服务器的80端口。此时需要先启用。否则的话,是无法在没有Exchange管理工具的情况下连接到远程服务器的

  当然,其连接时所使用的用户必须满足前面讲到的两个基本条件。即这个用户具有相应的权限(如是管理员角色组的成员),并且已经为了这个用户启用了远程命令行管理程序。在没有Exchange管理工具的情况下,此时需要用到的是PowerShell工具。这个工具包含在ManagementFrameWork组建中。PowerShell是Windows下类似于一个命令行的管理工局。通过本地的PowerShell会话管理员就可以访问远程的邮箱服务器,并进行相关的维护操作。在本地计算机上通过PowerShell会话访问邮箱服务器的cmdlet时,客户端会将请求发送到远程的邮箱服务器。然后远程的邮箱服务器再将执行的结果或者相关信息返回到客户端上。

  虽然如此,笔者还是建议最好通过邮箱服务器的管理工具来与远程的邮箱服务器建立连接。特别是在执行一些比较复杂的维护任务时,如启用某个安全策略、为服务器升级补丁时,还是采用专门的Exchange工具为好。在没有Exchange工具时建立与远程邮箱服务器的连接,只是一种应急的行为。而不能够作为一种常态。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。