• Comparing Encryption Key Fault Tolerance Options

    Users might lose access to their EFS private keys through cases, like corrupted user profiles, hard disk failure, OS reinstall etc. Now here are some important facts about EFS Keys before we start the comparison

    1-      A time valid certificate and private keys needs to be available for encryption/decryption of data

    2-      The client will only check for revocation status of the certificate, in the case of Encryption, or adding users to the EFS ACL. In the case of decryption or data access, revocation checking is not checked. Accordingly, revoking a certificate does not mean that the user has lost access to data; it only means that he/she cannot encrypt more files with it. The only way for it to become unusable is if it expires

    Key Recovery Agent (KRA)

    Key Recovery Agent is I would say the most systematic and controlled key fault tolerance method available. The reason for this, is that for key Recovery to occur the following conditions need to be fulfilled

    1-      One or more users need to have a valid KRA certificate and private key

    2-      Key archival needs to be enabled on the Issuing CA and on the Certificate template

    3-      By default the Certificate manager needs to approve the issuance of the KRA certificate

    4-      The CA manager(s) needs to manually extract a file from the CA Database that contains the intended private key using the command Cetutil –getkey

    5-      The KRA need to take that file and decrypt it using his/her KRA private key

    From an operational perspective, it is easy to apply governance to the KRA process especially if proper segregation of duties is applied. However, it is definitely the most time consuming method, and practically speaking, it might take the EFS Key owners too long to access files when they don’t have access to their private keys. The downside of KRA is that, data encrypted with old EFS keys cannot be recovered since they are not archived in the CA.

    Data Recovery Agent (DRA)

    The DRA is a shadow user that has access to EFS encrypted data, along with data owners and the designated users who have access to the data.

    The issue with a DRA is that it is hard to govern the data recovery process. Practically speaking, if the DRA has access to the data location, he/she can access it maliciously. One way to govern DRA is use Forefront Identity Manager or to use smart card n to m authentication for the DRA user. The upside of DRA is that it provides the fastest recovery time.

    Credential Roaming (CR)

    Credential Roaming could be in a way looked at as a key fault tolerance option, because it allows for replicating the local key store from the user profile located on the computer to the user object on the ADDS. This is a good option and involves very fast key recovery time. However the downside of it is that it does not help when key deletion is intentional, since the local key store will replicate the deletion action. However in cases of hard disk failure or profile corruption (if the local profile is corrupted), there’s a big chance that they key on the user object will be retained since the deletion would most probably not be replicated.

  • ASPNET_SETREG does not care about your password–Or DOES IT

    If you are developing an ASP.NET application and required to have the password placed in the configuration file then you have seen this condition. The thing is that usually we would want to put the password encrypted and one way that existed since ASP.NET 1.1 is the placement of the password in the registry with encryption with the tool aspnet_setreg and then refer to the password as a registry key in the configuration file. I used this before and had no problems with it. BUT today I was faced with the weirdest issue I could ever think of. The thing is that I used this on an environment and it kept giving me that the user or password are not valid although I was using the local machine administrator. I banged my head to the wall several times until I tried to change the user password and it worked.

    So I traced the error and found that the problem happens if the password has a " (double quote) in it Surprised smile

    So bottom line do not use the double quotes in your password if you intend to use an encrypted version of this password.

  • A Very Easy Method to Configure NLB for BAM Portal

    There are already several standard and well documented methods for creating a NLB cluster for BAM Portal like here. The problem with all these methods is that they tend to be very complex and long. Usually you would end up missing some steps and it will not work.

    What I was able to find is a very simple and short way to configure BAM portal on several servers using Windows NLB.

    1. Start by configuring BAM Portal on the first server “Server1” using the BizTalk Configuration Tool (normally).
    2. Open the SQL management studio.
    3. Open the Database “BamPrimaryImport”.
    4. You will find a table called ”bam_Metadata_Properties”.
    5. Remove the row for the value “BAMVRoot”
    6. Now login to the second server “Server2”.
    7. Open the BizTalk Configuration Tool and WOW you can use it to configure the Portal on this node also.
    8. Repeat steps 2-7 for as many nodes you have in your NLB.
    9. Now you are not done yet please continue. Change the web.config on all nodes so that the management web service and query web service URLs are pointing correctly to the NLB address and not the nodes addresses.
    10. Now perform the steps below to update the BAM configuration for the location of the cluster.
    1. Use the BAM Management Utility to get the current BAM configuration. To do this, click Start, click Run, and type drive:\Program Files\Microsoft BizTalk Server 2010\Tracking\bm get-config -FileName:MyConfig.xml.

    2. Replace the local host name with the name of the NLB cluster. To do this, click Start, click Run, and type notepad drive:\Program Files\Microsoft BizTalk Server 2010\Tracking\MyConfig.xml.

    3. For hardware-based NLB only, verify the configuration file has the following:

      <GlobalProperty Name="BAMVRoot">
      http://<NLB IP Address>:portname/BAM</GlobalProperty>

    4. Modify the following line to point to the NLB cluster by replacing the computer name (machinename) with the cluster name:

      <GlobalProperty Name=" BAMVRoot">  http://machinename:portname/BAM
      </GlobalProperty> 
    5. Save the new configuration. To do this, click Start, click Run, and type drive:\Program Files\Microsoft BizTalk Server 2010\Tracking\bm update-config -FileName:MyConfig.xml.

  • Operations Manager 2007 R2 Installation and Configuration "step by step" – Part 5 “Configuring SQL Reporting Service”

     In this post series I am going through step by step into System Center Operations Manager 2007 R2 starting from “Pre-Build”, then I continued with “Installing Operations Manager Database”, followed by another post “Installing Root Management Server” and then “Configure GPO for SCOM”,

    Now in this post I will cover Configuring SQL Reporting Service that is required for SCOM Reporting as a step before Installing Data Warehouse Database, and what you should remember is that to install SQL Reporting Service you will need IIS to be installed before install SRS.

    Steps are as the following:

    Step

    Description

    Screenshot

     

    Login as Domain\SQL Service

     

    1.

    Go to Start Programs  Microsoft SQL Server 2008, Configuration Tools and click Reporting Services Configuration Manager.

    clip_image003

    2.

    Enter SQL server or SQL Virtual Server name as Machine Name. Select Instance Name and click Connect.

    clip_image005

    3.

    Under Report Server Status should show as Started. Then click Web Service URL on left hand side pane.

    clip_image007

    4.

    Confirm that Report Server Web Service URL is working by click on blue URL, then click Advanced to confirm Web Site Configuration, and then click ok to close Advanced Window.

    clip_image009

    clip_image011

    5.

    Click Database on left hand side pane, confirm Reporting Database creation, or create a new Reporting Database, and then click Apply

    clip_image013

    6.

    Click Report Manager URL on left hand side pane, and confirm Report Manager URL and it’s Virtual Directory is working by click on the blue Report Manager URL, then click Advanced to confirm Report Manager URL site settings, and then click ok to close Advanced Window

    clip_image015

    clip_image017

    7.

    Confirm all other optional settings and confirm that SQL 2008 Reporting service is healthy and ready and close SQL 2008 Reporting Configuration Manager, then start Data Warehouse Database Installation in next step.

     

    In the coming post I will go through the steps to install Data Warehouse Database for Reporting...

     

    Related Posts:

  • Exchange 2010 SP1 Hosting – Part4 “Multi-tenant Setup”

    I started this blog series by giving an overview about Exchange 2010 SP1 Hosting in this post Exchange 2010 SP1 Hosting – Part 1 “Overview” and then I went through Hosting Description in this post Exchange 2010 SP1 Hosting – Part 2 “Hosting Description” , and then I went through Exchange 2010 SP1 Hosting – Part 3 “Hosting Setup”, and in this post I will cover Exchange 2010 SP1 Multi-tenant Setup available in hosting and its features,

    First I will start with some definitions:

    Service Plan - specifies a list of organization features, a set of mailbox plans, org wide resource limits and RBAC permissions delegated to customer.

    Service Plan template - based on requirements, these templates will specify the features and predefined permissions that need to be provisioned for the customer organization and their mailboxes.

    Mailbox Plan - defines a set of Exchange features that need to be enabled on the mailbox. A mailbox plan is created by using a service plan template.

    RBAC - Role based access control – A permission model that define and grants access to Exchange management tasks.

    When Hosting-Exchange 2010 CAS Role is installed, it also install an additional folder in CAS Server role, under this folder “C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\ServicePlans”, in this folder you will find file called “ServicePlanHostingRemap.csv”, this file and .serviceplan file contains all available plans and mailbox planes, when you open, serviceplan file, you will find XML file starting the approporiate features, Different available Service Plan templates are as the following:

    • “HostingAllfeatures.serviceplan” This template contains all Exchange features available to tenant organization.
    • “HostingBusinessMapi.serviceplan” This template can be used for provisioning business organization that uses MAPI and other protocols for client access.
    • “HostingBusinessNonMapi.serviceplan” This template can be used for provisioning business organization that use OWA, POP, IMAP, or Exchange Active Sync for client access, without MAPI.

    Creating Service Plan:

    1) Locate the available service Plans “C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\ServicePlans”.

    2) Determine which service plan template meets your needs and open the template using Notepad.

    3) Save the service plan template with a new name in the same service plan location.

    4) If you are going to create multiple Mailbox Plans, copy the mailbox plan section starting with MailboxPlanName and ending with MailboxPlan and paste it after the MailboxPlan end section. Make sure that the mailbox plan is within the MailboxPlans section. You will need to change the following properties for the new mailbox plan:

    MailboxPlanName This property specifies the name of the mailbox plan, for example Gold, Silver, Bronze.

    MialboxPlanIndex This property must be unique for each mailbox plan.

    ProvisionAsDefault This property specifies that this mailbox plan is the default mailbox plan. When new users are created and you do not specify a mailbox plan at that time the default mailbox plan will be applied to the mailbox. You can only have one default mailbox plan.

    5) Save the new service plan.

    6) Add the service plan to the service plan map, using the following procedure.

    Add a Service Plan:

    1) Locate the “ServicePlanHostingRemap.csv” on “C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\ServicePlans”.

    2) Open the csv file using Notpad.

    3) Add a new line and provide the following comma separated information for the new service plan:

    • ProgramId - The ProgramID specifies the service level offering that you are providing to your tenant organizations.
    • OfferId - The OfferID specifies a sub-service level offering.
    • ServicePlanName  - The service plan name specifies the file name of the service plan.

    4) Save and close the file.

    5) Ensure that you have copied the service plan and the serviceplanhostingRemap file across all CAS servers.

    Verify Service Plan:

    After creating a new service plan, you can validate it by assigning it to a new organization using WhatIf parameter by running the following command on Exchange PowerShell:

    New-Orgzniation –Name “Contoso.com” –DomainName “Contoso.com” –location “en-us” –ProgramId “Business” –OfferId “SmallOrg”-Whatif

    You should use the same ProgramId and OfferId that you used while adding the service plan in the “ServicePlanHostingRemap.csv” file.

    Create New Tenant Organization:

    Now we are ready to create new Tenant Organization using New-Organization command, the syntax is as the following:

    New-Organization -Name <String> -DomainName <SmtpDomain> -Location <String> -OfferId <String> -ProgramId <String> [-Administrator <WindowsLiveId>] [-AdministratorNetID <NetID>] [-AdministratorPassword <SecureString>] [-AuthenticationType <Managed | Federated>] [-Confirm [<SwitchParameter>]] [-CreateSharedConfiguration <SwitchParameter>] [-EnableFileLogging <SwitchParameter>] [-ExternalDirectoryOrganizationId <Guid>] [-HotmailMigration <SwitchParameter>] [-IsDatacenter <SwitchParameter>] [-IsDirSyncRunning <$true | $false>] [-IsPartnerHosted <SwitchParameter>] [-LiveIdInstanceType <Consumer | Business>] [-PartnerObjectId <Guid>] [-WhatIf [<SwitchParameter>]]

    And as an example to create new organization run the following PowerShell Command from CAS Server:

    New-Organization -Name ProvTest -DomainName Provetest.com -Location en-US -ProgramID HostingSample -OfferID 5 -AdministratorPassword (get-credential).password

    clip_image003

    You will be prompt for user name and password, because this will create admin user for the new created organization,

    In the above example the “ServicePlanHostingRemap” CSV file should include line for provtestand it’s ProgramId “HostingSample” and OfferID “5” like below,

    clip_image005

    Once the new Organization created then you can verify the OU creation in AD for the new Tenant Organization under Microsoft Exchange Hosted Organization as in the following diagram:

    clip_image007

    And under the new Tenant Organization there will be the Organization Administrator, RBAC Management Roles, Default Mailbox Plan, and System Mailboxes required for this organization as in the following diagram,

    clip_image009

    Also you can find the created accepted Domain, built-in Exchange Roles and Roles Assignment and the following security groups be created under the Tenant Organization OU under “Hosted Organization Security Groups,

    clip_image011

    Also it is automatically add the tenant’s administrator into the appropriate groups,

    clip_image013

    And automatically the Administrator user will be Mailbox Enabled, and the following objects be created under Domain Naming Context,

    clip_image015

    And automatically creates tenant’s Organization Configuration Container,

    clip_image017

    And to get all information about tenant organization you can use “Get-Organization” command, syntax as below:

    Get-Organization [-Identity <OrganizationIdParameter>] [-DomainController <Fqdn>] [-Filter <String>] [-ForReconciliation <SwitchParameter>] [-ResultSize <Unlimited>]

    Finally to remove Tenant Organization, you can use Remove-Organization using the following command:

    Remove-Organization –Identity Contoso.

    In the coming post, I will go into some more provisioning tasks related to managing Tenant Mailbox,

    What I want to mention finally in this post that it is very important to know that all these manual tasks should be automated for any enterprise using any of available 3rd party control panel, and in our region in Medill East and Africa we as Microsoft Service provisioned a new MCS Control Panel that we are currently using as a supporting panel in our Microsoft Services Exchange 2010 SP1 Hosting project in MEA, and if anyone already working with Microsoft Service Hosting Project and interested in the control panel just let me know so I can direct him to the proper contact.

     Related Posts: