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(raspbian)下mysql的安装,权限设置和用户管理

    一 MySQL安装:(1) 使用apt-get安装, 由于raspbian是基于Debian的自由操作系统,debian默认自带apt-get指令安装应用因此可以使用来安装 sudo apt-get ...

  2. 利用自编码(Autoencoder)来提取输入数据的特征

    自编码(Autoencoder)介绍 Autoencoder是一种无监督的学习算法,将输入信息进行压缩,提取出数据中最具代表性的信息.其目的是在保证重要特征不丢失的情况下,降低输入信息的维度,减小神经 ...

  3. 1088 三人行 (20分)C语言

    子曰:"三人行,必有我师焉.择其善者而从之,其不善者而改之." 本题给定甲.乙.丙三个人的能力值关系为:甲的能力值确定是 2 位正整数:把甲的能力值的 2 个数字调换位置就是乙的能 ...

  4. 克隆linux系统后,将eth1修改成eth0

    使用VMware克隆的linux系统之后,发现网卡信息只有eth1,却没有eth0.将eth1修改成eth0. 1.vi /etc/udev/rules.d/70-persistent-net.rul ...

  5. Netty--【详解】

    Netty概述:1.netty是基于Java NIO的网络应用框架,client-server框架2.Netty是一个高性能.异步事件驱动的NIO框架,它提供了对TCP.UDP和文件传输的支持,作为一 ...

  6. Centos 中文乱码解决方法

    问题描述 crontab -e 添加定时任务时,直接将下面内容粘贴过去,结果竟然乱码了. # 每个星期日凌晨3:00执行完全备份脚本 0 3 * * 0 /bin/bash -x /root/bash ...

  7. 【记】Linux下安装JDK1.7

    Java官网已经不提供除最新版本以外版本的JDK下载了,下载JDK1.7,密码: rsqg 本地Linux系统为Centos6.9,本身就没安装Java:已安装Java需要先卸载,卸载方法请百度. 1 ...

  8. json中含有换行符'\r','\n'的处理

    一.josn简易说明  json是一种轻量级的数据交换格式,是一系列格式字符串.在数据交换中,经常会使用到,具有易读性,轻量级.很多地方会使用到,用处广泛.如下:(截取的一段json体) " ...

  9. 详细解析Java虚拟机的栈帧结构

    欢迎关注微信公众号:万猫学社,每周一分享Java技术干货. 什么是栈帧? 正如大家所了解的,Java虚拟机的内存区域被划分为程序计数器.虚拟机栈.本地方法栈.堆和方法区.(什么?你还不知道,赶紧去看看 ...

  10. JAVA大数贪心

    题意:01给出一个数n,现在要将它分为m个数,这m个数相加起来必须等于n,并且要使得这m个数的或值最小. 思路分析: 一个简单的贪心,从高位到低位,判断当前位可否为 1 ,若可以,则将所有的数的这一位 ...