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. Linux学习之路--常用命令讲解

    Linux常用命令讲解 1.命令格式:命令 [-选项]  [参数] 超级用户的提示符是# 一般用户的提示符是$ 如:ls -la /usr说明: 大部分命令遵从该格式多个选项时,可以一起写 eg:ls ...

  2. Ubuntu 18.04 + ROS Melodic + TurtleBot3仿真

    1. 下载安装包 官网地址: http://wiki.ros.org/action/show/Robots/TurtleBot?action=show&redirect=TurtleBot 所 ...

  3. bootstrap4.4 Stretched link的使用

    Stretched link功能介绍:扩大可点击区域. 原理 .stretched-link::after { position: absolute; top: 0; right:0; bottom: ...

  4. 结合docker发布后端项目(基于gradle包管理)的shell脚本

    结合docker发布后端项目(基于gradle包管理)的shell脚本 本教程依据个人理解并经过实际验证为正确,特此记录下来,权当笔记. 注:基于linux操作系统(敏感信息都进行了处理) 目前主流的 ...

  5. Spring Boot2.X整合消息中间件RabbitMQ原理简浅探析

    目录 1.简单概述RabbitMQ重要作用 2.简单概述RabbitMQ重要概念 3.Spring Boot整合RabbitMQ 前言 RabbitMQ是一个消息队列,主要是用来实现应用程序的异步和解 ...

  6. (01)hibernate框架环境搭建及测试

    ---恢复内容开始--- 1.创建javaweb项目 2.导包 hibernate包 hibernate\lib\required\*.jar 数据库驱动包 mysql-connector-java- ...

  7. [白话解析] 深入浅出 极大似然估计 & 极大后验概率估计

    [白话解析] 深入浅出极大似然估计 & 极大后验概率估计 0x00 摘要 本文在少用数学公式的情况下,尽量仅依靠感性直觉的思考来讲解 极大似然估计 & 极大后验概率估计,并且从名著中找 ...

  8. Java爬虫一键爬取结果并保存为Excel

    Java爬虫一键爬取结果并保存为Excel 将爬取结果保存为一个Excel表格 官方没有给出导出Excel 的教程 这里我就发一个导出为Excel的教程 导包 因为个人爱好 我喜欢用Gradle所以这 ...

  9. Java final关键词

    final关键词的四种用法 * * final 关键字:最终的.不可改变的 * 1.可以用来修饰一个类 * 2.可以用来修饰一个方法 * 3.可以用来修饰一个局部变量 * 4.可以用来修饰一个成员变量 ...

  10. Django-视图&网址

    前言 Django第一篇简单的介绍了环境搭建与创建Django项目的两种方式,以及如何启动服务,在前端访问HelloWorld地址,这篇内容首先学习一下Django项目中的各个模块的用途及Django ...