Keressen IP-címeket az Exchange SMTP-relé segítségével
Olyan helyszíni IP-címeket szeretne találni, amelyek az Exchange SMTP-továbbítót használják levelek küldésére. Miért akarod ezt az információt? Leggyakrabban ilyenkor szeretne leállítani egy Exchange-kiszolgálót, és szeretné megerősíteni, hogy nem fut levélfolyam az SMTP-közvetítőn. Ha minden be van állítva, letilthatja az SMTP relé fogadási csatlakozóját. Ebből a cikkből megtudhatja, hogyan automatizálhatja a keresést, és hogyan találhatja meg az SMTP-relét használó IP-címeket.
Bevezetés
Mielőtt elkezdenénk, jó tudni, miért szeretnénk tudni, hogy mely IP-címek használják az Exchange SMTP-relét. Ennek néhány oka van, ha:
Váltson új Exchange Serverre SMTP-rel
Lépjen az Office 365 SMTP-reléjére
Az eltávolítható IP-címek ellenőrzése
Megjegyzés: Kérjük, ne távolítsa el azonnal az SMTP relé fogadási csatlakozóját, és ne szerelje le azonnal az Exchange Servert. Ez nagy hiba.
A következő sorrendet ajánljuk:
IP-címek beszerzése az Exchange SMTP-relé segítségével (ez a cikk)
Az SMTP relé vételi csatlakozójának letiltása
Az Exchange Server leállítása egy hétre vagy hosszabb időre
Az Exchange Server leszerelése
Ellenőrizze az SMTP relé naplóit
Ha IP-címeket szeretne keresni a naplókban, engedélyeznie kell a naplózást az összekötőn. Futtassa az Exchange Management Shell-t rendszergazdaként. Futtassa a Get-ReceiveConnector parancsmagot, és ellenőrizze, hogy a protokollnaplózás engedélyezve van-e az SMTP-relé fogadási csatlakozón.
Példánkban a ProtocolLoggingLevel a Verbose elemet mutatja az SMTP Relay azonosítóhoz. Ez azt jelenti, hogy a naplózás engedélyezve van.
[PS] C:\>Get-ReceiveConnector -Server "EX01-2016" | ft Identity,Enabled,TransportRole,Protocol*,Bindings
Identity Enabled TransportRole ProtocolLoggingLevel Bindings
-------- ------- ------------- -------------------- --------
EX01-2016\Default EX01-2016 True HubTransport Verbose {0.0.0.0:2525, [::]:2525}
EX01-2016\Client Proxy EX01-2016 True HubTransport Verbose {[::]:465, 0.0.0.0:465}
EX01-2016\Default Frontend EX01-2016 True FrontendTransport Verbose {[::]:25, 0.0.0.0:25}
EX01-2016\Outbound Proxy Frontend EX01-2016 True FrontendTransport Verbose {[::]:717, 0.0.0.0:717}
EX01-2016\Client Frontend EX01-2016 True FrontendTransport Verbose {[::]:587, 0.0.0.0:587}
EX01-2016\SMTP relay True FrontendTransport Verbose {0.0.0.0:25}Az SMTP naplózási állapotát az Exchange felügyeleti központban ellenőrizheti. Lépjen a levelezési folyamat > csatlakozási szoftverek fogadása oldalra. Válassza ki az ellenőrizni kívánt Exchange-kiszolgálót. Válassza ki az SMTP relé fogadási csatlakozót, és ellenőrizze a részleteket tartalmazó panelt, ha a Bejelentkezés - Be felirat látható.
Megjegyzés: Ha a szervezetben egynél több Exchange-kiszolgáló is van, akkor valószínűleg több Exchange-kiszolgálón is be van állítva egy SMTP-továbbító fogadási csatlakozó a magas rendelkezésre állás érdekében. Ellenőrizze, hogy az SMTP továbbítási fogadási csatlakozó naplózása engedélyezett minden Exchange-kiszolgálón.
Ha az SMTP naplózás engedélyezve van, hagyja ki a következő lépést. Ha nem, a következő lépésben engedélyezze a naplózást az SMTP relé fogadási csatlakozóján. Valószínűleg a FrontendTransport szállítási szerepe.
SMTP továbbítási naplók engedélyezése
[PS] C:\>Get-ReceiveConnector -Identity "EX01-2016\SMTP relay" | Set-ReceiveConnector -ProtocolLogging Verbose
Szeretné engedélyezni az SMTP továbbítási naplózást az Exchange felügyeleti központban? Kattintson a részletek panelen a Be linkre az SMTP-naplózás engedélyezéséhez. Tegye ugyanezt a többi Exchange szerveren is.
Ha most engedélyezte az SMTP-relé fogadási csatlakozó naplózását, néhány napot vagy hetet kell várnia a naplók generálására. Ez a használattól függ.
Keresse meg az SMTP továbbítási naplókat
Lehetetlen megtalálni az Exchange SMTP naplózási útvonalát az Exchange felügyeleti központban. Az Exchange Management Shell-t kell használnunk, és meg kell találnunk az SMTP-naplók elhelyezését.
[PS] C:\>Get-FrontendTransportService -Identity "EX01-2016" | fl Name,Identity,Receive*
Name : EX01-2016
Identity : Frontend
ReceiveProtocolLogMaxAge : 30.00:00:00
ReceiveProtocolLogMaxDirectorySize : 250 MB (262,144,000 bytes)
ReceiveProtocolLogMaxFileSize : 10 MB (10,485,760 bytes)
ReceiveProtocolLogPath : C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpReceiveMásolja ki a ReceiveProtocolLogPath elemet, és illessze be a Windows Intézőbe.
A következő lépésben elkészítjük a PowerShell-szkriptet az összes napló átvizsgálására és az IP-címek kiszűrésére.
Bővebben: Exchange fogadási csatlakozó naplózása »
Készítse elő az SMTP-Review PowerShell-szkriptet
Hozzon létre két mappát az Exchange Server (C:) meghajtóján:
Temp
-
Szkriptek
Töltse le az SMTP-Review.ps1 PowerShell-szkriptet, és helyezze el a C:\scripts mappába. A szkript a szövegfájlt a C:\temp mappába exportálja.
Győződjön meg arról, hogy a fájl blokkolása fel van oldva, hogy elkerülje a hibákat a szkript futtatásakor. További információ a cikkben: Nem digitálisan aláírt hiba a PowerShell-szkript futtatásakor.
Egy másik lehetőség az alábbi kód másolása és beillesztése a Jegyzettömbbe. Adja meg az SMTP-Review.ps1 nevet, és helyezze a C:\scripts mappába.
<#
.SYNOPSIS
SMTP-Review.ps1
.DESCRIPTION
Script is intended to help determine servers that are using an Exchange server to connect and send email.
This is especially pertinent in a decommission scenario, where the logs are to be checked to ensure that
all SMTP traffic has been moved to the correct endpoint.
.LINK
www.alitajran.com/find-ip-addresses-using-exchange-smtp-relay
.NOTES
Written by: ALI TAJRAN
Website: www.alitajran.com
LinkedIn: linkedin.com/in/alitajran
.CHANGELOG
V1.00, 04/05/2021 - Initial version
V2.00, 03/28/2023 - Rewrite script to retrieve results faster
#>
# Clears the host console to make it easier to read output
Clear-Host
# Sets the path to the directory containing the log files to be processed
$logFilePath = "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpReceive\*.log"
# Sets the path to the output file that will contain the unique IP addresses
$Output = "C:\temp\IPAddresses.txt"
# Gets a list of the log files in the specified directory
$logFiles = Get-ChildItem $logFilePath
# Gets the number of log files to be processed
$count = $logFiles.Count
# Initializes an array to store the unique IP addresses
$ips = foreach ($log in $logFiles) {
# Displays progress information
$percentComplete = [int](($logFiles.IndexOf($log) + 1) / $count * 100)
$status = "Processing $($log.FullName) - $percentComplete% complete ($($logFiles.IndexOf($log)+1) of $count)"
Write-Progress -Activity "Collecting Log details" -Status $status -PercentComplete $percentComplete
# Displays the name of the log file being processed
Write-Host "Processing Log File $($log.FullName)" -ForegroundColor Magenta
# Reads the content of the log file, skipping the first five lines
$fileContent = Get-Content $log | Select-Object -Skip 5
# Loops through each line in the log file
foreach ($line in $fileContent) {
# Extracts the IP address from the socket information in the log line
$socket = $line.Split(',')[5]
$ip = $socket.Split(':')[0]
# Adds the IP address to the $ips array
$ip
}
}
# Removes duplicate IP addresses from the $ips array and sorts them alphabetically
$uniqueIps = $ips | Select-Object -Unique | Sort-Object
# Displays the list of unique IP addresses on the console
Write-Host "List of noted remove IPs:"
$uniqueIps
Write-Host
# Writes the list of unique IP addresses to the output file
$uniqueIps | Out-File $OutputÍgy néz ki a File Explorerben.
A 27. sorban módosítsa az előző lépésben keresett fogadási protokoll naplójának elérési útját.
Példánkban így néz ki:
$LogFilePath = "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpReceive\*.log"Futtassa az SMTP-Review PowerShell-szkriptet
Futtassa a PowerShellt rendszergazdaként, és futtassa az SMTP-Review.ps1 PowerShell-parancsfájlt.
Megjegyzés: Futtassa a szkriptet az összes Exchange-kiszolgálón, ha SMTP-relé van konfigurálva rajta. Például Exchange Server EX01-2016 és EX02-2016.
PS C:\> cd C:\scripts
PS C:\scripts> .\SMTP-Review.ps1A szkript végigmegy az összes fájlon, és a befejezés után látni fogja, hogy mely IP-címek használják az SMTP-relét a konzol kimenetében. Ezenkívül létrehoz egy IPAddresses.txt fájlt a C:\temp mappában található IP-címekkel.
Jegyezze fel az IP-címeket, és állítsa be az SMTP mezőt a nyomtatókban, alkalmazásokban és szervereken az új SMTP továbbítási rekordhoz.
További cikkek, amelyek érdekelhetik:
Távoli IP-címek exportálása az Exchange fogadási csatlakozójába
Távoli IP-címek importálása az Exchange fogadási csatlakozójába
Másolja át a fogadási csatlakozót egy másik Exchange kiszolgálóra
Következtetés
Megtanulta, hogyan kereshet IP-címeket az Exchange SMTP relay használatával. Engedélyezze a naplózást az SMTP-relé fogadási csatlakozón, és másolja ki a naplózási útvonalat, mielőtt elkezdené. Futtassa az SMTP-Review.ps1 PowerShell-parancsfájlt, és futtassa át az SMTP fogadási naplókon. Ne felejtse el futtatni a szkriptet az összes olyan Exchange-kiszolgálón, amelyen SMTP relé fogadási csatlakozó van konfigurálva.
Amikor a szkript befejeződik, állítsa be az SMTP rekordokat az említett IP-címeken. A szkript használatának másik kiváló módja az, hogy megtudja, mely IP-címek elavultak, és törli azokat a fogadási csatlakozó IP-címeinek listájából.
Tetszett ez a cikk? Tetszeni fog a Microsoft Exchange Server sebezhetőségének ellenőrzése is. Ne felejtsen el követni minket és megosztani ezt a cikket.




