Como registrar o IP que se conecta de fora da empresa ao servidor de terminal?

1

Temos usuários RDP para os servidores de terminal da empresa. Existe uma maneira que eu possa rastrear o endereço IP fora da empresa onde os usuários se conectam?

Eu sei que existem logs disponíveis sob serviços de terminal no log de eventos, mas não vejo nenhum endereço IP público lá para conexão remota de fora da empresa.

Alguma ideia?

    
por Root Loop 10.09.2015 / 04:25

1 resposta

1

Sua pergunta não fornece informações sobre como os usuários se conectam ao seu servidor de terminal de fora. Eu suponho que há um gateway na sua empresa, que redireciona as solicitações da Internet para o servidor de terminal. Se assim for, você pode obter essas informações no log do gateway.

Se, no entanto, seu servidor de terminal estiver conectado diretamente à Internet e tiver IP público por algum motivo, talvez seja isso que pode ajudá-lo:

<#

Features:
    1) This script reads the event log "Microsoft-Windows-TerminalServices-LocalSessionManager/Operational" from multiple servers and outputs the human-readable results to a CSV.

Instructions:
    1) Before you run, edit this line to include one or several of your own servers.

Requirements:
    1) TBD


April 8 2015 - Version 0.2
Mike Crowley

http://BaselineTechnologies.com

#>


$SessionHosts = @('Server2', 'Server3', 'Server4', 'Server5')

foreach ($Server in $SessionHosts) {

    $LogFilter = @{
        LogName = 'Microsoft-Windows-TerminalServices-LocalSessionManager/Operational'
        ID = 21, 23, 24, 25
        }

    $AllEntries = Get-WinEvent -FilterHashtable $LogFilter -ComputerName $Server

    $AllEntries | Foreach { 
           $entry = [xml]$_.ToXml()
        [array]$Output += New-Object PSObject -Property @{
            TimeCreated = $_.TimeCreated
            User = $entry.Event.UserData.EventXML.User
            IPAddress = $entry.Event.UserData.EventXML.Address
            EventID = $entry.Event.System.EventID
            ServerName = $Server
            }        
           } 

}

$FilteredOutput += $Output | Select TimeCreated, User, ServerName, IPAddress, @{Name='Action';Expression={
            if ($_.EventID -eq '21'){"logon"}
            if ($_.EventID -eq '22'){"Shell start"}
            if ($_.EventID -eq '23'){"logoff"}
            if ($_.EventID -eq '24'){"disconnected"}
            if ($_.EventID -eq '25'){"reconnection"}
            }
        }

$Date = (Get-Date -Format s) -replace ":", "."
$FilteredOutput | Sort TimeCreated | Export-Csv $env:USERPROFILE\Desktop\$Date'_RDP_Report.csv -NoTypeInformation


#End

Este script do powershell do site do Microsoft Technet analisa os logs de eventos sobre as informações das sessões do RDP, incluindo o cliente IPs, e produz os resultados legíveis por humanos para um CSV.

    
por 10.09.2015 / 05:46