Kategori arşivi: IIS

Udemy Microsoft IIS Eğitimimin 3. Bölümü Yayında

Merhaba arkadaşlar, malum özellikle aktif olarak sınıf eğitimine katılamayan İstanbul dışındaki veya yurt dışındaki takipçilerim için hazırladığım udemy eğitimlerime bir yenisini daha ekledim. En son yayınladığım eğitime aşağıdaki link üzerinden ulaşabilirsiniz

IIS Eğitimi Bölüm 3

Bundan önceki yayınlanmış tüm eğitimlerim ise aşağıdaki gibidir;

Exchange Server Eğitimi Bölüm1

Exchange Server Eğitimi Bölüm2

Exchange Server Eğitimi Bölüm3

Exchange Server Eğitimi Bölüm4

Exchange Server Eğitimi Bölüm5

Microsoft Active Directory ve DNS Eğitimi – Bölüm1 Giriş

IIS Eğitimi Bölüm1

IIS Eğitimi Bölüm2

Application Pool Identities Virtual Account Managed Local Account ApplicationPoolIdentity

Windows Server 2008 Sp2 ve Vista Sp2 ile beraber IIS application pool için yeni bir güvenlik çözümü sunmaktadır. Bildiğiniz gibi bir web sitesinin bağlı olduğu application pool için bir kimlik tanımlaması yapabiliyorduk. Bu tanımlama lokal veya bir domain user oluyor ve şifresinide belirli aralıklar ile değiştirmek gerekiyordu. Ancak bu yeni özellik sayesinde biz herhangi bir hesap oluşturmadan bu işlemler otomatik yapılabiliyor.

IIS6 ve IIS7 varsayılan olarak application pool için NETWORKSERVİCE olarak isimlendirdiğimiz ve windows kurulumu ile gelen built-in bir hesap kullanır. Bu hesap şifre istemez çünkü bunu windows kendi tanımlamıştır. Yine bu hesap son derece sınırlı yetkilere sahiptiki bu da zaten IIS gibi kritik bir servisin güvenliğini üst düzeye çıkarmak için yapılmış bir aksiyondur.
Ancak bu hesap aynı zamanda bu bilgisayar üzerindeki bazı diğer servisler tarafından ortak kullanılmaktadır. Bundan doğacak güvenlik açıklarını engellemek için Virtual Accounts olarak isimlendirilen ve IIS’ ın diğer servislerden ayrı olarak kendine özgü kullanabileceği hesap tipleri oluşturmasını sağlayan yeni bir özellik gelmiştir.

Eğer IIS 7.5 kullanıyorsanız açtığınız her application pool ismi için IIS Admin Process (WAS) bir virtual hesap açar ve bu application pool’ a ait olan worker process ( w3wpe.exe ) bu hesap ile çalışmaya başlar.

Eğer Windows Server 2008 ile çalışıyorsanız bu durumda Application Pool kimlik doğrulamasını değiştirmeniz gerekmektedir.

Veya bunun için komut setinide kullanabilirsiniz

%windir%\system32\inetsrv\appcmd.exe set AppPool <your AppPool> -processModel.identityType:ApplicationPoolIdentity

Özetlemek gerekirse, siz IIS üzerinden yeni bir Application pool oluşturursanız IIS Admin servisi bu pool isminde bir virtual account oluşturur ( SID’si ile birlikte ), örneğin Application pool ismi cozumpark ise cozumpark isminde bir virtual account oluşur ve ona bir SID bağlanır. İşte bu noktadan sonra IIS altındaki web sitesine ait olan kaynaklar bu SID ile korunabilir. Fakat bu hesap gerçek bir hesap olmadığı için Windows User olarak grafik ekranlarda görüşmemektedir. Ancak yinede web sitesi kaynakları için bu SID ilişkilendirmesi yapmak istiyorsanız eğer bu durumda ACL üzerinde Application pool ismi ki zaten bu virtual hesap ismidir, bunu seçebilirsiniz.

Buradaki yazım şekline dikkat edin!  “IIS AppPool\” sonrasında application pool ismi yazıyorum ve bu otomatik olarak algılanıyor, oysaki baktığınız zaman “hakanuzuner” isminde bir user yok.

Veya yine komut setini kullanabilirsiniz

ICACLS index.html /grant “IIS AppPool\hakanuzuner”:F

Windows Server 2008 R2 ve Windows 7 üzerinde çalışan IIS application pool varsayılan olarak “AppPoolIdentity” ismindeki kimlik bilgisi ile çalışmaktadır. Bu sayede IIS Worker process yani w3wp.exe bu kimlik ile çalışır. Örneğin aşağıdaki resimde olduğu gibi

Peki bu durum neden bu kadar önemli derseniz, eski sistemde yani IIS 6 ve 7 de application pool varsayılan olarak NETWORKSERVICE hesabı ile çalıştığı için aslında farklı web siteleride ortak bir hesap kullanıyordu.

Yukarıdaki şekilde de görüldüğü gibi bu açık nedeni ile bir web sitesi üzerinden aslında diğer web sitesi kaynaklarına ulaşım imkanı vardı. Oysaki bu sistemde herbir application pool ayrı bir SID ile bağlandığı için açık kapatılmıştır. Örneğin aşağıdaki komut yardımı ile application pool’ lara bağlı SID leri görebilirsiniz

icacls.exe %systemdrive%\inetpub\temp\appPools\appPool.config /save output.txt

 

Attempt to install Basic Authentication Failed with error code 0x80070643

Eğer IIS üzerinde Basic Authentication özelliğini yükler veya kaldırırken bu hatayı alıyorsanız yapacağınız işlemler aşağıdaki gibidir

1.Uninstall Windows Process Activation Service feature(uncheck the whole sub tree view for the parent node “Windows Process Activation Service” and below)
2.Reboot your system.
3.uninstall IIS. If IIS shows as uninstalled, skip this step
4.Reinstall IIS

IIS 7 Backup and Restore Yedekleme ve Geri Yükleme

Aşağıdaki script yardımı ile IIS ın config yedeğini alabilirsiniz. Unutmayın siteler ve veri tabanlarını ayrıca yedeklemeniz gerekmektedir. Bu komut ile sadece IIS config bilgileri alınır , host edilen siteler değil.

Bu komutu bir BAT yaparak kolaylıkla otomatik yedeklerde alabilirsiniz.

not ; eğer işletim sisteminiz x64 ise ve winrar programının x64 sürümünü kurmuş iseniz “C:\”Program Files (x86)”\winrar” bölümlerini “C:\”Program Files”\winrar” ile değiştirin.

cd\
cd %windir%\system32\inetsrv\
set name=IIS_7_0_Backup_%date:~6,4%_%date:~3,2%_%date:~0,2%
appcmd add backup %name%
xcopy %windir%\system32\inetsrv\backup\%name% C:\BACKUP\IIS_7.0_BACKUP\%name%\

PATH=%PATH%;C:\”Program Files (x86)”\winrar

C:\”Program Files (x86)”\winrar\winrar a -r C:\BACKUP\IIS_7.0_BACKUP\%name%.rar %name%
del /q /s C:\BACKUP\IIS_7.0_BACKUP\%name%
rd /s /q C:\BACKUP\IIS_7.0_BACKUP\%name%

peki bu yedeği nasıl geri yüklüyoruz ;

komut satırına aşağıdaki komutu yapıştırıyoruz

%windir%\system32\inetsrv\appcmd.exe list backup

bu sayede tüm yedek listelerini görebiliyoruz ve içlerinden hangisine dönmek istiyor isek aşağıdaki komut yardımı ile yedekten geri yükleme yapabiliyoruz.

%windir%\system32\inetsrv\appcmd.exe restore backup “My Backup Name”

veya bat ile değilde tek seferlik yedek almak için

%windir%\system32\inetsrv\appcmd.exe add backup “My Backup Name”

komutunu kullanabiliriz.

IIS 7.0 configuration files contain no encrypted properties before you use the Sysprep tool to deploy

Windows Vista ve sonraki işletim sistemlerinde sysprep tool ile yardımı ile işletim sistemlerinin clone kopyalarını alma şansına sahibiz. Ancak burada dikkat edilmesi gereken bir durum söz konusu . Eğer IIS 7 üzerindeki özel bilgilerin makine anahtarı ile şifrelendiğini ve sysprep ile bu makine anahtarı değiştiği için yeni makinedeki IIS servisi eski makinedeki bu bilgileri okuyamamaktadır. Örnenğin bir application pool içerisine tanımlamış olduğunu kimlik bilgisine ait olan şifre makine anahtarı ile şifrelenmektedir. Bu nedenle sysprep tool ile iis 7 yüklü bir vista ve sonraki işletim sisteminden imaj alırsanız yeni sistemde bu application pool çalışmayacaktır.

Makine anahtarı ile şifrelenen verilere bir kaç örnek aşağıdaki gibidir

  • Secure Sockets Layer (SSL) configuration information
  • The password information for accounts that are used for remote content access

Enabling Parent Paths IIS 6.0

1.In IIS Manager, double-click the local computer, right-click the starting-point directory of the application you want to configure, and then click Properties.

2.Click the Directory tab, and then click Configuration.

3.Click the Options tab.

4.In the Application configuration section, select the Enable parent paths check box.

5.Click OK