security_baseline_iis_v1.1_mohaymen
TRANSCRIPT
![Page 1: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/1.jpg)
کظ ثشخی اص ثشبه بی جبجی ایي عذ ؽبهل چک لیغتبی اهیتی عیغتن ػبهل یذص لی
اعالػبتی عشیظ دذ بی ة هی ثبؽذکبسثشد هبذ ثبکبی پش
چک لیست امىیتی سرير
(IISسريیس دىذ يب يیىذيز )
![Page 2: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/2.jpg)
1 چک لیست اهیتی سزر
ضثک سیستن ػاهل زم افشارای هن
ظیوات اهیتی ) Security Auditingایي چک لیست جت تزرسی ت رد استفاد قزار هی گیزد ( ه
وایذ در صرت ػذم ارسیاب تا تج ت پیکزتذی فؼلی سزر اقذام ت تاییذ یا ػذم تاییذ هار د اهیتی هی
ادی) ا ارائ ضذ ایي هارد Best Practicesرػایت کات پیط ( ک تسط ضزکتای ساسذ زم افشار
تزای اصالح ت تین اهي ساسی ) ذ ضذ تذیی Security Hardeningضاسایی ( ارجاع داد خا
سط هالک در صرت ػذم رفغ هطکالت ضاسایی ضذ ت سزر ایي هارد ت ػاى ریسک در ظز است ک
خاذ ضذ . گزفت
حق مالکیت سىذ
------------------------------------ت وشاوی -----------------------ایه سىذ در مالکیت
تد ي شامل اطالعات محرماو ي تجاري است. مالکیت ایه سىذ را ومی تان تذين کسة اجاز
کذام از اقالم ایه ت شخص حقیقی یا حققی دیگري اوتقال داد. یچ مذیریت شرکتکتثی از
------------------------------------------تان تذين اجاز کتثی از سىذ را ومی مرد استفاد
ومد، یا مىتشر کرد. قرار داد، مجذدا استفاد
![Page 3: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/3.jpg)
2 شىاسىام ارزیاتی امىیتی
آدرس دارایی :
:پیماوکار : کارفرما
وام ارزیاب : محل ارزیاتی :
:مالک دارایی وام تجیسات شثک سرير : وع دارایی
تاریخ پایان ارزیاتی : تاریخ شريع ارزیاتی :
Full Access Limited Access Document Basedوع ارزیاتی :
![Page 4: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/4.jpg)
3 IISتنظیمات امنیتی مبتنی بر
تنظیمات پایه
ای سیستویدرای ری اطویاى اس قزار گزفتي دایزکتری ای هجاسی ػاى : هتؾش هی ؽد، تعظ دایشکتسی بی هجبصی ثش سی هکبى بی IISهبثغ ة ک تعظ تضیحبت :
هی ؽد دایشکتسی بی هجبصی ثش سی فیضیکی سی بسددیغک قشاس هی گیشذ.تفی
پبستیؾي بی عیغتوی قشاس گیشذ صیشا ایي کبس ن ثبػث اؽغبل ؽذى فضبی فبیل بی
دس فست آعیت پزیش عیغتوی تعظ ایي فبیل ب هی ؽد ن ایي اهکبى جد داسد ک
فبیل دس ة عبیت یب ة اپلیکیؾي، هحشهبگی یکپبسچگی اعالػبت فبیل بی IOثدى
عیغتوی تحت تأثیش قشاس گیشد
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
هجبصی ثش سی دسای عیغتوی دعتس صیش اجشا ثشای اعویبى اص قشاس گشفتي دایشکتسی بی سػ پیبد عبصی :
ؽد:
%systemroot%\system23\inetsrv\appcmd list vdir
دس فست قشاس گشفتي دایشکتسی بی هجبصی ثش سی دسای عیغتوی هی ثبیغتی کبسبی
صیش اجبم ؽد:
\C:\inetpub\wwwrootهؾبذ ی هحتای ة دس .1
دادى آى ث فضبی هحذد ؽذ ی فبیل بی اختقبؿکپی یب کبت کشدى هحتی .3
جض دسایبی عیغتوی( هبذ \D:\webrootة )ث
تغییش دادى هؼکظ کشدى توبهی اپلیکیؾي ب دایشکتسی بی هجبصی ثش سی .2
فضبی جذیذ ث فست صیش:
I. Expand the server node
II. Expand Sites
III. Expand Default Web Site
IV. Click on app1
V. In the Actions pane, select Basic Settings
VI. In the Physical path text box, put the new location of the
application, D:\wwwroot\app1 in the example above
http://technet.microsoft.com/en-us/library/cc169961.aspx لیکب هبثغ :
http://blog.iis.net/thomad/archive/3222/23/12/moving-the-iis6-inetpub-directory-
to-a-different-drive.aspx
ری تواهی سایت ا Host Headerپیکزتذی ػاى : داسای یک Hostقبثلیتی سا ثشای Host Header تضیحبت : پست هی ثبؽذ IPچذیي ة عبیت ک
هی ؽد ثشای توبهی عبیت بی پیکشثذی ؽد. ایجبد هی کذ ث ویي دلیل تفی
اص هی ؽد وچیي DNS rebindingهبغ اجبم هفقیت آهیض حوالت Host Hederاعتفبد
یب تؾخیـ تؼبهل ثب اپلیکیؾي جلگیشی IPاص اجبم هفقیت آهیض اعکي بی هجتی ثش
هی کذ.
![Page 5: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/5.jpg)
4 بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
دعتس صیش اجشا ؽد: Host Headerثشای ثشسعی پیکشثذی سػ پیبد عبصی :
%systemroot%\system23\inetsrv\appcmd list sites
هغبثق صیش ػول ؽد: Default Web Siteثش سی Host Headerثشای پیکشثذی
1. Open IIS Manager
3. In the Connections pane expand the Sites node and select Default Web Site
2. In the Actions pane click Bindings
4. In the Site Bindings dialog box, select the binding for which host headers are
going to be configured, Port 22 in this example
5. Click Edit
6. Under host name, enter the sites FQDN, such as www.examplesite.com
6. Click OK, then Close
http://technet.microsoft.com/en-us/library/cc652195332WS.12339.aspx لیکب هبثغ :
http://crypto.stanford.edu/dns/dns-rebinding.pdf
http://www.sslshopper.com/article-ssl-host-headers-in-iis-6.html
http://blogs.iis.net/thomad/archive/3222/21/35/ssl-certificates-on-sites-with-host-
headers.aspx
Directory Browsingغیز فؼال کزدى ػاى :
ا هی دذ تب هحتای یک دایشکتسی اص عشیق اسعبل ایي اجبص س Directory Browsing تضیحبت :
دس شکذام IISدسخاعت تعظ کبسثشوبیؼ داد ؽد. دس فست فؼبل ثدى ایي یژگی دس
هی ثیذ: اص ؽشایظ صیش کبسثش لیغتی اص هحتای دایشکتسی سا دس ففخ
فبیل هؾخقی دسURL .ؾذ ثبؽذ دسخاعت داد
یژگیDefault Documents دسIISغیش فؼبل ثبؽذ یب دسفست فؼبل ثدى، IIS تاذ
وخای IISهجد دس Default Document Listهکبى فبیل سا دس دایشکتسی ک ثب
داسد، پیذا کذ.
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
دعتس صیش اجشا ؽد: Directory Browsingثشای اعویبى اص غیش فؼبل ثدى سػ پیبد عبصی :
%systemroot%\system23\inetsrv\appcmd list config /section:directoryBrowse
دس فست پیکشثذی ث سػ پیؾبدی هی ثبیغتی صیش وبیؼ داد ؽد: ث فستک
<system.webServer>
<directoryBrowse enabled="false" />
<system.webServer>
http://technet.microsoft.com/en-us/library/cc635242332WS.12339.aspx لیکب هبثغ :
http://technet.microsoft.com/en-us/library/cc621129332WS.12339.aspx
تز ری کوتزیي سطح دستزسی Application Pool Identityتظین پیص فزض قزار دادى ػاى : -ب اػوبل هجبص کبسثشاى هغئلیی هی ثبؽذ ک ثب Application Pool Identitie تضیحبت :
![Page 6: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/6.jpg)
5 w2wp.exe کبس هی کذ سا هؾخـ هی کذ.اختقبؿ دادى فحیح هاسد ثبال کوک هی کذ
تب اعویبى حبفل ؽد ک تاثغ اپلیکیؾي ب ث دسعتی کبس هی کذ. یت کبسثشاى
بیی ک تعظ عیغتن هحبفظت هی ؽذ، گشفت هی ؽد. ACLهغئالى یض اص
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
تغییش یبفت، ApplicationPoolIdentityث DefaultAppPool identityثشای ثشسعی ایک آیب سػ پیبد عبصی :
دعتس صیش اجشا ؽد:
%systemroot%\system23\inetsrv\appcmd list config /section:applicationPools
IIS Managerهی ثبیغتی ثشای اپلیکیؾی ک اص Application Pool identityپیؼ فشك
GUI اعتفبد هی کذ تظین ؽد تب اص دعتسAppCmd.exe دسCLI یذص یب اعکشیپت
WMI.ث فست هغتقین فبیل بی پیکشثذی سا تغییش دذ ،
دس ث فست صیش تغییش هی IISدس ApplicationPoolIdentityیت پیؼ فشك عبخت ؽذ
یبثذ:
1. Open the IIS Manager GUI
3. In the connections pane, expand the server node and click Application Pools
2. On the Application Pools page, select the DefaultAppPool, and then click
Advanced Settings in the Actions pane
4. For the Identity property, click the '...' button to open the Application Pool
Identity dialog box
5. Select the Built-in account option choose ApplicationPoolIdentity from the list, or
input a unique application user created for this purpose
6. Restart IIS
دس ثش ؽذ اص دعتس ApplicationPoolIdentityای تغییش یت پیؼ فشك عبخت
AppCmd.exe :هی ؽد هبذ صیش اعتفبد
%systemroot%\system23\inetsrv\appcmd set config /section:applicationPools
/[name='DefaultAppPool'].processModel.identityType:ApplicationPoolIdentity
فست تؼشیف دعتی کبسثشاى یذص هبذ اکبت بی عشیظ، کبسثش یبصهذ ایي اعت ک دس
ث توبهی فبیل بی ضشسی هبثغ IIS_IUSRS groupثبؽذ. IIS_IUSRS groupػضی اص
ایي گش هی ؽدهی تاذ ث عیغتن دعتشعی داسذ ثبثشایي قتی یک اکبت ػض
یکپبسچ ػول کذ application pool identityػاى یک
http://technet.microsoft.com/en-us/library/cc661162332WS.12339.aspx لیکب هبثغ :
http://learn.iis.net/page.aspx/142/understanding-built-in-user-and-groupaccounts-
in-iis-6/
ا تحت یک یت Application Pool فؼالیت اطویاى اس ػاى : اص یک یت Application Poolsتظین تضیحبت : ک خغشات ثبلقکبؼ ث هظسثشای اعتفبد
هی تاذ اپلیکیؾي سا دس هؼشك خغش قشاس دذ.
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
ثبؽذ، ApplicationPoolIdentityسی ب Application Poolثشای ثشسعی ایک سػ پیبد عبصی : تظین ؽذ
هغبثق صیش ػول هی ؽد:
![Page 7: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/7.jpg)
6 1. Open IIS Manager
3. Open the Application Pools node underneath the machine node; select
Application Pool to be verified
2. Right click the Application Pool and select Advanced Settings…
4. Under the Process Model section, locate the Identity option and ensure that
ApplicationPoolIdentity is set
appcmd.exe اص دعتس Application Poolثشای پیکشثذی یت سی هغبثق صیش اعتفبد
هی ؽد:
%systemroot%\system23\inetsrv\appcmd set config /section:applicationPools
/[name='DefaultAppPool'].processModel.identityType:ApplicationPoolIdentity
http://technet.microsoft.com/en-us/library/cc652449332WS.12339.aspx لیکب هبثغ :
http://blogs.iis.net/tomwoolums/archive/1//2001002/iis-2-/-applicationpools.aspx
http://learn.iis.net/page.aspx/634/application-pool-identities/
ا تزای سایت ا Application Poolاطویاى اس هحصز ت فزد تدى ػاى : ایجبد کشد ک ث Application Pool Identitiesیک یژگی اهیتی جذیذ ثب بم IISv2.2 تضیحبت :
Application Pool ب هجص اجشا تحت یک اکبت ثذى یبص ث تؼشیف پیبم لکبل یب داهیي سا
هی دذ.
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
اص دعتس سػ پیبد عبصی : توبهی پیکشثذی اپلیکیؾي ب، هغبثق صیش هی تاى appcmd.exeثب اعتفبد
آى ب application pool identityآى ب application poolعبیتی ک آى ب دس آى غتذ،
سا ثشسعی کشد:
%systemroot%\system23\inetsrv\appcmd list app
ثشای پیکشثذی هی ثبیغتی هغبثق صیش ػول ؽد:
1. Open IIS Manager
3. Open the Sites node underneath the machine node
2. Select the Site to be changed
4. In the Actions pane, select Basic Settings
5. Click the Select… box next to the Application Pool text box
6. Select the desired Application Pool
6. Once selected, click OK
http://technet.microsoft.com/en-us/library/cc652449332WS.12339.aspx : لیکب هبثغ
http://blogs.iis.net/tomwoolums/archive/3222/13/16/iis-6-2-applicationpools.aspx
http://learn.iis.net/page.aspx/634/application-pool-identities/
Application Pool Identityتزای استفاد اس Anonymous User Identityپیکزتذی ػاى : IISت بی هجضا اجشا کشد. ب سا ثب ی application poolهی تاى IISv2ثشای ایضل کشدى تضیحبت :
ای پیکشثذی ؽد تب دس فستیک ثشای ة عبیت تؼشیف اکبت بؽبعیهی تاذ ثگ
کذ. application pool identityؾذ ثبؽذ، ث فست اتهبتیک اص پیکشثذی یت اعتفبد
![Page 8: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/8.jpg)
7 اص کبسثشاى بؽبط ث ایضل کشدى عبیت کوک application pool identityثشای اعتفبد
هی کذ.
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
اص فبیل سػ پیبد عبصی : اعویبى اص usernameثشای تأییذ هؾخقبت applicationHost.configاعتفبد
ؽذ ثبؽذ: anonymousAuthentication tagایک هبذ صیش خبلی قشاس داد
<system.webServer>
<security>
<authentication>
<anonymousAuthentication userName="" />
</authentication>
</security>
</system.webServer>
هی IISدس anonymousAuthentication nodeدس usernameهؾخقبت ثشای پیکشثذی
ثبیغتی هغبثق صیش ػول ؽد:
1. Open the IIS Manager GUI and navigate to the desired server, site, or
application
3. In Features View, find and double-click the Authentication icon
2. Select the Anonymous Authentication option and in the Actions pane select
Edit...
4. Choose Application pool identity in the modal window and then press the OK
button
1. Open the IIS Manager GUI and navigate to the desired server, site, or
application
3. In Features View, find and double-click the Authentication icon
2. Select the Anonymous Authentication option and in the Actions pane select
Edit...
4. Choose Application pool identity in the modal window and then press the OK
button
اص دس عغح عشس anonymousAuthenticationثشای پیکشثذی AppCmd.exeثشای اعتفبد
هی ثبیغتی هبذ صیش ػول ؽد:
%windir%\system23\inetsrv\appcmd set config - section:anonymousAuthentication
/username:"" --password
/http://learn.iis.net/page.aspx/323/application-pool-identity-as-anonymous-user لیکب هبثغ :
http://learn.iis.net/page.aspx/634/application-pool-identities/
Application Pool Identityا تزای اجزا ت ػاى Application Poolپیکزتذی ػاى : ب ایي اجبص سا هی دذ تب ثب یک اکبت Application Poolث Application Pool Identity تضیحبت :
. بم اکبت ثذى یبص ث ایجبد کتشل داهیي یب اکبت بی لکبل، اجشا ؽد هحقش ث فشد
Application Pool ث بمApplication Pool اثغت هی ثبؽذApplication Pool Identity دس
![Page 9: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/9.jpg)
8 ب تظین Application Poolهؼشفی ؽذ. پیؾبد هی ؽد Server 3222 SP3یذص
اجشا ؽذ. ApplicationPoolIdentityؽذ تب ث ػاى
ب ثشای اعتفبد اص کوتشیي اهتیبص یت هبذ Application Poolتظین
ApplicationPoolIdentity .ث هظس کبؼ خغشات ثبلق یت اجبم هی ؽد
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
هی ثبیغتی هؾبث ApplicationPoolIdentityث DefaultAppPool identityدس فست تغییش سػ پیبد عبصی :
دعتسات صیش اجشا ؽد:
%systemroot%\system23\inetsrv\appcmd list config /section:applicationPools
دس IISهی ثبیغتی دس ApplicationPoolIdentityثشای تغییش یت پیؼ فشك تؼشیف ؽذد
کبسبی صیش اجبم ؽد:
1. Open the IIS Manager GUI
3. In the connections pane, expand the server node and click Application Pools
2. On the Application Pools page, select the DefaultAppPool, and then click
Advanced
Settings in the Actions pane
4. For the Identity property, click the '...' button to open the Application
PoolIdentity dialog box
5. Select the Built-in account option choose ApplicationPoolIdentity from the list
6. Restart IIS
دس DefaultAppPool identityثشای تغییش اص دعتس ApplicationPoolIdentityتؼشیف ؽذ
AppCmd.exe هی ؽد:هغبثق صیش اعتفبد
%systemroot%\system23\inetsrv\appcmd set config /section:applicationPools
/[name='<Your AppPool>'].processModel.identityType:ApplicationPoolIdentity
/http://learn.iis.net/page.aspx/634/application-pool-identities لیکب هبثغ :
استفاد اس پزتکل ای رهشگاری قی ػاى : غیش فؼبل ؽذ SSL 3.2 PCT 1.2پیؾبد هی ؽد پشتکل بی سهض گبسی ضؼجف تضیحبت :
اص Diffie-Hellman Ephemeral. پیؾبد هی ؽد اص پشتکل SSL 2.2 TLS 1.xاعتفبد
(DHE ثشای )PFS .ؽد اعتفبد
هی ثبیغتی پشتکل بی ضؼیف غیشفؼبل ؽد. SSLثش سی عشیظ بی هجتی ثش
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
دعتس SP3ثش سی PCT 1.2ثشای اعویبى اص غیش فؼبل ثدى پشتکل سػ پیبد عبصی : هی ثبیغتی هؾبث
ؽد . )ث فست پیؼ فشصیش اعتفبد یب هقذاسی ك غیش فؼبل هی ثبؽذ( )اعویبى اص ایک
ثبؽذ تظین ؽذ ثبؽذ(: 2سی یب جد ذاؽت
HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\P
CT1.2\Server\Enabled
دعتس صیش R3ثش سی PCT 1.2ثشای اعویبى اص غیش فؼبل ثدى پشتکل هی ثبیغتی هؾبث
ؽد فست پیؼ فشاعتفبد تظین 2)اعویبى اص ایک ثش سی ك غیش فؼبل هی ثبؽذ( )ث
ؽذ ثبؽذ(:
![Page 10: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/10.jpg)
9 HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\P
CT1.2\Server\DisabledByDefault
هی ثبیغتی هؾبث R3 SP3ثش سی SSL 3.2ثشای اعویبى اص غیش فؼبل ثدى پشتکل
ؽد ثش سی ست پیؼ فش)ث فدعتس صیش اعتفبد 2ك فؼبل هی ثبؽذ( )اعویبى اص ایک
تظین ؽذ ثبؽذ(:
HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\S
SL3.2\Server\Enabled
دعتس R3 SP3ثش سی SSL 2.2ثشای اعویبى اص فؼبل ثدى پشتکل هی ثبیغتی هؾبث
فست پیؼ فشؽد صیش اعتفبد )ث یب هقذاسی جد ك فؼبل هی ثبؽذ( )اعویبى اص ایک
ثبؽذ یب تظین ؽذ ثبؽذ(: ffffffسی ذاؽت
HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\S
SL2.2\Server\Enabled
دعتس R3 SP3ی ثش س TLS 1.2ثشای اعویبى اص فؼبل ثدى پشتکل هی ثبیغتی هؾبث
ؽد فست پیؼ فشصیش اعتفبد )ث یب هقذاسی جد ك فؼبل هی ثبؽذ( )اعویبى اص ایک
ثبؽذ یب تظین ؽذ ثبؽذ(: ffffffسی ذاؽت
HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\T
LS1.2\Server\Enabled
دعتس صیش R3ثش سی TLS 1.1ثشای اعویبى اص فؼبل ثدى پشتکل هی ثبیغتی هؾبث
ثش سی ؽد )اعویبى اص ایک :تظین ؽذ ثبؽذ( 2اعتفبد
HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\T
LS1.1\Server\DisabledByDefault
دعتس صیش R3ثش سی TLS 1.3فؼبل ثدى پشتکل ثشای اعویبى اص هی ثبیغتی هؾبث
ثش سی ؽد )اعویبى اص ایک تظین ؽذ ثبؽذ(: 2اعتفبد
HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\T
LS1.3\Server\DisabledByDefault
http://support.microsoft.com/kb/126492/en-us لیکب هبثغ :
http://support.microsoft.com/default.aspx?scid=kb;EN-US;345222
http://technet.microsoft.com/en-us/security/advisory/3522512
http://blogs.technet.com/b/erezs_iis_blog/archive/3212/22/33/perfect-secrecyin-
an-imperfect-world.aspx
Weak Cipher Suitesغیز فؼال کزدى ػاى : تضیحب
ت :
SSL 2.2 TLS 1.2 اص cipherبی هختلف فشان هی کذ. ش cipher suiteاختیبساتی سا ثشای اعتفبد
suite یک کلیذ ثشای تجبدل، احشاص یت، سهضگزاسی الگسیتن بیMac دس ؾغت بی هسد اعتفبد
SSL/TLS تلیذ هی کذ. پیؾبد هی ؽدcipher suite .بی ضؼیف غیش فؼبل ؽذ
ضؼیت
: تغت
بهفق -هفق
هیضاى سیغک :
صیبد -هتعظ –کن
سػ
پیبد
عبصی :
ؽد )اعویبى DES 56/56ثشای اعویبى اص غیش فؼبل ثدى سهض دعتس صیش اعتفبد هی ثبیغتی هؾبث
ثبؽذ یب اص ایک ثبؽذ(: 2سی یب هقذاسی جد ذاؽت تظین ؽذ
HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\DES 56/56
![Page 11: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/11.jpg)
10
دعتس صیش اعتفبد ؽد )اعویبى اص NULLثشای اعویبى اص غیش فؼبل ثدى سهض هی ثبیغتی هؾبث
ثبؽذ یب ایک تظین ؽذ ثبؽذ(: 2سی یب هقذاسی جد ذاؽت
HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\NULL\Enabled
ؽد هی ثبیغتی هؾبث RC3 42/132ثشای اعویبى اص غیش فؼبل ثدى سهض دعتس صیش اعتفبد
ثبؽذ یب )اعویبى اص ایک تظین ؽذ ثبؽذ(: 2سی یب هقذاسی جد ذاؽت
HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC342/132\E
nabled
ؽد RC3 56/132ثشای اعویبى اص غیش فؼبل ثدى سهض دعتس صیش اعتفبد هی ثبیغتی هؾبث
ثبؽذ یب )اعویبى اص ایک تظین ؽذ ثبؽذ(: 2سی یب هقذاسی جد ذاؽت
HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC356/132\E
nabled
ؽد RC4 42/132ثشای اعویبى اص غیش فؼبل ثدى سهض دعتس صیش اعتفبد هی ثبیغتی هؾبث
ثبؽذ یب )اعویبى اص ایک تظین ؽذ ثبؽذ(: 2سی یب هقذاسی جد ذاؽت
HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC442/132\E
nabled
ؽد هی ثبیغتی RC4 56/132ثشای اعویبى اص غیش فؼبل ثدى سهض دعتس صیش اعتفبد هؾبث
ثبؽذ یب )اعویبى اص ایک تظین ؽذ ثبؽذ(: 2سی یب هقذاسی جد ذاؽت
HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC456/132\E
nabled
دع RC4 64/132ثشای اعویبى اص غیش فؼبل ثدى سهض ؽد هی ثبیغتی هؾبث تس صیش اعتفبد
ثبؽذ یب )اعویبى اص ایک تظین ؽذ ثبؽذ(: 2سی یب هقذاسی جد ذاؽت
HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC464/132\E
nabled
دعتس صیش RC4 132/132ثشای اعویبى اص غیش فؼبل ثدى سهض ؽد هی ثبیغتی هؾبث اعتفبد
ثبؽذ یب )اعویبى اص ایک تظین ؽذ ثبؽذ(: 2سی یب هقذاسی جد ذاؽت
HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4132/132\
Enabled
دعتس صیش اعتف Triple DES 162/162ثشای اعویبى اص فؼبل ثدى سهض ؽد هی ثبیغتی هؾبث بد
ثبؽذ یب )اعویبى اص ایک تظین ؽذ ثبؽذ(: ffffffffسی یب هقذاسی جد ذاؽت
HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\Triple
DES162/162\Enabled
دعتس صیش AES 356/356ثشای اعویبى اص فؼبل ثدى سهض ؽد )هی ثبیغتی هؾبث اعویبى اعتفبد
تظین ؽذ ثبؽذ(: ffffffffسی اص ایک
HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\AES356/356\
Enabled
لیکب
هبثغ :
https://www.owasp.org/index.php/Testing_for_SSL-TLS_332OWASP-CM-221339
http://support.microsoft.com/kb/345222/en-us
http://msdn.microsoft.com/en-us/library/aa264656332v=vs.25339.aspx
http://msdn.microsoft.com/en-us/library/aa222513332v=vs.25339.aspx
HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4
132/132\Enabled
![Page 12: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/12.jpg)
11
FTPهحذدیت تز ری تؼذاد تالش ای رد ت فؼال کزدى ػاى :
bruteداسای یژگی اهیت ؽجک هی ثبؽذ ک ث فست اتهبتیک جلی حوالت IIS 2.2 تضیحبت :
force ثش سیFTP هی ثذد. دس ایي تظین هی ثبیغتی هبکضیون تؼذاد دفؼبتی تالػ
Connection closed by‘تؼییي ؽد ک پظ اص آى کبسثش پیبم FTPبهفق ثشای سد ث
remote host’ .سا دسیبفت هی کذ استجبعؼ قغغ هی ؽد
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
ایي تظین ث فست پیؼ فشك فؼبل ؾذ اعت. ثشای پیکشثذی ایي تظین هی ثبیغتی سػ پیبد عبصی :
هاسد صیش اجبم ؽد:
1. Open IIS Manager
3. At the server level, open the FTP Logon Attempt Restrictions feature.
2. Check Enable FTP Logon Attempt Restrictions and enter the maximum number
of failed attempts and the time period. Enable Deny IP addresses based on the
number of failed login attempts.
4. Click Apply
-http://www.iis.net/learn/get-started/whats-new-in-iis-2/iis-22-ftp-logon لیکب هبثغ :
attemptrestrictions
Dynamic IP Addressهحذدیت تز ری فؼال کزدى ػاى :
هؼشفی کشد ک ثشای جلگیشی اص حوالت Dynamic IP Addressهحذدیت بیی ثشای IIS 2 تضیحبت :
DDoS هی ؽد. ایي تظین ثب ایجبد هحذدیت بی ک ث فست IP Addressاعتفبد
دعتی تؼشیف هی ؽد، تفبت داسد.
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
ایي تظین ث فست پیؼ فشك فؼبل ؾذ اعت. ثشای پیکشثذی ایي تظین هی ثبیغتی سػ پیبد عبصی :
هاسد صیش اجبم ؽد:
1. Open IIS Manager.
3. Open the IP Address and Domain Restrictions feature.
2. Click Edit Dynamic Restrictions Settings..
4. Check the Deny IP Address based on the number of concurrent requests and
the Deny IP Address based on the number of requests over a period of time boxes.
The values can be tweaked as needed for your specific environment.
-http://www.iis.net/learn/get-started/whats-new-in-iis-2/iis-22-dynamic-ipaddress لیکب هبثغ :
restrictions
IISLockdown & URLScan
IISLockdown صة اجزای ػاى :
![Page 13: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/13.jpg)
12
دعتشط ثشای فرگشاى ایي اثضاس ثب غیش فؼبل کشدى یژگی بی غیش ضشسی عغح حوالت دس تضیحبت :
کشد: سا کبؼ هی دذ. تعظ اثضاس هی تاى اص هاسد صیش اعتفبد
دایشکتسی بی هجبصی ایجبد ؽذ ث فست IISHelp ،IISAdmin ،Scriptپبک کشدى ب
پیؼ فشك
بی ثذى اعتفبد script mappingایوي عبصی
anonymous Web usersسیی هحتای ة ثشای Writeغیش فؼبل کشدى قبثلیت
administrative toolsثش سی Executeغیش فؼبل کشدى هجص
metabaseپؾتیجبى گیشی اص
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
ثشای پیکشثذی ایي اثضاس هی تاى اص لیک صیش اعتفبد کشد: سػ پیبد عبصی :
https://support.microsoft.com/en-us/kb/216292
https://technet.microsoft.com/en-us/library/dd34/221.aspx لیکب هبثغ :
https://support.microsoft.com/en-us/kb/216292
URLScanصة پیکزتذی ػاى :
ایي اثضاس داسای قبثلیت بی صیش هی ثبؽذ: تضیحبت :
DenyExtensions : ایي یژگی ثشای هحذد کشدى فبیل بی داسای پغذ بهؼتجش اعتفبد
هی ؽد.
DenyVerbs ایي یژگی ثشای هحذد کشدى افؼبل خبؿ :HTTP هبذ(TRACE/TRACK,
DELETE, OPTIONS, PROPFIND.هی ؽد ( اعتفبد
DenyHeaders ایي یژگی ثشای هحذد کشدى ذسبی خبؿ :HTTP .هی ؽد اعتفبد
RemoveServerHeader ایي یژگی ثشای حزف یب تغییش اعالػبت هشثط ث عشس دس پبعخ :
اسعبلی ث کالیت هی ثبؽذ.
NormalizeUrlBeforeScan ،VerifyNormalization ،DenyUrlSequences ،AllowDotInPath ،
EnableLogging, PerProcessLogging, and PerDayLogging ،AllowLateScanning ...
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
کشد: URLScanثشای دالد سػ پیبد عبصی : هی تاى اص لیک صیش اعتفبد
http://www.microsoft.com/downloads/details.aspx?familyid=32d12926-dd6e-
4612-9932-6f94ef1c923a&displaylang=en
https://support.microsoft.com/en-us/kb/215333 لیکب هبثغ :
http://www.microsoft.com/downloads/details.aspx?familyid=32d12926-dd6e-
4612-9932-6f94ef1c923a&displaylang=en
http://www.iis.net/learn/extensions/working-with-urlscan/urlscan-setup
http://www.iis.net/learn/extensions/working-with-urlscan/urlscan-overview
پیکربندی احراز هویت
تزای هحذد کزدى دستزسی Global Authorization Ruleپیکزتذی ػاى : هی ثبیغتی اعویبى حبفل ؽد ک ایي تظین Global Authorization Ruleثشای پیکشثذی تضیحبت :
![Page 14: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/14.jpg)
13
ثش سی توبهی دایشکتسی بی صیشیي آى دایشکتسی یض اػوبل ؽد وچیي دعتشعی ث
یض هحذد ثبؽذ. web.configفبیل
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
سػ پیبد عبصی : ثگ ای تؼشیف ؽذ ثبؽذ ک فقظ اػضبی گش authorization ruleثشای اعویبى اص ایک
Administrator اهکبى هؾبذ ثبص کشدى فبیلweb.config سا داسذ. ثشای پیکشثذی هبذ
صیش ػول هی کجن:
site/application/content:
<configuration>
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Allow" roles="administrators" />
</authorization>
</security>
</system.webServer>
</configuration>
کین:هغبثق صیش ػول هی IISدس URL Authorizationثشای پیکشثذی
1. Connect to Internet Information Services (IIS Manager)
3. Select the server
2. Select Authorization Rules
4. Remove the "Allow All Users" rule
5. Click Add Allow Rule…
6. Allow access to the user(s), user groups, or roles that are authorized across all
of the web sites and applications (e.g. the Administratorsgroup)
/http://learn.iis.net/page.aspx/143/understanding-iis-62-url-authorization لیکب هبثغ :
http://learn.iis.net/page.aspx/112/changes-between-iis6-and-iis6-security/
اطویاى اس هحذد تدى دستزسی ت یژگی ای حیاتی سایت ػاى : تضیحبت :
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
سػ پیبد عبصی :
لیکب هبثغ :
در تواهی فزم ای احزاس یت SSLاطویاى اس جد ػاى : دس ؽجک ػجس دذ clear textاحشاص یت هجتی ثش فشم ب هی تاذ اعالػبت اػتجبسی سا تضیحبت :
اص اسی ؽذ اتقبل زگسهض SSLثبثشایي الضاهی اعت ک تشافیک ثیي کبسثش عشس ثب اعتفبد
. پیؾبد هی ؽد ک استجبعبت ثیي ثخؼ بی هختلف عبیتی ک اص احشاص یت فشم یبثذ
![Page 15: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/15.jpg)
14
ؽد. SSLهی کذ، اص سهضگزاسی ب اعتفبد اعتفبد
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
سا web.configثشای فشم بی احشاص یت یک عبیت، فبیل SSLث هظس ثشسعی فؼبل ثدى سػ پیبد عبصی :
هاسد صیش ثشسعی هی ؽد: ؽذ هؾبذ
فشم بی احشاص یت فؼبل
tag : <forms requireSSL="true" />: .ثش سی آى ب تظین ؽذ ثبؽذ
پیکشثذی ایي تظین ث فست صیش اجبم هی ؽد:
1. Open IIS Manager and navigate to the appropriate tier
3. In Features View, double-click Authentication
2. On the Authentication page, select Forms Authentication
4. In the Actions pane, click Edit
5. Check the Requires SSL checkbox in the cookie settings section, click OK
http://technet.microsoft.com/en-us/library/cc661266(WS.12).aspx لیکب هبثغ :
پیکزتذی فزم ای احزاس یت تزای استفاد اس ککی ػاى : دس حبل SIDفشم بی احشاص یت هی تاذ ثگ ای پیکشثذی ؽذ ک تضیحبت : کبسثشی ک
اص عبیت هی ثبؽذ، دس یک اص ککی ثشای یب ککی ثبقی ثوبذ. URIاعتفبد اعتفبد
ی sessionهذیشیت ، سیغک URLاص اتقبل اعالػبت ککی دس ASP.NETهغ کشدى ثعیل
دس sessionسا کبؼ هی دذ. دس فست اتقبل اعالػبت session hi-jackingتالػ بی
URL ؽد یب اهکبى هوکي اعت دس الگ بی پشکغی، تبسیخچ ی هشسگش وبیؼ داد
اص اعکشیپت آسد.فشان document.locationدعتشعی ث کالیت سا ثب اعتفبد
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
forms> سا ثبص کشد جد " web.configثشای ثشسعی اپلیکیؾي هی ثبیغتی فبیل سػ پیبد عبصی :
cookieless="UseCookies" /> "دس آى سا تأییذ ؽد:
<system.web>
<authentication>
<forms cookieless="UseCookies" requireSSL="true" timeout="22" />
</authentication>
</system.web>
پیکشثذی ایي تظین ث فست صیش اجبم هی ؽد:
1. Open IIS Manager and navigate to the level where Forms Authentication is
enabled
3. In Features View, double-click Authentication
2. On the Authentication page, select Forms Authentication
4. In the Actions pane, click Edit
5. In the Cookie settings section, select Use cookies from the Mode dropdown
http://technet.microsoft.com/en-us/library/cc623222332WS.12339.aspx لیکب هبثغ :
![Page 16: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/16.jpg)
15
تزای فزم ای احزاس یت Cookie Protection Modeپیکزتذی ػاى : هذ ثشای هحبفظت اص ککی بی تؼشیف ؽذ اعت:4 تضیحبت :
Encryption and validation دس ایي تظین اص الگسیتن اػتجبس عجی داد :riple-DES
(2DES) داؽتي عل کلیذ ثب هی کذ )دس فست دس دعتشعجدى ثشای سهضگبسی اعتفبد
عل هبعت(
None :Encryption validation .دسای اهیت پبییی اعت شد غیش فؼبل هی ثبؽذ
Encryption :ص ککی سا ثب اعتفبد اTriple-DES یبDES سهضگزاسی هی کذ لی اػتجبس
ب اجبم وی ؽد. عجی داد
Validation داسای عشحی ثشای اػتجبس عجی ککی ب هی ثبؽذ لی ککی ب دس حیي :
اتقبل سهضراسی وی ؽذ.
قشاس گیشد. Encryption and validationپیؾبد هی ؽد هذ هحبفظت اص ککی ب سی
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
forms> سا ثبص کشد جد " web.configثشای ثشسعی اپلیکیؾي هی ثبیغتی فبیل سػ پیبد عبصی :
protection="All" />:دس آى سا تأییذ ؽد"
<system.web>
<authentication>
<forms cookieless="UseCookies" protection="All" />
</authentication>
</system.web>
پیکشثذی ایي تظین ث فست صیش اجبم هی ؽد:
1. Open IIS Manager and navigate to the level where Forms Authentication is
enabled
3. In Features View, double-click Authentication
2. On the Authentication page, select Forms Authentication
4. In the Actions pane, click Edit
5. In the Cookie settings section, verify the drop-down for Protection mode is set
for Encryption and validation
http://technet.microsoft.com/en-us/library/cc621224332WS.12339.aspx لیکب هبثغ :
ذتظین طذ تاض Clearاطویاى اس ایک الواى فزهت پسرد تز ری ػاى : تضیحب
ت :
اجبص ی اتخبة بم کبسثشی پغسد ثشای <authentication>هشثط ث الوبى <credentials>الوبى
passwordFormatسا ث وشا پیکشثذی فبیل هی دذ. پیؾبد هی ؽد ک IISهذیشیت اکبت بی
تظین کشد( MD5یب SHA1تظین ؾد)هی تاى آى سا سی Clearثش سی
ضؼیت
: تغت
بهفق -هفق
هیضاى سیغک :
صیبد -هتعظ –کن
سػ
پیبد
عبصی :
سا ثبص کشد هشثط ث اپلیکیؾي پیکشثذی ؽذ Configurationثشای ثشسعی هی ثبیغتی فبیل
:تؼشیف ؾذ ثبؽذ Clearسی passwordFormatاعویبى حبفل کشد
<configuration>
<system.web>
![Page 17: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/17.jpg)
16
<authentication mode="Forms">
<forms name="SampleApp" loginUrl="/login.aspx">
<credentials passwordFormat="SHA1">
<user
name="UserName1"
password="SHA1EncryptedPassword1"/>
<user
name="UserName3"
password="SHA1EncryptedPassword3"/>
</credentials>
</forms>
</authentication>
</system.web>
</configuration>
پیکشثذی ایي تظین ث فست صیش اجبم هی ؽد:
1. Locate and open the configuration file where the credentials are stored
3. Find the <credentials> element
2. If present, ensure passwordFormat is not set to Clear
4. Change passwordFormat to SHA1 or MD5
لیکب
هبثغ :
http://msdn.microsoft.com/en-us/library/e21fc52a.aspx
http://www.iis.net/ConfigReference/system.webServer/management/authentication/credential
s
http://msdn.microsoft.com/en-us/library/bb433421332VS.92339.aspx
Basicتزای احزاس یت SSLپیکزتذی ػاى : ػجس دذ ثبثشایي clear textهی تاذ اعالػبت اػتجبسی سا Basicاحشاص یت تضیحبت : دس ؽجک
اص سهضگزاسی ؽذ اتقبل یبثذ. SSLالضاهی اعت ک تشافیک ثیي کبسثش عشس ثب اعتفبد
Basicک اص احشاص یت ب اپلیکیؾي بیی عبیتپیؾبد هی ؽد ک استجبعبت ثیي
هی ک ؽد. SSLذ، اص سهضگزاسی اعتفبد اعتفبد
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ سػ پیبد عبصی :
1. Open IIS Manager
3. In the Connections pane on the left, select the server to be configured
2. In the Connections pane, expand the server, then expand Sites and select the
site to
be configured
4. In the Actions pane, click Bindings; the Site Bindings dialog appears
5. If an HTTPS binding is available, click Close and see below "To require SSL"
6. If no HTTPS binding is visible, perform the following steps
کشدى یک ث فست صیش اجبم هی ؽد: HTTPS bindingثشای اضبف
![Page 18: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/18.jpg)
17
1. In the Site Bindings dialog, click Add; the Add Site Binding dialog appears
3. Under Type, select https
2. Under SSL certificate, select an SSL certificate
4. Click OK, then close
:ث فست صیش تظین اجبم هی ؽد SSL ثشای یبص ث
1. In Features View, double-click SSL Settings
3. On the SSL Settings page, select Require SSL, and Require 132-bit SSL
2. In the Actions pane, click Apply
http://technet.microsoft.com/en-us/library/dd262252332WS.12339.aspx لیکب هبثغ :
ASP.NETپیکربندی
Retailری Deployment Methodتظین ػاى : ی عشسبی <deployment retail>عئیچ تضیحبت : دس ظش گشفت ؽذ IISثشای ثشای اعتفبد
ایي عئیچ ثب غیشفؼبل کشدى اهکبى تلیذ هغیش ث ففحبت خبسجی، غیش فؼبل کشدى اعت.
ث debugاهکبى وبیؼ جضئیبت پیبم بی خغب ث کبسثشاى بیی غیشفؼبل کشدى عئیچ
اعالػبت اهیتی کوک هی کذ. اپلیکیؾي ب ثشای داؽتي ثتشیي کبسایی کوتشیي ؾت
تظین retailثشای توبهی هحقالت عشس سی Deployment Methodپیؾبد هی ؽد
ؽد.
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
سا ثبص کشد ثشسعی هی ؽد machine.config، فبیل IISپظ اص سا اذاصی هجذد سػ پیبد عبصی :
<deployment retail="true" /> سیtrue :تظین ؽذ ثبؽذ
<system.web> <deployment retail="true" /> </system.web>
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ
1. Open the machine.config file located in: %windir%\Microsoft.NET\Framework\<framework_version>\CONFIG 3. Add the line <deployment retail="true" /> within the <system.web> section 2. If systems are 64-bit, do the same for the machine.config located in: %windir%\Microsoft.NET\Framework64\<framework_version>\CONFIG
http://msdn.microsoft.com/en-US/library/ms332392332VS.22339.aspx لیکب هبثغ :
Debugخاهش کزدى ػاى : دذگبى تضیحبت : سا فؼبل هی کذ. debug، هذ ASP.NETفؼبل کشدى دس علث عس هؼول تعؼ
هشسگش خد cacheثبثشایي یبصی یغت تب شثبسک تغییشی دس کتشل هبثغ ثجد هی آسد
هی ؽد کبسثشاى سا debugسا پبک کذ. فؼبل کشدى خشجی ث کبسثشاى بیی وبیؼ داد
قبدس هی عبصد تب جضئیبت اعالػبت اپلیکیؾي سا ثذعت آسذ.
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
![Page 19: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/19.jpg)
18
اعویبى سا ثبص کشد هشثط ث عشس یب اپلیکیؾي هسد ظش web.configهی ثبیغتی فبیل سػ پیبد عبصی :
ثبؽذ: falseسی <compilation debug>حبفل کشد ک عئیچ تظین ؽذ
<configuration> <system.web> <compilation debug="false" /> </system.web> </configuration>
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ
1. Open IIS Manager and navigate desired server, site, or application 3. In Features View, double-click .NET Compilation 2. On the .NET Compilation page, in the Behavior section, ensure the Debug field is set to False 4. When finished, click Apply in the Actions pane
http://technet.microsoft.com/en-us/library/cc635213332WS.12339.aspx لیکب هبثغ :
ا Custom Error Messageاطویاى اس خاهش ثدى ػاى : هی ؽد، پیبم خغبی ASP.NETصهبیک اپلیکیؾي تضیحبت : یب یک یژگی HTTP/1.x 522ؽکغت
هی ؽد. ادهیي ب Request Filteringپیکشثذی ؽذ )هبذ ( دسیبفت هبغ وبیؼ ففح
هجد دس customErrors> tag>هی تاذ چگگی وبیؼ پیبم بی خغب سا تظین کذ.
web.config :داسای ع هذ هی ثبؽذ
On یچ کالیت ب کبسثش لکبل، بؽذ، ثشایتظین ؾذ ث defaultRedirect: دس فستیک
وبیؼ داد هی ؽد. customپیبم خغبی
Off پیبم خغبی :custom غیش فؼبل جضئیبت خغبیASP.NET ثشای کالیت ب کبسثش لکبل
وبیؼ داد هی ؽد.
RemoteOnly پیبم خغبی :custom فقظ ثشای کالیت ب وبیؼ داد هی ؽد جضئیبت
ثشای کبسثش لکبل وبیؼ داد هی ؽد.)پیؼ فشك( ASP.NETخغبی
تظین ؾذ Offسی customErrorsث ویي هظس هی ثبیغتی اعویبى حبفل ؽد
ثبؽذ.
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
اعویبى سا ثبص کشد هشثط ث عشس یب اپلیکیؾي هسد ظش web.configهی ثبیغتی فبیل سػ پیبد عبصی :
customErrors>یب </ "customErrors mode="RemoteOnly>حبفل کشد ک تگ
mode="On" /> ثبؽ آى تؼشیفسی ذ.ؽذ
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ
1. Open the IIS Manager GUI and navigate to the site to be configured 3. In Features View, find and double-click .NET Error Pages icon 2. In the Actions Pane, click Edit Feature Settings 4. In modal dialog, choose On or Remote Only for Mode settings 5. Click OK
http://msdn.microsoft.com/en-us/library/h2hfz6fc.aspx لیکب هبثغ :
http://technet.microsoft.com/en-us/library/dd569296332WS.12339.aspx
![Page 20: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/20.jpg)
19
ASP.NET stack tracingاطویاى اس فؼال ثدى ػاى : چگگی جوغ آسی، رخیش عبصی وبیؼ ASP.NETکذبی هغیشیبثی traceالوبى تضیحبت :
ش دسخاعت ففح، یک پیبم tracingسا پیکشثذی هی کذ. دس فست فؼبل ثدى traceدادى
trace یب دس الگ بی هغیش اپلیکیؾي رخیش هی اضبف تلیذ هی کذ ک ث خشجی ففح
machine.configدس فبیل </ "deployment retail="true>ؽد. ثبثشایي پیؾبد هی ؽد
تظین ؽد.
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
:asp.netدس tracingاعویبى اص سؽي جدى سػ پیبد عبصی :
Trace="true"
(:web.configدس فبیل افلی اپلیکیؾي )هبذ tracingاعویبى اص فؼبل جدى
<configuration> <system.web> ... <trace enabled="true"> ... </system.web> </configuration>
Tracing :قبثل پیکشثذی دس چذ عغح هی ثبؽذ
1. Machine.config 3. Root-level web.config 2. Application-level web.config 4. Virtual or physical directory-level web.config
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ
machine.configدس </ "deployment retail="true>اعویبى اص فؼبل ثدى .1
بیی ک ث .3 اس جبع داد ASP.NET tracingحزف کشدى توبهی توبهی هؾخق
ی traceؽذ اعت ثب پبک کشدى ث فست صیش: trace فؼبل کشدى هؾخق
:ثشای ش ففح
حزف توبهی اسجبػبت:
Trace="true"
:ثشای ش اپلیکیؾي
<configuration>
<system.web>
...
<trace enabled="true">
...
</system.web>
</configuration>
غیش فؼبل هی ثبؽذ ASP.NET tracingث فست پیؼ فشك
http://msdn.microsoft.com/en-us/library/94c55d22332v=vs.122339.aspx هبثغ :لیکب
http://msdn.microsoft.com/en-us/library/2x5wc962332v=vs.122339.aspx
![Page 21: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/21.jpg)
20
Session Stateتزای Cookies Modeپیکزتذی استفاد اس ػاى : -session hiدس فست پیکشثذی فحیح ککی ب، سیغک حوالتی وچى تالػ ثشای تضیحبت :
jacking ی کبؼ هی یبثذ دس د cookieless. ایي اهکبى ثب قشاس دادى هؾخق
sessionState سیUseCookies یبFalse اجبم هی ؽد ک هی ثبیغتی اعالػبتsession
ؽذ. URIخبسج اص اتقبل داد
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
اعویبى سا ثبص کشد هشثط ث عشس یب اپلیکیؾي هسد ظش web.configهی ثبیغتی فبیل سػ پیبد عبصی :
ذ:ؽذ ثبؽ تؼشیف use cookiesسی sessionStateحبفل کشد ک تگ
<system.web> <sessionState cookieless="UseCookies" /> </system.web>
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ
1. Open the IIS Manager GUI and navigate desired server, site, or application 3. In Features View, find and double-click the Session State icon 2. In the Cookie Settings section, choose Use Cookies from the Mode dropdown 4. In the Actions Pane, click Apply
اص دس sessionStateثشای پیکشثذی AppCmd.exeوچیي ایي تظین هی تاذ ثب اعتفبد
عغح عشس هغبثق صیش اجبم ؽد:
%windir%\system23\inetsrv\appcmd set config /commit:WEBROOT /section:sessionState /cookieless:UseCookies /cookieName:ASP.NET_SessionID /timeout:32
http://technet.microsoft.com/en-us/library/cc662663332WS.12339.aspx لیکب هبثغ :
http://msdn.microsoft.com/en-us/library/h6bb9cz9332VS.61339.aspx
HttpOnlyاطویاى اس تظین ضذى ککی ا تا هطخص ػاى : سی ککی ب، اهکبى دعتشعی اص عوت کالیت ب HttpOnly flagدس فست تظین ؽذى تضیحبت :
ثب اجشای اعکشیپت دس هشسگش خد جد خاذ داؽت. جلگیشی اص اجشای اعکشیپت
سا cross site scriptingدعتشعی ث هحتای ککی دس عوت کالیت، احتوبل حوالت
کبؼ هی دذ.
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
سا ثبص کشد ثشسعی هی ؽد اپلیکیؾي web.config، فبیل IISپظ اص سا اذاصی هجذد سػ پیبد عبصی :
httpOnly cookies سیtrue :تظین ؽذ ثبؽذ
<httpCookies httpOnlyCookies="true" />
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ
پیکشثذی فبیل web.configثبص کشدى فبیل .1 کشدى تگ .3 ث وشا </ "httpCookies httpOnlyCookies="true>اضبف
<system.web> :ث فست صیش <configuration> <system.web> <httpCookies httpOnlyCookies="true" /> </system.web>
![Page 22: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/22.jpg)
21
</configuration>
http://authors.aspalliance.com/aspxtreme/aspnet/syntax/httpCookies.aspx لیکب هبثغ :
http://www.asp121.com/tips/index.asp?id=162
https://tools.ietf.org/wg/httpstate/charters
MachineKey Validation Methodپیکزتذی ػاى : هی ثبؽذ ک اص الگسیتن کلیذبیی ثشای ASP.NETهشثط ث machineKeyالوبى تضیحبت :
هی کذ. ایي یژگی تابیی هذیشیت تظیوبت سهضگزاسی hashingسهضگزاسی اعتفبد
عشیظ بی اپلیکیؾي هبذ وبیؼ ضؼیت، فشم ب، احشاص یت، اػضب ، ظبیف
ؽبعبیی کبسثشاى بؽبط سا داسد.
ؽذ: سػ بی سهضگزاسی ؽبهل هاسد صیش هی
Advanced Encryption Standard (AES):
یبصهذ فضبی کوی هی ثبؽذ. داسای AESایي سػ ث عبدگی قبثل تعؼ
.ایي سػ اص یک کلیذ هحشهب ثیت هی ثبؽذ 356 193 132اثؼبد کلیذ
هی کذ جت سهضگبسی سهضگؾبیی اعتفبد
Message Digest 5 (MD5):
ی اص ایي سػ ثشای ؽذ هی ؽد یک پیبم خالف اهضبی دیجیتبل اعتفبد
ؽذ ی پیبم افلی هی ثبؽذ تلیذ هی کذ. 132 ثیتی ک خالف
Secure Hash Algorithm (SHA1):
ی ؽذ دلیل اعتفبد اص پیبم خالف ثیتی داسای ایوی ثیؾتشی 162ث
هی ثبؽذ. MD5غجت ث
Triple Data Encryption Standard (TripleDES):
هی ثبؽذ.ایي سػ ع Data Encryption Standard (DES)ایي سػ جضئی اص
اص عل DESهشتج اص ث اعتفبد تش هی ثبؽذ لی ثب تج هؼولی آغت
عبصهبى یبصهذ 193کلیذ ثیتی، داسای اهیت ثیؾتشی هی ثبؽذ. دس فستیک
performance .ؽد ثبالیی جبؽذ، پیؾبد هی ؽد اص ایي سػ اعتفبد
دس عغح هؼول اص SHA1یب AESپیؾبد هی ؽد ثشای اعتفبد اعتفبد
ؽد.
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
قشاس گشفتي اعویبى اص ثشای سػ پیبد عبصی : ث فست صیش Machine Key encryption methodهسد اعتفبد
ػول هی ؽد:
1. Open IIS Manager and navigate to the level that was configured, the WEBROOT, or server in this case 3. In the features view, double click Machine Key 2. On the Machine Key page, verify that SHA1 is selected in the Encryption method dropdown
اص دعتس ینتظ یيا یکشثذیپ :اجبم هی ؽد یشث فست ص appcmd.exeثب اعتفبد
%systemroot%\system23\inetsrv\appcmd set config /commit:WEBROOT /section:machineKey/validation:SHA1
http://technet.microsoft.com/en-us/library/cc663361332WS.12339.aspx لیکب هبثغ :
http://technet.microsoft.com/en-us/library/cc663326332WS.12339.aspx
![Page 23: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/23.jpg)
22
Global .NET Trust Levelپیکزتذی ػاى : هی ثبؽذ. NET.3.2.ایي یژگی دس تضیحبت : ASP.NET code access سژى بی ثبالتش قبثل اعتفبد
security (CAS) عغح دعتشعی بیی ک ثبیذ ث یک اپلیکیؾي دس عشس اختقبؿ داد
ک ثب اپلیکیؾي ب عبصگبس ثبؽذ، Trustعغح ؽد سا تؼشیف هی کذ. تظین پبییي تشیي
هی تاذ اص ث خغش افتبدى اپلیکیؾي عیغتن جلگیشی کذ.
ؽبهل هاسد صیش هی ؽد: Trustهقبدیش هوکي ثشای عغح
Full.دس ایي عغح اپلیکیؾي داسای دعتشعی ب هحذد ث توبهی هبثغ هی ثبؽذ :
High دس ایي عغح دعتشعی ث کذبی اهیتی هجد هی ثبؽذ هاسد صیش هحذد ؽذ :
اعت:
o Call unmanaged code o Call serviced components o Write to the event log o Access Microsoft Windows Message Queuing queues
o Access ODBC, OLD DB, or Oracle data sources
Medium : ػال ثش هحذدیت بی عغحHigh :داسای هحذدیت بی صیش هی ثبؽذ
o Access files outside the application directory o Access the registry
Lowدیت بی عغح : ػال ثش هحذMedium :داسای هحذدیت بی صیش هی ثبؽذ
o Write to the file system o Call the System.Security.CodeAccessPermission.Assert method to expand permissions to resources o Minimal: specifies a minimal level of code access security, which means that
the application has only execute permission
یب پبییي تش قشاس گیشد. Mediumسی عغح global .NET Trust Level پیؾبد هی ؽد
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
قشاس گشفتي سػ پیبد عبصی : ث فست صیش ػول هی Global .NET Trust Levelثشای اعویبى اص هسد اعتفبد
ؽد:
1. Open IIS Manager and navigate to the level that was configured, the server in this example 3. In the features view, double click .NET Trust Levels
2. On the .NET Trust Levels page, verify that Medium (web_mediumtrust.config) is selected in the Trust Level dropdown
اص دعتس ینتظ یيا یکشثذیپ :اجبم هی ؽد یشث فست ص appcmd.exeثب اعتفبد
%systemroot%\system23\inetsrv\appcmd set config /commit:WEBROOT /section:trust/level:Medium
http://technet.microsoft.com/en-us/library/cc663326(WS.12).aspx لیکب هبثغ :
http://msdn.microsoft.com/en-us/library/ms691442332VS.92339.aspx
Professional IIS 6 by Ken Schaefer, Jeff Cochran, Scott Forsyth, Rob Baugh, Mike
Everest, Dennis Glendenning
http://support.microsoft.com/kb/3692921
![Page 24: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/24.jpg)
23
IIS HTTPهخفی کزدى جشئیات خطاای ػاى : ففحبت خغببی ة عبیت هی ثبیغتی ثگ ای تظین ؽذ ثبؽذ ک جضئیبت پیبم بی تضیحبت :
دادى الی یب خغب فقظ دس صهبى اسصیبثی ث هظس ثشعشف کشدى هؾکل دس صهبى تعؼ
آسدى اعالػبت عبیت تعظ کبسثشاى جلگیشی ؽد. وبیؼ داد ؽد تب اص ثذعت
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
سی errorModeاعویبى حبفل کشد ک سا ثبص کشد web.configهی ثبیغتی فبیل سػ پیبد عبصی :
DetailedLocalOnly یبCustom ذ:ؽذ ثبؽ تؼشیف
<system.web> <system.webServer> <httpErrors errorMode="DetailedLocalOnly"> </httpErrors> </system.webServer> </system.web>
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ
1. Open IIS Manager with Administrative privileges 3. In the Connections pane on the left, expand the server, then expand the Sites folder 2. Select the Web site or application to be configured 4. In Features View, select Error Pages, in the Actions pane, select Open Feature 5. In the Actions pane, select Edit Feature Settings 6. In the Edit Error Pages Settings dialog, under Error Responses, select either Custom error pages or Detailed errors for local requests and custom error pages for remote requests 6. Click OK and exit the Edit Error Pages Settings dialog
http://technet.microsoft.com/en-us/library/dd291922332WS.12339.aspx :لیکب هبثغ
http://www.iis.net/configreference/system.webserver/httperrors
محدود و فیلتر کردن درخواست ها
پیکزتذی فیلتز تزای هاکشیون طل درخاست ا ػاى : تضیحب
ت :
اسعبلی http ثشای تؼییي هبکضیون اذاص ی دسخاعت بی maxAllowedContentLengthفیلتش
اذاص ی توبهی دسخاعت بی پیؾبد هی ؽد اص کالیت ث عشس هی ثبؽذ. (ثشحغت ثبیت)
ثشای دسخاعت بی فیلتش اسعبلی اص کالیت ب ث عوت عشسب ثش سی هقذاس هبعجی قشاس گیشد.
کند. ثبترا 1.404.کذ پیبم خغب ثب هی ثبیغتی IISؽذ
ضؼیت
: تغت
بهفق -هفق
هیضاى سیغک :
صیبد -هتعظ –کن
سػ
پیبد
عبصی :
فیلتشبی سی دسخاعت ب ثشسعی ؽد. وچیي هی سا ثبص کشد web.configهی ثبیغتی فبیل
ذ.ث عس هثبل هبکضیون ؽذ ثبؽ تؼشیف maxAllowedContentLengthثبیغتی اعویبى حبفل کشد ک
:تظین ؽذ اعت 32.6MBعل دسخاعت دس صیش ثشاثش
<configuration> <system.webServer> <security> <requestFiltering>
![Page 25: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/25.jpg)
24
<requestLimits maxAllowedContentLength="22222222" /> </requestFiltering> </security> </system.webServer> </configuration>
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ
1. Open Internet Information Services (IIS) Manager 3. In the Connections pane, click on the server, site, application, or directory to be configured 2. In the Home pane, double-click Request Filtering 4. Click Edit Feature Settings... in the Actions pane 5. Under the Request Limits section, key the maximum content length in bytes that will allow applications to retain their intended functionality, such as 22222222 (approx. 32.6 MB)
لیکب
هبثغ :
http://www.iis.net/ConfigReference/system.webServer/security/requestFiltering/requestLimit
s
http://learn.iis.net/page.aspx/142/use-request-filtering/
URLپیکزتذی فیلتز تزای هاکشیون درخاست ای ػاى : تضیحب
: ت
بی اص هؾ maxURLپبساهتش عل )ثش حغت هبکضیون هی ثبؽذ <requestLimits>خق
اعتثبی URLثبیت(دسخاعت بی پزیشفت ؽد سا تؼشیف IIS( ک هی تاذ تعظ query string)ث
ثشای دسخاعت بی فیلتش اػوبل ؽد. URIهی کذ. پیؾبد هی ؽد یک هحذدیت ثش سی عل
سا ثجت کذ. 424.14کذ پیبم خغب ثب هی ثبیغتی IISؽذ
ضؼیت
: تغت
بهفق -هفق
هیضاى سیغک :
صیبد -هتعظ –کن
سػ
پیبد
عبصی :
فیلتشبی سی دسخاعت ب ثشسعی ؽد:سا ثبص کشد web.configهی ثبیغتی فبیل
<configuration> <system.webServer> <security> <requestFiltering> <requestLimits maxURL="4296" /> </requestFiltering> </security> </system.webServer> </configuration>
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ
1. Open Internet Information Services (IIS) Manager 3. In the Connections pane, click on the connection, site, application, or directory to be configured 2. In the Home pane, double-click Request Filtering 4. Click Edit Feature Settings... in the Actions pane 5. Under the Request Limits section, key the maximum URL length in bytes that has been tested with web applications
http://www.iis.net/ConfigReference/system.webServer/security/requestFiltering/requestLimitلیکب
![Page 26: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/26.jpg)
25
s هبثغ :
http://learn.iis.net/page.aspx/142/use-request-filtering/
QueryStringپیکزتذی فیلتز تزای هاکشیون درخاست ای ػاى : اسعبلی QueryString ثشای تؼییي هبکضیون اذاص ی دسخاعت بی MaxQueryStringفیلتش تضیحبت :
بی هسد پزیشػ دس هقذاس پیؾبد هی ؽد .هی ثبؽذ IIS هسد پزیشػ queryداد
string لتش ؽذ ثشای دسخاعت بی فی .هحذد ؽدIIS کذ پیبم خغب ثب هی ثبیغتی
سا ثجت کذ. 424.15
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
فیلتشبی سی دسخاعت ب ثشسعی ؽد. سا ثبص کشد web.configهی ثبیغتی فبیل سػ پیبد عبصی :
ذ:ؽذ ثبؽ تؼشیف maxQueryStringوچیي هی ثبیغتی اعویبى حبفل کشد ک
<configuration> <system.webServer> <security> <requestFiltering> <requestLimits maxQueryString="3242" /> </requestFiltering> </security> </system.webServer> </configuration>
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ
1. Open Internet Information Services (IIS) Manager 3. In the Connections pane, go to the connection, site, application, or directory to be configured 2. In the Home pane, double-click Request Filtering 4. Click Edit Feature Settings... in the Actions pane 5. Under the Request Limits section, key in a safe upper bound in the Maximum query string (Bytes) textbox
/http://www.iis.net/ConfigReference/system.webServer/security/requestFiltering لیکب هبثغ :
requestLimits
http://learn.iis.net/page.aspx/142/use-request-filtering/
ا URLدر ASCIIذاضتي اجاس ی استفاد اس کاراکتزای غیز ػاى : وی ؽذ، ASCIIایي یژگی ث هظس تأییذ یب سد کشدى دسخاعت بیی ک ؽبهل کذبی تضیحبت :
سا ثجت 424.13کذ پیبم خغب ثب هی ثبیغتی IISهی ثبؽذ. ثشای دسخاعت بی فیلتش ؽذ
کذ.
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
فیلتشبی سی دسخاعت ب ثشسعی ؽد. سا ثبص کشد web.configهی ثبیغتی فبیل سػ پیبد عبصی :
falseثشای ایي فیلتش سی ؽذ وچیي هی ثبیغتی اعویبى حبفل کشد ک هقذاس تؼشیف
ذ:ثبؽ
![Page 27: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/27.jpg)
26
<configuration> <system.webServer> <security> <requestFiltering allowHighBitCharacters="false"> </requestFiltering> </security> </system.webServer> </configuration>
:ؽد اجبم هی یشث فست ص ینتظ یيا یکشثذیپ
1. Open Internet Information Services (IIS) Manager 3. In the Connections pane, go to the connection, site, application, or directory to be configured 2. In the Home pane, double-click Request Filtering 4. Click Edit Feature Settings... in the Actions pane 5. Under the General section, uncheck Allow high-bit characters
/http://learn.iis.net/page.aspx/142/use-request-filtering لیکب هبثغ :
http://learn.iis.net/page.aspx/926/urlscan-1-reference/
Professional IIS 6 by Ken Schaefer, Jeff Cochran, Scott Forsyth, Rob Baugh, Mike
Everest, Dennis Glendenning
Double-Encodedتزگزداذى درخاست ای ػاى : تضیحب
ت :
دس فست جلگیشی هی کذ. Double-Encodedتظین ایي فیلتش اص اص حوالت پیشاهى دسخاعت بی
فؼبل کشدى ایي یژگی، د فشآیذ ثشای ثبصگشی دسخاعت ب اجبم هی ؽد. دس فست هتفبت ثدى د
دسخاعت فشآیذ پیؾبد هی ؽد سا ثجت کذ. 424.11کذ پیبم خغب ثب IISثشگشداذ ؽذ
ثشگشداذ ؽد. double-encodedدسخاعت بی
ضؼیت
: تغت
بهفق -هفق
هیضاى سیغک :
صیبد -هتعظ –کن
سػ
پیبد
عبصی :
فیلتشبی سی دسخاعت ب ثشسعی ؽد. وچیي هی سا ثبص کشد web.configهی ثبیغتی فبیل
ذ:ثبؽ falseسی allowDoubleEscapingثشای فیلتش ؽذ ثبیغتی اعویبى حبفل کشد ک هقذاس تؼشیف
<configuration> <system.webServer> <security> <requestFiltering allowDoubleEscaping="false"> </requestFiltering> </security> </system.webServer> </configuration>
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ
1. Open Internet Information Services (IIS) Manager 3. In the Connections pane, select the site, application, or directory to be configured 2. In the Home pane, double-click Request Filtering 4. Click Edit Feature Settings... in the Actions pane
![Page 28: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/28.jpg)
27
5. Under the General section, uncheck Allow double escaping
بم یک فبیل دس ؽبهل "+" ثبؽذ، ثشای اجشای قبثلیت ب هی ثبیغتی URLدس فستیک
allowDoubleEscaping سیtrue .تظین ؽذ ثبؽذ
لیکب
هبثغ :
http://www.iis.net/ConfigReference/system.webServer/security/requestFiltering/requestLimit
s
http://learn.iis.net/page.aspx/142/use-request-filtering/
ت ػاى : فایل ای تا پسذ تأییذ طذذادى اجاستضیحب
ت :
هسد پزیشػ ة FileExtensionsفیلتش ث ادهیي ایي اجبص سا هی دذ تب پغذبی هؾخقی ک
توبهی پغذبیی ک ث عس فشیح allowUnlistedعشسب غت )یب یغت( سا تؼشیف کذ. یژگی
config ، .bat ، .exe.. اغلت پغذبی تأییذ یب سد ؾذ اذ سا تؼشیف هی کذ داؽت جبیذ اجبص
ث هظس تؼشیف پغذبی هسد تأییذ AllowExtensions DenyExtensionsی ثبؽذ. آپؾي ب
پیؾبد هی ؽد تب حذ اهکبى توبهی پغذبدس لیغت پغذبی غیش قبثل اعتفبد، هی ثبؽذ.
دس فست ثشگشداذى دسخاعت تعظ تأییذ ؾذ ب قشاس گیشذ فقظ پغذبی ضشسی تأییذ ؽذ.
سا ثجت هی کذ. 424.6پیبم خغب ثب کذ IIS ایي فیلتش،
ضؼیت
: تغت
بهفق -هفق
هیضاى سیغک :
صیبد -هتعظ –کن
سػ
پیبد
عبصی :
فیلتشبی سی دسخاعت ب ثشسعی ؽد. وچیي هی سا ثبص کشد web.configهی ثبیغتی فبیل
fileExtensions>ثبیغتی اعویبى حبفل کشد ک هقذاس
allowUnlisted > ثشاثشfalse ثشای غیش فؼبل کشدى دسخاعت بیی ثبؽذ. ث ػاى هثبل ؽذ تؼشیف
داسای پغذی ث جض :داسذ هبذ صیش ػول هی ؽد html.یب asp ، .aspx.ک
<configuration>
<system.webServer>
<security>
<requestFiltering>
<fileExtensions allowUnlisted="false">
<add fileExtension=".asp" allowed="true" />
<add fileExtension=".aspx" allowed="true" />
<add fileExtension=".html" allowed="true" />
</fileExtensions>
</requestFiltering>
</security>
</system.webServer>
</configuration>
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ
1. Open Internet Information Services (IIS) Manager
3. In the Connections pane, select the server
2. In the Home pane, double-click Request Filtering
4. Click Edit Feature Settings... in the Actions pane
5. Under the General section, uncheck Allow unlisted file name extensions
![Page 29: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/29.jpg)
28
اص دعتس هغبثق صیش ػول هی ؽد: AppCmd.exeثشای پیکشثذی ایي تظین ثب اعتفبد
%windir%\system23\inetsrv\appcmd set config
/section:requestfiltering/fileExtensions.allowunlisted:false
لیکب
هبثغ :
http://www.iis.net/ConfigReference/system.webServer/security/requestFiltering/requestLimit
s
http://www.iis.net/learn/manage/configuring-security/configure-requestfiltering-in-iis
تزای کتزل کذ ا Write Script/Executeاختصاظ ذادى هجس ػاى : داسای هجصبی تضیحبت : یب Read ،Write ،Scriptظبیف کتشل کذ ب ث فستی هی ثبؽذ ک
Execute هی ثبؽذ.پیؾبد هی ؽد یکی اص هجصبیExecute/Script یبWrite (
ؽد. ایي کبس ثبػث هی ؽد تب خغش اجشای کذبی شد هجص( ث آى ب اختقبؿ داد
هخشة دس عشسب کبؼ یبثذ.
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
سا ثبص windir%\system23\inetsrv\config%دس ApplicationHost.configهی ثبیغتی فبیل سػ پیبد عبصی :
دس Executeیب Scriptاعویبى حبفل کشد گبهیک <handlers>پظ اص پیذا کشدى کشد
accessPolicy ،قشاس داسذWrite :دس آى جبؽذ
<system.webserver> <handlers accessPolicy="Read, Script"> </handlers> </system.webserver>
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ
1. Open Notepad as Administrator 3. Open the ApplicationHost.config file in %windir%\system23\inetsrv\config 2. Edit the <handlers> section accessPolicy attribute so that Write is not present when Script or Execute are present
http://technet.microsoft.com/en-us/library/dd291912332WS.12339.aspx لیکب هبثغ :
http://blogs.iis.net/thomad/archive/3226/11/25/quo-vadis-accessflags.aspx
Falseتز ری notListedIsapisAllowedاطویاى اس تظین ضذى یژگی ػاى : هخشة کوک هی کذ. ISAPث جلگیشی اص اجشای پغذبی تظین ثدى ایي یژگی تضیحبت :
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد -هتعظ –کن
سا ثبص windir%\system23\inetsrv\config%دس ApplicationHost.configهی ثبیغتی فبیل سػ پیبد عبصی :
ثش <isapiCgiRestriction>دس notListedIsapisAllowedاعویبى حبفل کشد یژگی کشد
:تظین ؽذ ثبؽذ Falseسی
<system.webServer> <security> <isapiCgiRestriction notListedIsapisAllowed="false"> </isapiCgiRestriction> </security> </system.webServer>
![Page 30: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/30.jpg)
29
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ
1. Open IIS Manager as Administrator 3. In the Connections pane on the left, select server to be configured 2. In Features View, select ISAPI and CGI Restrictions; in the Actions pane, select Open Feature 4. In the Actions pane, select Edit Feature Settings 5. In the Edit ISAPI and CGI Restrictions Settings dialog, clear the Allow unspecified ISAPI modules check box, if checked 6. Click OK
http://technet.microsoft.com/en-us/library/dd262246332WS.12339.aspx لیکب هبثغ :
http://www.iis.net/ConfigReference/system.webServer/security/isapiCgiRestriction
Falseتز ری notListedCgisAllowedاطویاى اس تظین ضذى یژگی ػاى : هخشة کوک هی کذ. CGIتظین ثدى ایي یژگی ث جلگیشی اص اجشای اعکشیپت بی تضیحبت :
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد –هتعظ –کن
سا ثبص windir%\system23\inetsrv\config%دس ApplicationHost.configهی ثبیغتی فبیل سػ پیبد عبصی :
ثش <isapiCgiRestriction>دس notListedCgisAllowedاعویبى حبفل کشد یژگی کشد
:تظین ؽذ ثبؽذ Falseسی
<system.webServer> <security> <isapiCgiRestriction notListedCgisAllowed="false"> </isapiCgiRestriction> </security> </system.webServer>
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ
1. Open IIS Manager as Administrator 3. In the Connections pane on the left, select the server to configure 2. In Features View, select ISAPI and CGI Restrictions; in the Actions pane, select OpenFeature 4. In the Actions pane, select Edit Feature Settings 5. In the Edit ISAPI and CGI Restrictions Settings dialog, clear the Allow unspecified CGI modules check box 6. Click OK
http://technet.microsoft.com/en-us/library/dd291919332WS.12339.aspx لیکب هبثغ :
HTTP Trace Methodغیز فؼال کزدى ػاى : ثش هی Traceسا سی پبعخ HTTPهحتای دسخاعت بی HTTP Trace Method تضیحبت :
گشداذ.فرگش هی تاذ ثب اعتفبد اص ایي اشم ث اعالػبت حغبعی هبذ اعالػبت احشاص
دس دس خاعت هی ثبؽذ، دعتشعی پیذا کذ. HTTP headerیت یب ککی ب ک دس
سا ثجت هی کذ. 424.6پیبم خغب ثب کذ IIS 2فست ثشگشداذى دسخاعت تعظ ایي فیلتش،
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد –هتعظ –کن
![Page 31: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/31.jpg)
30
ؽذى ایي تظین اعویبى حبفل اص پیکشثذی سا ثبص کشد web.configهی ثبیغتی فبیل سػ پیبد عبصی :
ؽد:
<configuration> <system.webServer> <security> <requestFiltering> <verbs> <add verb="TRACE" allowed="false" /> </verbs> </requestFiltering> </security> </system.webServer> </configuration>
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ
1. Open Internet Information Services (IIS) Manager 3. In the Connections pane, select the site, application, or directory to be configured 2. In the Home pane, double-click Request Filtering 4. In the Request Filtering pane, click the HTTP verbs tab, and then click Deny Verb... in the Actions pane 5. In the Deny Verb dialog box, enter the TRACE, and then click OK
http://www.kb.cert.org/vuls/id/266592 لیکب هبثغ :
http://www.iis.net/ConfigReference/system.webServer/security/requestFiltering/ve
rbs
IISتنظیمات ورود به
IIS Web Logتغییز هحل پیص فزض ػاى : اعالػبت توبهی دسخاعت ب سا ثجت هی کذ. ایي الگ ب الیي آیتوی هی ثبؽذ ک IIS تضیحبت :
قشاس هی گیشذ ثغیبس ثب اسصػ هی ثبؽذ. کبسثشاى ثشای پبعخ بی اهیتی هسد اعتفبد
عؼی دس پبک کشدى ؽاذ فؼبلیت بی خد هی خشاثکبس ثب آگبی اص ایي هحل، پیعت
ه سا ث هحلی )غیش IISهحل پیؼ فشك رخیش عبصی الگ بی ی ؽدکذ ثبثشایي تفی
اص دسای عیغتوی( اتقبل داد ؽد.
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد –هتعظ –کن
الگ ب دس هحلی غیش اص پیؼ فشك خد قشاس داسذ، ثب تج ث سػ پیبد عبصی : ح ی ثشای اعویبى اص ایک
الگ گیشی د هسد صیش تغت ؽد:
1. A folder containing .log files or 3. .log files in the root of the specified directory
اص یژگی ث ینتظ یيا یکشثذیپ یب IIS Management UIالگ گیشی دس ب اعتفبد
AppCmd.exe .اجبم پزیش هی ثبؽذ
اص D:\LogFilesثشای تغییش هحل خیش عبصی الگ ب ث فست AppCmd.exeثب اعتفبد ث
صیش ػول هی ؽد:
%windir%\system23\inetsrv\appcmd set config -section:sites
![Page 32: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/32.jpg)
31
siteDefaults.logfile.directory:"D:\LogFiles"
-http://www.iis.net/learn/extensions/advanced-logging-module/advanced لیکب هبثغ :
loggingfor-iis-custom-logging
http://support.microsoft.com/kb/23263921
Advanced IIS Loggingفؼال کزدى ػاى : کشدى قغوت بی هسد اویت کغت کبس، پبلیغی تضیحبت : ایي هبژل کتشل بیی ثشای اضبف
بیی سی فبیل رخیش عبصی الگ فیلتش کشدى دسخاعت ب ایجبد هی کذ.پیؾبد هی
ث ع کغت کبس قغوت بی ثب اسصػ Advanced Loggingؽد فؼبل ؽذ ثب تج
تی سا ثجت خاذ کشد.اص دیذ کغت کبس، قبیغ اهی
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد –هتعظ –کن
دس حبل log.فبیل بی Advanced Logثشای اعویبى هی ثبیغتی ثشسعی ؽد دس هحل سػ پیبد عبصی :
عبخت ؽذى ثبؽذ.
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ
1. Open Internet Information Services (IIS) Manager 3. Click the server in the Connections pane 2. Double-click the Advanced Logging icon on the Home page 4. Click Enable Advanced Logging in the Actions pane
---http://learn.iis.net/page.aspx/569/advanced-logging-for-iis-62 لیکب هبثغ :
customlogging#open
http://technet.microsoft.com/en-us/library/cc623236332WS.12339.aspx
ETW Logging ػاى : اص آى ادهیي هی ت IIS 2.5 تضیحبت : اذ اعالػبت یک هتذ الگ گیشی جذیذ هتؾش کشد ک ثب اعتفبد
اسعبل کذ. Event Tracing for Windows (ETW)الگ سا ث
اعالػبت الگ سا سی دیغک رخیش کذ، ادهیي ب قبدس خاذ ثد ث IISدس فستیک
اعالػبت الگ ب سا دسیبفت کذ وچیي ثشسعی اسصیبثی فبیل بی الگ real-timeفست
ثب ادهیي ب قبدس خاذ ثد ETWهتی کبس دؽاس صهبجشی هی ثبؽذ. ثب فؼبل عبصی
اص اثضاسبی اعتبذاسد کئشی، اعالػبت الگ ب سا ث فست هؾبذ real-timeاعتفبد
کذ.
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد –هتعظ –کن
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ سػ پیبد عبصی :
1. Open IIS Manager 3. Select the server or site to enable ETW 2. Select Logging. 4. Ensure Log file format is W2C. 5. Select Both log file and ETW event 6. Save your settings.
http://www.iis.net/learn/get-started/whats-new-in-iis-25/logging-to-etw-in-iis-25 لیکب هبثغ :
![Page 33: Security_Baseline_IIS_V1.1_mohaymen](https://reader031.vdocuments.net/reader031/viewer/2022020108/58774c3b1a28ab84388b5b2f/html5/thumbnails/33.jpg)
32
http://blogs.technet.com/b/erezs_iis_blog/archive/3212/26/15/hook-me-up.aspx
FTPدرخواست های
FTPرهشگذاری درخاست ای ػاى : کشدى تضیحبت : FTP siteث SSL certificateاضبف
بهفق -هفق : تغتضؼیت
هیضاى سیغک :
صیبد –هتعظ –کن
:اجبم هی ؽد یشث فست ص ینتظ یيا یکشثذیپ سػ پیبد عبصی :
1. Open IIS Manager, select the FTP server and choose FTP SSL Settings in the Features View pane 3. Under the SSL Certificate dropdown, choose the SSL certificate to be configured for Use 2. In the SSL Policy section, click the radio button next to Require SSL connections; it is important to require SSL, because allow SSL still permits non-SSL FTP 4. Click Apply in the Actions pane
-http://www.windowsnetworking.com/articles_tutorials/IIS-FTP-PublishingService لیکب هبثغ :
Part2.html
http://learn.iis.net/page.aspx/224/using-ftp-over-ssl/222