Posted in
Windows Powershell,
Windows Server |
No Comment | 4,452 views | 13/12/2009 23:53
Windows Server 2008 R2’deki Advanced Firewall’un CMD üzerinden nasıl yönetilebileceğini bilmek ister misiniz? Şimdi bazı önemli senaryoları aşağıya eklemeye çalışacağım. İnternette pek bulabileceğiniz tipten senaryolar değil, çünkü kendim ürettim ve kendim yazdım kodlarını :)
Senaryonun temelinde, firewall üzerinde scope yapılandırmaları yatıyor. Şimdi yusufozturk.info web sunucusuna gelen erişimleri, advanced firewall ile nasıl sınırlandırabileceğimizi görelim.
10.10.10.1 nolu ip’den icmp isteklerine izin vermek (tüm icmp kapalı durumdayken)
netsh advfirewall firewall add rule name="kural1 ICMPv4" dir=in protocol=icmpv4 new remoteip=10.10.10.1 enable=yes action=allow profile=Public |
netsh advfirewall firewall add rule name="kural1 ICMPv4" dir=in protocol=icmpv4 new remoteip=10.10.10.1 enable=yes action=allow profile=Public
10.10.10.1 nolu ip’den icmp isteklerini engellemek (tüm icmp açık durumdayken)
netsh advfirewall firewall add rule name="kural2 ICMPv4" dir=in protocol=icmpv4 new remoteip=10.10.10.1 enable=yes action=block profile=Public |
netsh advfirewall firewall add rule name="kural2 ICMPv4" dir=in protocol=icmpv4 new remoteip=10.10.10.1 enable=yes action=block profile=Public
10.10.10.0/24 nolu ip bloğundan gelecek olan tüm icmp isteklerini engellemek
netsh advfirewall firewall add rule name="kural3 ICMPv4" dir=in protocol=icmpv4 new remoteip=10.10.10.0/24 enable=yes action=block profile=Public |
netsh advfirewall firewall add rule name="kural3 ICMPv4" dir=in protocol=icmpv4 new remoteip=10.10.10.0/24 enable=yes action=block profile=Public
10.10.10.0/24 nolu ip bloğundan gelecek olan tüm icmp isteklerine izin vermek
netsh advfirewall firewall add rule name="kural4 ICMPv4" dir=in protocol=icmpv4 new remoteip=10.10.10.0/24 enable=yes action=allow profile=Public |
netsh advfirewall firewall add rule name="kural4 ICMPv4" dir=in protocol=icmpv4 new remoteip=10.10.10.0/24 enable=yes action=allow profile=Public
Yukardaki örneklere uygun olarak senaryolar arttırılabilir. Örneğin belirli ip’ler için Remote Desktop erişimi açmak, diğer tüm iplere kapatmak ya da sadece belli ip’lerin SQL’e erişebilmesini sağlamak gibi. Şahsen ben Powershell ile EventLog’ları çekip, Brute Force yapan ip’leri bu komutlar ile otomatik olarak engellemek için kullanacağım.
Posted in
Exchange Server,
Windows Powershell |
No Comment | 4,234 views | 01/12/2009 02:48
Exchange Server 2010 üzerinde aşağıdaki function ile gönderi limitlerini belirleyebilirsiniz.
1
2
3
4
5
6
7
| Function Maxsize-Limits
{
Param ($FirstName, $LastName, $CustomerOU, $MaxSendSize, $MaxReceiveSize)
$ADDomain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
$ADDomain = $ADDomain.Name
Set-Mailbox –MaxSendSize "$MaxSendSize" -MaxReceiveSize "$MaxReceiveSize" -Identity "$ADDomainName/$CustomerOU/$FirstName $LastName"
} |
Function Maxsize-Limits
{
Param ($FirstName, $LastName, $CustomerOU, $MaxSendSize, $MaxReceiveSize)
$ADDomain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
$ADDomain = $ADDomain.Name
Set-Mailbox –MaxSendSize "$MaxSendSize" -MaxReceiveSize "$MaxReceiveSize" -Identity "$ADDomainName/$CustomerOU/$FirstName $LastName"
}
Kullanımı:
Maxsize-Limits –FirstName "$FirstName" –LastName "$LastName" –CustomerOU "$CustomerOU" –MaxSendSize "10 MB" -MaxReceiveSize "10 MB" |
Maxsize-Limits –FirstName "$FirstName" –LastName "$LastName" –CustomerOU "$CustomerOU" –MaxSendSize "10 MB" -MaxReceiveSize "10 MB"
Yukardaki komut sayesinde, kullanıcının alabileceği ve gönderebileceği maksimum mail boyutunu, 10 mb olarak belirlemiş durumdayız.
Posted in
Exchange Server,
Windows Powershell |
No Comment | 6,619 views | 01/12/2009 02:26
Exchange Server 2010 üzerinde aşağıdaki function ile kullanıcılara yeni mail adresleri tanımlayabilmekteyiz.
1
2
3
4
5
6
7
| function Add-MailAddress
{
Param ($MailAddress, $FirstName, $LastName, $CustomerOU)
$ADDomain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
$ADDomain = $ADDomain.Name
Set-Mailbox -EmailAddresses "SMTP:$MailAddress" -EmailAddressPolicyEnabled $false -Identity "$ADDomainName/$CustomerOU/$FirstName $LastName"
} |
function Add-MailAddress
{
Param ($MailAddress, $FirstName, $LastName, $CustomerOU)
$ADDomain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
$ADDomain = $ADDomain.Name
Set-Mailbox -EmailAddresses "SMTP:$MailAddress" -EmailAddressPolicyEnabled $false -Identity "$ADDomainName/$CustomerOU/$FirstName $LastName"
}
Kullanımı:
Add-MailAddress –MailAddress "$MailAddress" –FirstName "$FirstName" –LastName "$LastName" -CustomerOU "$CustomerOU" |
Add-MailAddress –MailAddress "$MailAddress" –FirstName "$FirstName" –LastName "$LastName" -CustomerOU "$CustomerOU"
Mail adresi tanımlama kısmında dikkat etmeniz gereken kısım SMTP olacaktır. SMTP’yi büyük harflerle yazmanız halinde, girilen mail adresi default; küçük harflerle yazılması halinde, girilen mail adresi ikincil mail adresi olacaktır. Örneğin bir kaç mail adresi tanımlanacaksa bir kullanıcıya aşağıdaki Powershell komutunu çalıştırmanız gerekecektir.
1
2
3
| $ADDomain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
$ADDomain = $ADDomain.Name
Set-Mailbox -EmailAddresses "SMTP:$MailAddress1", "smtp:$MailAddress2", "smtp:$MailAddress3" -EmailAddressPolicyEnabled $false -Identity "$ADDomainName/$CustomerOU/$FirstName $LastName" |
$ADDomain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
$ADDomain = $ADDomain.Name
Set-Mailbox -EmailAddresses "SMTP:$MailAddress1", "smtp:$MailAddress2", "smtp:$MailAddress3" -EmailAddressPolicyEnabled $false -Identity "$ADDomainName/$CustomerOU/$FirstName $LastName"
Yukarda görüldüğü gibi $MailAddress1 kullanıcının default reply adresi olacak, diğer mail adresleri ise kullanabileceği ikincil adresler olacaktır.
Posted in
Exchange Server,
Windows Powershell |
No Comment | 6,244 views | 01/12/2009 02:20
Exchange Server 2010 üzerinde aşağıdaki function ile mail hesabı yaratabilirsiniz.
1
2
3
4
5
6
7
| function Add-MailUser
{
Param ($UserID, $FirstName, $LastName, $CustomerOU)
$ADDomain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
$ADDomainName = $ADDomain.Name
Enable-Mailbox -Identity "$ADDomainName/$CustomerOU/$FirstName $LastName" -Alias "$UserID"
} |
function Add-MailUser
{
Param ($UserID, $FirstName, $LastName, $CustomerOU)
$ADDomain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
$ADDomainName = $ADDomain.Name
Enable-Mailbox -Identity "$ADDomainName/$CustomerOU/$FirstName $LastName" -Alias "$UserID"
}
Kullanımı:
Add-MailUser –UserID "$UserID" –FirstName "$FirstName" –LastName "$LastName" -CustomerOU "$CustomerOU" |
Add-MailUser –UserID "$UserID" –FirstName "$FirstName" –LastName "$LastName" -CustomerOU "$CustomerOU"
Function dosyası kullanmamızın en büyük faydası, mail hesabını daha hızlı bir şekilde açmak olacaktır.