Exchange是由微软推出的用于企业环境中部署的邮件服务器。Exchange在逻辑上分为三个层次:网络层(network layer)、目录层(directory layer)、消息层(messaging layer),服务器角色正是在消息层上的一个细分。Exchange Server 2010包含五个服务器角色,分别是邮箱服务器(mailbox server)、集线传输服务器(hub transport server)、客户端访问服务器(client access server)、边缘传输服务器(edge transport server)、统一消息服务器(unified messaging server),除了边缘传输服务器以外其他角色都可以在同一台主机上进行部署添加,其中邮箱服务器、集线传输服务器、客户端访问服务器是核心服务器角色,部署这三个角色就能提供基本的邮件处理功能。
  • 邮箱服务器(mailbox server):该角色是提供托管邮箱、公共文件夹以及相关的消息数据(如地址列表)的后端组件,是必选的服务器角色。
  • 客户端访问服务器(client access server):接收和处理来自于不同客户端的请求的中间层服务器角色,该角色服务器提供了对使用不同协议进行访问的支持,每个Exchange环境中至少需要部署一个客户端访问服务器,客户端访问服务器提供了对以下不同接口访问Exchange服务器的处理。
  • 集线传输服务器(hub transport server):或称中心传输服务器,该服务器角色的核心服务就是Microsoft Exchange Transport,负责处理Mail Flow(这又是Exchange中的一大知识点,Exchange管理员需要通过MailFlow实现邮件出站与进站配置)、对邮件进行路由、以及在Exchange组织中进行分发,该服务器角色处理所有发往属于本地邮箱的邮件和发往外部邮箱的邮件,并确保邮件发送者和接收者的地址被正确解析并执行特定策略(如邮件地址过滤、内容过滤、格式转换等),同时,还可以进行记录、审计、添加免责声明等,正如Hub transport的含义,该服务器角色相当于一个邮件传输的中继站点,每个Exchange环境中至少需要部署一个集线传输服务器。
  • 统一消息服务器(unified messaging server):将专用交换机(private branch exchange/PBX) 和Exchange Server集成在一起,以允许邮箱用户可以在邮件中发送存储语音消息和传真消息,可选角色。
  • 边缘传输服务器(edge transport server):该服务器角色作为专用服务器可以用于路由发往内部或外部的邮件,通常部署于网络边界并用于设置安全边界。其接受来自内部组织的邮件和来自外部可信服务器的邮件,然后应用特定的反垃圾邮件、反病毒策略,最后将通过策略筛选的邮件路由到内部的集线传输服务器,可选角色。
 
一、 Exchange服务发现
 
1.基于端口扫描发现
  使用nmap扫描端口寻找Exchange服务器,需要与主机进行交互产生大量流量很容易造成IDS告警。
  nmap -A -O -sV 192.168.190.138
 
2.SPN 查询
  在安装Exchange时,SPN就被注册在活动目录中了,在域环境中,可以通过SPN来发现Exchange服务器。
  获取SPN记录可以使用powershell脚本,或者通过windows自带的setspn.exe获取,命令如下:
  setspn -T payload.com -F -Q */*
 
 其中,ExchangeRFR、ExchangeAB、ExchangeMDB等都是Exchange注册的服务。
二、Exchange的基本操作
Exchange是一个邮件系统,它的数据库后缀为.edb。通过Exchange发送和接受的邮件都会保存在Exchange数据库中。
1.查看邮件数据库
使用“-Server”参数,可以在指定服务器上进行查询。在powershell命令行下输入如下命令:
Get-MailboxDatabase -server "DC"
 
  在正常的powershell中,上面的命令是没有的,需要输入如下命令,将Exchange管理单元添加到当前会话中。
add-pssnapin microsoft.exchange*
  可以指定一个数据库,对其详细信息进行查询,例如输入如下命令,查询数据库的物理路径。
Get-MailboxDatabase -Identity 'Mailbox Database 1942140972' | Format-List Name,EdbFil
ePath,LogFolderPath
 
2.获取现有用户的邮件地址
Get-Mailbox | Format-table Name,WindowsEmailAddress
 
3.查看指定用户的邮箱使用信息
输入如下命令,查询指定用户的邮箱空间和最后登录时间。
Get-Mailboxstatistics -identity administrator | Select Dispayname,ItemCount,TotalItemSize,TotalTimeSize,LastLogonTime
 
4.获取用户邮箱中的邮件数量
Get-Mailbox -ResultSize Unlimited | Get-Mailboxstatistics | Sort-Object TotalItemSize -Descend
 
三、 导出指定的电子邮件
Exchange邮件文件的后缀为“.pst”。
 
1.配置用户的导入导出权限
(1)查看用于权限
Get-ManagementRoleAssignment -role "Mailbox Import Export" | Format-List RoleAssigneName
 
(2)添加权限
  将administrator用户加入Mailbox Import Export角色组中,就可以通过powershell导出用户的邮件了,将用户添加到角色组后,需要重启Exchange服务才能执行导出操作。
New-ManagementRoleAssignment -Name "Import Export_Domain Admins" -User "Administrator
" -Role "Mailbox Import Export"
 
(3)删除权限
  导出工作完成后,可以将刚刚添加的Mailbox Import Export角色组中的用户删除。
Remove-ManagementRoleAssignment "Import Export_Domain Admins" -Confire:false
 
2.设置网络共享文件夹
  不论使用哪种方式导出邮件,都需要将文件放置在UNC(Universal Naming Convention,通用命名规则,也称通用命名规范)路径下。类似于“\\hostname\sharename”、“\\ipaddress\sharename”的网络路径下,sharename为网络共享名称。
首先开启共享,将C盘inetpub文件夹设置为everyone可读写。执行如下命令:
net share inetpub=c:\inetpub /grant:everyone,full
 
3.导出用户的电子邮件
(1)使用powershell导出电子邮件
  用户的电子邮箱目录一般为Inbox(收件箱)、SentItems(已发送邮件)、DeleteItems(已删除邮件)、Drafts(草稿)等。
使用New-MailboxExportRequest命令,将指定用户所有的电子邮件导出。
New-MailboxExportRequest -Mailbox administrator -FilePath \\192.168.190.138\inetpub\administrator.pst
 
可以看到,两个用户的邮件都已经被导出到C:\inetpub\目录下了。
 
(2)通过图形化界面导出电子邮件
  访问https://192.168.190.138\ecp\,打开Exchange管理中心的登录界面。输入账号密码进入Exchange管理中心,点击收件人右边的“+”号可以将当前用户加入管理员组中,然后右键刷新按钮右边的更多,即可进行导出操作。
 
4.管理导出请求
  无论是通过Powershell导出还是通过图形化的方式导出,都会在Exchange中生成一条告警信息,
输入如下命令,查看之前的导出请求记录信息。
Get-MailboxExportRequest
 
使用如下命令,可以将指定用户已经完成的导出请求删除。
Remove-MailboxExportRequest -Identity Administrator\mailboxexport
 
使用如下命令,删除所有已完成的导出请求。
Remove-MailboxExportRequest -Status Completed | Remove-MailboxExportRequest
 

Exchange邮件服务器安全的更多相关文章

  1. Exchange 邮件服务器内存硬盘估算

  2. Windows Server 2008 R2 配置Exchange 2010邮件服务器

    windows server 服务器系统搭建邮件服务器一般两种情况: 1:Winmail server 软件 2:Exchange 参考教程:http://www.cnblogs.com/zhongw ...

  3. Exchange 2010邮件服务器的搭建和部署

    Exchange主要是针对内部网或者企业网用户进行搭建的邮件服务器软件,利用它能够很快地搭建安全性较高的内部网邮件系统. 本次搭建在个人环境中实践,纯属爱好折腾,分四步骤,1.搭建windows 20 ...

  4. linux 邮件服务器

    邮件通信系统协议及概念:软件角色:MUA:邮件客户端MTA:邮件服务端MDA:邮件服务端模块邮件客户端:Mail User Agent,邮件用户代理邮件服务端:Mail Transfer Agent, ...

  5. Exchange 2003服务器中如何在公司资料夹中设置共享行事历

    Exchange 2003服务器中如何在公司资料夹中设置共享行事历 编写人:左丘文 2018-2-23 春节假期归来,开工第一天,感觉还没有从假期中恢复及调整过来.突然想到了我已经荒废了近一年的园子, ...

  6. 邮件服务器fixpost服务(1)

    发邮件所用的协议,SMTP协议,端口TCP25 收邮件所用的协议,pop3.imap协议 邮件客户端(MUA):foxmail.闪电邮.邮件大师.outlook 搭建邮件服务器所用到的软件(MTA邮件 ...

  7. DNS 域名系统与邮件服务器

    目录 DNS 域名系统 定义 域名分类 解析流程 DNS分类 资源记录 格式 资源记录类型 用bind搭建一台DNS服务器 安装bind 创建自己的zone文件 在主配置文件中,增加自己的zone 检 ...

  8. CentOS利用postfix搭建邮件服务器

    之前我用nodemailer通过163邮箱来发送邮件,不过没过几天就一直ETIMEDOUT,不知道什么原因,想着还是自己搭一个来发邮件可能靠谱点(flag?) 安装postfix CentOS 7 自 ...

  9. 烂泥:Postfix邮件服务器搭建之准备工作

    说实话,Postfix邮件服务器的搭建是一件很麻烦的事情,需要各种软件之间的配置和调试.在写这篇文章之前,我也是搭建测试了不下于10次才算把整个流程给走通,今天刚好有时间把整个搭建过程记录下来. 在正 ...

随机推荐

  1. 「洛谷P3469」[POI2008]BLO-Blockade 解题报告

    P3469[POI2008]LO-Blockade 题意翻译 在Byteotia有n个城镇. 一些城镇之间由无向边连接. 在城镇外没有十字路口,尽管可能有桥,隧道或者高架公路(反正不考虑这些).每两个 ...

  2. U盘中了蠕虫病毒,文件夹都变成exe了,怎么办?

    昨天做实验,用U盘拷了实验室的文件,然后就中了病毒了(无奈),U盘里的文件全都变成了exe.有点慌张,我的U盘里存了很多课程资料.然而,我懒得下载杀毒软件.参考这位博主的做法,我成功的找回了我隐藏的文 ...

  3. 开源API网关,你选对了么?

    开源API网关,你选对了么? api网关的本质 不用扯那么多,也不用画图,一句话说清楚 api网关:流量总入口,得以集中控制! 就这么简单 api网关协议上最基本要支持HTTP 和 WebSocket ...

  4. 关于Springboot找不到mapper.xml问题

    今天在写springboot项目时报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found),找 ...

  5. python常用英语单词(初学,英语不好的适用)

    对于刚才是学习python这些也足够了,一天学个六七个单词记一下在配合自己寻找的视频.书籍等等方法去学习是有一定帮助的. 这里还是要说一句,仅供兴趣爱好学习使用,个人开发者(非考虑未来靠此为生的人士) ...

  6. JavaScript系列之回调函数callback

    JavaScript系列之回调函数callback JavaScript回调函数的使用是很常见的,引用官方回调函数的定义: A callback is a function that is passe ...

  7. css label两端对齐

    上面这种效果很常见,实现的代码如下: html部分 <ul> <li class="detail_item"> <span class="d ...

  8. C#实现DataTable转.CSV文件

    将DataTable转换成CSV文件是一种常见的转换形式,主要通过遍历Table的每行,再对每行遍历每列,实现对数据的读取,然后用分隔符分隔Table的每个栏位数据,把读取的字符写入到CSV文件中.这 ...

  9. input 只允许输入小数

    oninput = "value=value.replace(/[^\d]/g,'')" 输入浮点数不好使 突发奇想自己写一个与众不同的... oninput="valu ...

  10. cogs 619. [金陵中学2007] 传话 Tarjan强连通分量

    619. [金陵中学2007] 传话 ★★   输入文件:messagez.in   输出文件:messagez.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述] 兴趣小 ...