Jump to content

kavag

Administrators
  • Posts

    222
  • Joined

  • Last visited

  • Days Won

    49

Blog Entries posted by kavag

  1. kavag
    The way that Network Virtualization is implemented in Hyper-V and subsequently in Microsoft Azure IaaS, enables explicitly the Routing between Virtual Subnets. This is the reason why the traffic between Virtual Subnets, that are part of the same Virtual Network, is unrestricted unless we have applied Network Security Groups.
    Network Security Groups Is a way to control traffic between Virtual Subnets of an Azure Virtual Network as well as the Internet. Moreover, Network Security Groups provide segmentation within Azure Virtual Network, by applying rules according to our needs and design.

    Until Network Security Groups became Generally Available, the only way to control traffic was endpoint based Access Control Lists. By applying ACLs to a Virtual Machine’s public endpoint, we have a way to control the ingress traffic to this port of this particular Virtual Machine. Network Security Groups takes this capability a step ahead and enables us to control all inbound as well as outbound traffic of a Virtual Machine or a Virtual Subnet.
    How does a Network Security Group (NSG) work ?
    A Network Security Group has a name and a descriptive label and is associated to an Azure Region. It contains Inbound and Outbound traffic rules and can be applied to a Virtual Machine, a Virtual Subnet or both.
    http://vaggeliskappas.com/wp-content/uploads/2015/06/NSG-01-300x265.png
    Associating an NSG to a VM – When an NSG is directly associated to a VM, the Network access rules in the NSG are directly applied to all traffic that is destined to the VM.
    Associating an NSG to a Subnet – When an NSG is associated to a subnet, the Network access rules in the NSG are applied to all the VMs in the subnet.
    Associating an NSG to a Subnet and a VM – It is possible that you can associate an NSG to a VM and a different NSG to the subnet where the VM resides. This is supported and in this case the VM gets two layers of protection. On the Inbound traffic the packet goes through the access rules specified in the subnet followed by rules in the VM and in the Outbound case it goes through the rules specified in the VM first before going through the rules specified in the subnet.
    Priorities and Default Rules
    As we mentioned above, an NSG contains Inbound and Outbound traffic Rules that we create according to our needs. These Rules are processed in the order of priority. Rules with lower priority number are processed before those with higher priority number and so on. Default rules are also there for a Network Security Group. These rules cannot be deleted but they have the lowest priority and, normally, they will be overridden.
    Azure Virtual Network
    Let’s assume that we want to deploy a three-tier application in Microsoft Azure IaaS offering. In this case, we create a Virtual Network as illustrated in the following figure:
    http://vaggeliskappas.com/wp-content/uploads/2015/06/NSG-02-1024x800.png
    http://vaggeliskappas.com/wp-content/uploads/2015/06/NSG-04-e1433178124170.png
    By default, Virtual Machines that are deployed to the Virtual Subnets (Front, App, DB) can communicate to each other and can have access to the Internet. This default behavior in some cases is not enough and Security and Access Control needs to be applied. By using Network Security Groups, the Virtual Network’s security is strengthened and Access Control Rules to inbound and outbound traffic are enforced.
    Create and use Network Security Groups – Step-By-Step
    As a demonstration, we are going to use the Virtual Network that we’ve created in the previous example. Let’s assume that we want to implement a more restrictive scenario, like the one shown in the following figure:
    http://vaggeliskappas.com/wp-content/uploads/2015/06/NSG-03-1024x740.pngIn order to achieve the designed security and access control we should create traffic rules, that they can be summarized in the following table:

      Front End
    Subnet Application
    Subnet Database
    Subnet Internet Front End
    Subnet - Allow - TCP/80 Deny - All Allow - All Application
    Subnet Allow - TCP/80 - Allow - TCP/1433 Allow - TCP/3389 Database
    Subnet Deny - All Allow - TCP/1433 - Allow - TCP/3389 Internet Allow - All Allow - TCP/3389 Allow - TCP/3389 - Network Security Groups can be created and applied using PowerShell and REST API. In this example we are going to use PowerShell. As always, we will use the latest PowerShell Azure Module which can be downloaded from Azure Portal.
    Using the following script we can create and apply Access Control Rules and Network Security Groups
    # Setting the variables $AzureRegion = 'West Europe' $AzureVNET = 'Three-Tier-VNET' # ---------------------Database Subnet Rules ------------------------- # Create a Network Security Group for Database Subnet New-AzureNetworkSecurityGroup -Name "DB-NSG" -Location $AzureRegion -Label "NSG for Database Subnet of $AzureVNET" # Adding a Rule to deny Inbound TCP traffic from Front End Subnet Get-AzureNetworkSecurityGroup -Name "DB-NSG" | Set-AzureNetworkSecurityRule -Name FEDeny -Type Inbound -Priority 100 ` -Action Deny -SourceAddressPrefix '172.16.1.0/24' -SourcePortRange '*' -DestinationAddressPrefix '172.16.3.0/24' ` -DestinationPortRange '*' -Protocol TCP # Adding a Rule to allow Inbound SQL (TCP/1433) traffic from Application Subnet Get-AzureNetworkSecurityGroup -Name "DB-NSG" | Set-AzureNetworkSecurityRule -Name SQL -Type Inbound -Priority 110 ` -Action Allow -SourceAddressPrefix '172.16.2.0/24' -SourcePortRange '*' -DestinationAddressPrefix '172.16.3.0/24' ` -DestinationPortRange '1433' -Protocol TCP # Adding a Rule to allow Inbound RDP (TCP/3389) traffic from Internet, for management Get-AzureNetworkSecurityGroup -Name "DB-NSG" | Set-AzureNetworkSecurityRule -Name RDP -Type Inbound -Priority 120 ` -Action Allow -SourceAddressPrefix 'INTERNET' -SourcePortRange '*' -DestinationAddressPrefix '172.16.3.0/24' ` -DestinationPortRange '3389' -Protocol TCP # Assign the Network Security Group to Database Subnet Get-AzureNetworkSecurityGroup -Name "DB-NSG" | Set-AzureNetworkSecurityGroupToSubnet -VirtualNetworkName $AzureVNET -SubnetName "Database" # Network Security Group Rules and details Get-AzureNetworkSecurityGroup -Name "DB-NSG" -Detailed # ---------------------Application Subnet Rules ------------------------- #Create a Network Security Group for Application Subnet New-AzureNetworkSecurityGroup -Name "APP-NSG" -Location $AzureRegion -Label "NSG for Application Subnet of $AzureVNET" # Adding a Rule to deny Inbound TCP traffic from Database Subnet Get-AzureNetworkSecurityGroup -Name "APP-NSG" | Set-AzureNetworkSecurityRule -Name DBDeny -Type Inbound -Priority 100 ` -Action Deny -SourceAddressPrefix '172.16.3.0/24' -SourcePortRange '*' -DestinationAddressPrefix '172.16.2.0/24' ` -DestinationPortRange '*' -Protocol TCP # Adding a Rule to allow Inbound WEB (TCP/80) traffic from Front End Subnet Get-AzureNetworkSecurityGroup -Name "APP-NSG" | Set-AzureNetworkSecurityRule -Name WEB -Type Inbound -Priority 110 ` -Action Allow -SourceAddressPrefix '172.16.1.0/24' -SourcePortRange '*' -DestinationAddressPrefix '172.16.2.0/24' ` -DestinationPortRange '80' -Protocol TCP # Adding a Rule to allow Inbound RDP (TCP/3389) traffic from Internet, for management Get-AzureNetworkSecurityGroup -Name "APP-NSG" | Set-AzureNetworkSecurityRule -Name RDP -Type Inbound -Priority 120 ` -Action Allow -SourceAddressPrefix 'INTERNET' -SourcePortRange '*' -DestinationAddressPrefix '172.16.2.0/24' ` -DestinationPortRange '3389' -Protocol TCP # Assign the Network Security Group to Database Subnet Get-AzureNetworkSecurityGroup -Name "APP-NSG" | Set-AzureNetworkSecurityGroupToSubnet -VirtualNetworkName $AzureVNET -SubnetName "Application" # Network Security Group Rules and details Get-AzureNetworkSecurityGroup -Name "APP-NSG" -Detailed We can get all the details about applied Network Security Groups using the command:
    Get-AzureNetworkSecurityGroup -Name "DB-NSG" -Detailed http://vaggeliskappas.com/wp-content/uploads/2015/06/NSG-05-e1433179942554.png
    Get-AzureNetworkSecurityGroup -Name "APP-NSG" -Detailed http://vaggeliskappas.com/wp-content/uploads/2015/06/NSG-06-e1433180072727.png References
    About Network Security Groups Network Security Groups  
    The post Secure Azure Virtual Network using Network Security Groups appeared first on Vaggelis Kappas.
  2. kavag
    A client of mine has asked me if it would be possible to run pfSense as a Microsoft Azure IaaS Virtual Machine. pfSense® software is a free, open source customized distribution of FreeBSD, specifically tailored for use as a firewall and router that is entirely managed via web interface.
    At that time, I had in mind that running FreeBSD 10 under Hyper-V and in Microsoft Azure, is something that can be done. So, I decided to build a deployment as a Proof of Concept and to write a blog post about this deployment.

    This post will provide instructions and all the necessary steps to prepare, upload and run pfSense-2.2.3 in Microsoft Azure.
    Please note, that FreeBSD is not currently an endorsed distribution in Microsoft Azure and therefore is not supported.
    Resources
    Latest Stable Version of pfSense Running FreeBSD in Azure User Defined Routes and other Azure Virtual Network enhancements that announced at Microsoft Ignite 2015 Design
    Let’s put, what we want to achieve, into context. The deployment’s design is as follows:
     http://vaggeliskappas.com/wp-content/uploads/2015/07/pfSense01.png
    Procedure
    In order to prepare a pfSense image for Microsoft Azure, we should download the latest x64 image and install it locally, on a server with Windows Server 2012 R2, as a Hyper-V Virtual Machine:
    Download the latest x64 pfSense image from Latest Stable Version of pfSense (As of July 2015 the latest version is 2.2.3) Decompress the image file to extract the Installation ISO pfSense-LiveCD-2.2.3-RELEASE-amd64-20150623-1637.iso Attach the ISO file as a DVD Drive to newly created Hyper-V Virtual Machine http://vaggeliskappas.com/wp-content/uploads/2015/07/pfSense02.png
    Start the installation of pfSense http://vaggeliskappas.com/wp-content/uploads/2015/07/pfSense03.png
    After successful installation of pfSense, enable SSH http://vaggeliskappas.com/wp-content/uploads/2015/07/pfSense04.png
    Install Python 2.7 and required modules [2.2.3-RELEASE][[email protected]]/: pkg install python27 py27-asn1 Updating FreeBSD repository catalogue... FreeBSD repository is up-to-date. All repositories are up-to-date. Checking integrity... done (0 conflicting) The following 3 package(s) will be affected (of 0 checked): New packages to be INSTALLED: python27: 2.7.10 py27-asn1: 0.1.7,1 py27-setuptools27: 17.0 The process will require 67 MiB more space. Proceed with this action? [y/N]: y [1/3] Installing python27-2.7.10... [1/3] Extracting python27-2.7.10: 100% [2/3] Installing py27-setuptools27-17.0... [2/3] Extracting py27-setuptools27-17.0: 100% [3/3] Installing py27-asn1-0.1.7,1... [3/3] Extracting py27-asn1-0.1.7,1: 100% Message for python27-2.7.10: ===================================================================== Note that some standard Python modules are provided as separate ports as they require additional dependencies. They are available as: bsddb databases/py-bsddb gdbm databases/py-gdbm sqlite3 databases/py-sqlite3 tkinter x11-toolkits/py-tkinter ===================================================================== [2.2.3-RELEASE][[email protected]]/: You should symlink the new python 2.7 binary
    [2.2.3-RELEASE][[email protected]]/: ln -s /usr/local/bin/python2.7 /usr/bin/python  Install sudo Typically on Azure, root account is disabled and we using uprovileged user to login. An unprivileged user should utilize sudo to run commands with elevated privileges.
    [2.2.3-RELEASE][[email protected]]/: pkg install sudo Updating FreeBSD repository catalogue... FreeBSD repository is up-to-date. All repositories are up-to-date. The following 1 package(s) will be affected (of 0 checked): New packages to be INSTALLED: sudo: 1.8.14 The process will require 3 MiB more space. 796 KiB to be downloaded. Proceed with this action? [y/N]: y Fetching sudo-1.8.14.txz: 100% 796 KiB 815.0kB/s 00:01 Checking integrity... done (0 conflicting) [1/1] Installing sudo-1.8.14... [1/1] Extracting sudo-1.8.14: 100% [2.2.3-RELEASE][[email protected]]/:  Install the Azure Linux Agent GitHub is the repository where you can find the latest version of Azure Linux Agent
    https://github.com/Azure/WALinuxAgent
    Version 2.0.10 or later is required for FreeBSD. Branch 2.0 is typically very stable and as of July 2015 the latest version is 2.0.14.
    [2.2.3-RELEASE][[email protected]]/: wget https://raw.githubusercontent.com/Azure/WALinuxAgent/2.0/waagent --2015-07-23 13:25:16-- https://raw.githubusercontent.com/Azure/WALinuxAgent/2.0/waagent Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.31.17.133 Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.31.17.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 245087 (239K) [text/plain] Saving to: 'waagent' waagent 100%[======================================================>] 239.34K 624KB/s in 0.4s 2015-07-23 13:25:17 (624 KB/s) - 'waagent' saved [245087/245087] [2.2.3-RELEASE][[email protected]]/: mv ./waagent /usr/sbin/ [2.2.3-RELEASE][[email protected]]/: chmod 755 /usr/sbin/waagent [2.2.3-RELEASE][[email protected]]/: /usr/sbin/wa [2.2.3-RELEASE][[email protected]]/: /usr/sbin/waagent -install [2.2.3-RELEASE][[email protected]]/:
    Set IP Addresses Configure WAN (hn0) Interface as DHCP client.
    Assign Static IP Address, 172.16.2.10, to LAN (hn1) Interface
    http://vaggeliskappas.com/wp-content/uploads/2015/07/pfSense05.png
     Shutdown The pfSense Virtual Machine Now the pfSense Virtual Machine is ready for running in Microsoft Azure.
    Upload the pfSense-2.3.3 VHD to Azure
    Using the following PowerShell commands, first we upload the pfSense VHD to Microsoft Azure Storage Account and then we create a custom image:
    # Variables Section $DestFile = "https://pfsa.blob.core.windows.net/vhds/pfSense-2.2.3-amd64.vhd" $SourceFile = "C:\Hyper-V\pfSense\Virtual Hard Disks\pfSense-2-2-3.vhd" # VHD Upload Add-AzureVhd -Destination $DestFile -LocalFilePath $SourceFile # Create an Image Add-AzureVMImage -ImageName "pfSense-2.2.3" -MediaLocation $DestFile -OS Linux Note that we are using OS type Linux instead of FreeBSD as it is not currently supported.
    Create a Multi-NIC Virtual Machine
    The custom image that we created previously, can be used in order to create a pfSense Virtual Machine with two Virtual Network Interfaces (vNIC), in Microsoft Azure. More details about creating a Virtual Machine with Multiple vNICs in Microsoft Azure, you can find in a previous post here:
    Create a Virtual Machine with Multiple NICs in Azure IaaS
    A pfSense Virtual Machine with two vNICs will be created by running the following PowerShell commands:
    $location = "West Europe" $serviceName = "pfsvc" $vnet = "pf-VNET" $subscriptionName = 'My MSDN Subscription' $storageAccount = 'pfsa' $adminUser = "adminuser" $pwd = "*********" $imageName = "pfSense-2.2.3" $MultiVM = New-AzureVMConfig -ImageName $ImageName ` -Name "pfSense-FW01" -InstanceSize ExtraLarge | Add-AzureProvisioningConfig -Linux -LinuxUser $adminUser ` -Password $pwd | Set-AzureSubnet -SubnetNames "Front-End" | Set-AzureStaticVNetIP -IPAddress "172.16.1.10" | Add-AzureNetworkInterfaceConfig -Name "LAN NIC" ` -SubnetName "LAN-Subnet" -StaticVNetIPAddress 172.16.2.10 New-AzureVM -ServiceName $serviceName ` -Location $location ` -VNetName $vnet ` -VMs $MultiVM
    Setup User Defined Routes
    With user defined routes, we have complete control over the traffic flow in our virtual network. Virtual network by default provides system routes for traffic flow between virtual machines. Now, we can customize the routing table by defining routes and that is allowing us to direct traffic through pfSense Virtual Machine that we have just created. Routes can be defined inside a routing table and applied to subnets. Every VM within a subnet automatically inherits the routes from the routing table.
    The following PowerShell commands, allowing us to:
    Create the routing tables Create routes in the routing tables Apply routing tables to subnets Enable IP Forwarding on pfSense’s vNICs # # Variables Section # $Location="West Europe" $VNetName="pf-VNET" $FrontendName="FE-Subnet" $LANName="LAN-Subnet" $ServiceName = "pfsvc" $VM = Get-AzureVM -Name "pfSense-FW01" -ServiceName $serviceName # Set the route table of the Frontend network: # $FrontRT = New-AzureRouteTable -Name $FrontendName ` -Location $Location -Label "FE-RT" Set-AzureRoute -RouteTable $FrontRT -RouteName "DMZ-Route" ` -AddressPrefix "172.16.2.0/24" -NextHopType "VirtualAppliance" ` -NextHopIpAddress "172.16.1.10" Set-AzureSubnetRouteTable -VirtualNetworkName $VNetName ` -SubnetName $FrontendName -RouteTableName $FrontendName # Set the route table of the LAN network: # $LANRT = New-AzureRouteTable -Name $LANName ` -Location $Location -Label "LAN-RT" Set-AzureRoute -RouteTable $LANRT -RouteName "FE-Route" ` -AddressPrefix 172.16.1.0/24 -NextHopType VirtualAppliance ` -NextHopIpAddress 172.16.2.10 Set-AzureRoute -RouteTable $LANRT -RouteName default -AddressPrefix 0.0.0.0/0 ` -NextHopType VirtualAppliance -NextHopIpAddress 172.16.2.10 Set-AzureSubnetRouteTable -VirtualNetworkName $VNetName -SubnetName $LANName ` -RouteTableName $LANName # Enable IP Forwarding on the main NIC and secondary NICs: # Set-AzureIPForwarding -ServiceName $ServiceName -VM $VM -Enable Set-AzureIPForwarding -ServiceName $ServiceName -VM $VM ` -NetworkInterfaceName "LAN NIC" -Enable The pfSense Virtual Machines must be able to receive incoming traffic that is not addressed to itself and this is the reason to enable IP forwarding. The post Running pfSense as an Azure IaaS Virtual Machine appeared first on Vaggelis Kappas.
  3. kavag
    In the unlikely event that you have not heard, Windows Server 2016 Technical Preview 3 (TP3) is now available for download.
    You can get it from TechNet Evaluation Center
    http://vaggeliskappas.com/wp-content/uploads/2015/08/WS2016TP3-Eval.png
    You can find it in Azure’s Image Gallery

    http://vaggeliskappas.com/wp-content/uploads/2015/08/WS2016TP3-Azure.png
    You can find it on your MSDN Subscription
    http://vaggeliskappas.com/wp-content/uploads/2015/08/WS2016TP3-MSDN.png
    For more information about TP3 you can visit the following Microsoft blogs:
    What’s new in Windows Server 2016 and System Center 2016 Technical Preview 3
    New Windows Server Preview Fuels Application Innovation with Containers, Software-Defined Datacenter Updates
    Announcing Windows Server 2016 Containers Preview
    Enjoy !
    The post Windows Server 2016 Technical Preview 3 (TP3) is now available appeared first on Vaggelis Kappas.
  4. kavag
    Lately, I have been under the rock of work and that is why i didn’t write about this sooner. On October 1st I received an email saying:
    http://vaggeliskappas.com/wp-content/uploads/2015/10/MVP2015.png
    As you can imagine i was eagerly awaiting for this email and the excitement i got was really great.
    I would like to thank all community members of autoexec.gr and friends, many of whom are or were fellow MVPs, for their help, support and guidance throughout this last year.
    Last but not least, I would like to thank my friends working at Microsoft Hellas for continuously supporting the community and for the confidence they showed me, ‘’pushing’’ me forward.
    I look forward to continuing my contribution to IT Pros community with the same passion for the years to come.
    The post 2015 Microsoft MVP Award on Hyper-V appeared first on Vaggelis Kappas.
  5. kavag
    What is Nano Server ?
    Nano Server is a new installation option that became available with the arrival of Windows Server 2016 Technical Preview. It is a purpose-built, stripped down operating system designed to run services and to be managed remotely.
    Windows Server 2016 will offer the following installation options:
    http://vaggeliskappas.com/wp-content/uploads/2015/11/NanoServer01-1024x638.png
    Nano Server has been designed according to Zero-Footprint model and its size on disk is around 500MB. It has no GUI, binaries or metadata in the OS image, it sets up significantly faster and requires far fewer updates and restarts than Windows Server.

    As an installation option cannot be selected during Windows Server Setup and in order to prepare and customize a VHD image with Nano Server, PowerShell should be used. Nano Server can run either as a Virtual or Physical Machine supporting the following Roles and Features:
    Role / Feature Physical / Virtual Description Compute Physical Hyper-V Role Storage Both Storage role Clustering Both Failover Clustering role Reverse Forwarders Both Helps in testing legacy tools Defender Both Anti-Malware Defender package OEM drivers Physical Selection of drivers that ship in-box with Server Core Guest drivers Virtual Drivers needed to run Nano Server as a VM In order to deploy Nano Server as a Virtual Machine into a Hyper-V host running Windows Server 2016, the following procedure could be used:
    Step 1 – Mount the ISO
    Mount the Windows Server 2016 Technical Preview ISO and copy the contents of \NanoServer folder. If the drive letter for the mounted image is G:\ run the following commands:
    md C:\NanoServer xcopy G:\NanoServer C:\NanoServer /s
    Step 2 – Dot-Source the Scripts
    The PowerShell Scripts that are included into the Installation folder need to be dot-sourced, in order to be used for the Nano Server VHD creation. Alternatively, it is possible to use another PowerShell Script that you will find at TechNet Library or GitHub, for that matter.
    cd C:\NanoServer . .\Convert-WindowsImage.ps1 . .\New-NanoServerImage.ps1
    Step 3 – Create a VHD
    Run the following command to prepare a Nano Server VHD:
    New-NanoServerImage -MediaPath G:\ -BasePath .\Base ` -TargetPath .\NSVM01 -ComputerName NSVM01 ` –GuestDrivers –language en-us -Storage -Clustering ` -EnableIPDisplayOnBoot -DomainName "MGMT.local" ` -EnableRemoteManagementPort New-NanoServerImage CmdLet allows us to specify Media and Target Path, set the Computer Name, add right set of drivers for Physical or Virtual Machine, select if the Nano Server will join an Active Directory Domain etc. Most important, it allows us to select which Roles or Features are going to be installed.
    Step 4 – Create a Virtual Machine
    As soon as the New-NanoServerImage.ps1 has been successfully completed, a new VHD with Nano Server will be available and can be attached as a boot device to a Generation 1 Virtual Machine.
    VM creation can be done with the following script:
    $VMName = "NSVM01" $VMPath = "F:\Hyper-V\"+$VMName $VirtualSwitchName = "vSwitch-INT" New-VM -Name $VMName -MemoryStartupBytes 1GB -SwitchName $VirtualSwitchName ` -VHDPath "$($VMPath)\NSVM01.vhd" -Generation 1 ` | Set-VM -ProcessorCount 2 Start-VM $VMName A couple of seconds after hitting the Start-VM Command, Nano Server will boot and the following screen will appear:
    http://vaggeliskappas.com/wp-content/uploads/2015/11/NanoServer02-1024x950.png
    Next, Login using Domain credentials and the Emergency Management Console will appear:
    http://vaggeliskappas.com/wp-content/uploads/2015/11/NanoServer03-1024x953.pngNavigate using TAB, choose Networking and get Network Adapter’s Settings as shown below:
    http://vaggeliskappas.com/wp-content/uploads/2015/11/NanoServer04-1024x950.pngHow-to Manage the Nano Server
    Nano Server has no GUI or any other console, except of Emergency Management Console that right now is very restricted and can be used only to display Network Adapter’s Properties. So, how can we manage Nano Server?
    Can be managed Remotely using the following tools:
    Remote Graphical Tools (Server Manager, Hyper-V Manager, Disk Manager etc.) PowerShell Remoting PowerShell Direct Third Party Tools & Frameworks (Chef, ASP.NET 5 etc.) Enter a PowerShell remote Session, using the following command:
    Enter-PSSession -ComputerName NSVM01 -Credential MGMT\administrator Then run Get-Process Cmdlet and get the processes that are running to the Nano Server
    http://vaggeliskappas.com/wp-content/uploads/2015/11/NanoServer05-1024x699.png
    Resources
    More information about Nano Server and its deployment Scripts you can find at the following URLs:
    http://aka.ms/NanoServer PowerShell Script to build your Nano Server Image The post Getting Started with Nano Server appeared first on Vaggelis Kappas.
  6. kavag
    Microsoft Office 365 combines Microsoft Office desktop suite with cloud-based versions of communication and collaboration services like Microsoft Exchange Online, Microsoft SharePoint Online, Microsoft Office Web Apps, and Microsoft Lync Online. Each of these, online provided, services has its own bandwidth requirements.
    When estimating network traffic, there are many variables to consider. Some of these are:
    The online services that your company has subscribed to
    The number of client computers that is in use simultaneously
    The task each client computer is performing
    The company’s network topology and the capacity of the various pieces of network hardware
    The number and the capacity of the network connections and network segments associated with each client computer

     
    In this article we are going to provide guidelines for rough (simple) estimation of the network bandwidth, each service is going to consume. Detailed specifications are beyond the scope of this article. For detailed documentation, business requirements, assessment and deployment preparation you can go to OnRamp for Office 365Microsoft Exchange Online
    In this section we are going to estimate the network bandwidth that your company would need to access Microsoft Exchange Online. To do this, we are going to use a very useful tool called Exchange Client Network Bandwidth Calculator and you can find it here. This tool can help you to reduce the risks involved in Exchange Server network bandwidth planning and is suitable for Exchange Online as well as Exchange On Premises.
    If you are already running Exchange Server On Premises you can use PowerShell or tools like Exchange Server Profile analyzer, in order to determine mailbox size, average message size, messages sent and received per mailbox per day etc.
    In this calculation we have used User Profile data as suggested by the Exchange Client Network Bandwidth Calculator. The following table lists the message usage for light, medium, heavy, and very heavy e-mail users
    ActivityLightMediumHeavyVery HeavyMessages sent per day5102030Messages received per day204080120Average message size50 KB50 KB50 KB50 KBAverage Mailbox Size2 GB2 GB2 GB2 GB
    The network traffic that is generated by each type of user in each e-mail client, is on the following table. All values are in kilobytes (KB) per day per user.E-Mail ClientLightMediumHeavyVery HeavyOutlook 2010 (OA-Cached),Receive2435 KB3701 KB6233 KB9437 KBOutlook 2010 (OA-Cached),Send319 KB638 KB1277 KB1915 KBOWA 2010,Receive1835 KB3635 KB7229 KB10823 KBOWA 2010,Send561 KB1122 KB2244 KB3365 KBOutlook 2011 (EWS),Receive3317 KB5276 KB9194 KB14097 KBOutlook 2011 (EWS),Send1061 KB2122 KB4243 KB6365 KB
    To apply this information to your company, consider the following examples. Each example assumes that the users are in the same time zone and that they perform most of their work during the same eight hours of the day.
    Example 1, 50 Heavy Outlook 2011 users: In order to calculate the network bandwidth consumption in bytes per second, we must use the following formula
    Received bytes/sec = (50 heavy users × (9,194 KB/user ÷ day)) ÷ (8 hr/day × 3600 sec/hr) = 15.96 KB/sec
    Sent bytes/sec = (50 heavy users × (4,243 KB/user ÷ day)) ÷ (8 hr/day × 3600 sec/hr) = 7.36 KB/sec
    These are average rates, if we assume a daily peak of twice the average usage, the network connection would need to support approximately 32 KB/sec of Download Speed and 16 KB/sec of Upload speed.

    Example 2, 30 Medium OWA users: In order to calculate the network bandwidth consumption in bytes per second, we must use the following formula
    Received bytes/sec = (30 heavy users × (7,229 KB/user ÷ day)) ÷ (8 hr/day × 3600 sec/hr) = 7.53 KB/sec
    Sent bytes/sec = (50 heavy users × (2,244 KB/user ÷ day)) ÷ (8 hr/day × 3600 sec/hr) = 2.33 KB/sec
    These are average rates, if we assume a daily peak of twice the average usage, the network connection would need to support approximately 16 KB/sec of Download Speed and 6 KB/sec of Upload speed.

    You can use the Exchange Client Network Bandwidth Calculator spreadsheet and choose your users profiles mixing.Microsoft SharePoint Online
    In this section we are going to estimate the network bandwidth that your company would need to access Microsoft SharePoint Online. This estimation is based to the following assumptions:
    An average page load (interaction) transfers approximately 100 KB.
    A typical user generates about 40 interactions per hour.
    About 20 percent of a company’s users will be active at the same time.

    With that been said, consider the following example, having in mind that this example assumes that all of the users are in the same time zone and that they perform most of their work during the same eight hours of the day.
    In this example a company has 100 SharePoint Online Users and we calculate the average network traffic for each user using this formula: bits per second = (102,400 bytes/load × 8 bits/byte × 40 loads/hr) ÷ 3600 seconds/hr = 9102 bits per second
    With the assumption that only 20% of company’s users will be active at the same time, those 20 users would require 20 × 9102 bits per second = 177,77 Kilobits per second.
    if we assume a daily peak twice the average usage, the network connection would need to support approximately 360 Kb/sec.
    In addition to the bandwidth requirement, SharePoint Online requires a network latency of no greater than 250 milliseconds.
    For more detailed information about capacity planning for SharePoint Online, see Plan for bandwidth requirements.Microsoft Lync Online
    The estimation of bandwidth requirements for Microsoft Lync Online can be challenging as it depends on many parameters.
    Generally, the network bandwidth usage is based on each user. The starting point for understanding the network bandwidth requirements for Lync Online is documented in the article, Network Bandwidth Requirements for Media Traffic, published in Microsoft Technet
    There is also a bandwidth calculator available for download.
    In planning phase you can use the Transport Reliability IP Probe (TRIPP) tool using the following URLs according to your physical location:
    Amsterdam, NL: http://trippams.online.lync.com
    Blue Ridge, VA: http://trippbl2.online.lync.com
    Dublin, IE: http://trippdb3.online.lync.com
    Hong Kong: http://tripphkn.online.lync.com
    San Antonio, TX: http://trippsn2.online.lync.com
    Singapore: http://trippsg1.online.lync.com

    This tool can help you determine connectivity or bandwidth problems
    The bandwidth usage is determined by a number of factors, the Codec used (along with overhead), the Stream activity level and for video, the resolution/quality and frame rate.
    The post Simple network bandwidth consumption calculation for Office 365 appeared first on Vaggelis Kappas.
     
    Source
  7. kavag
    What is Nano Server ?
    Nano Server is a new installation option that became available with the arrival of Windows Server 2016 Technical Preview. It is a purpose-built, stripped down operating system designed to run services and to be managed remotely.
    Windows Server 2016 will offer the following installation options:

    Nano Server has been designed according to Zero-Footprint model and its size on disk is around 500MB. It has no GUI, binaries or metadata in the OS image, it sets up significantly faster and requires far fewer updates and restarts than Windows Server.

    As an installation option cannot be selected during Windows Server Setup and in order to prepare and customize a VHD image with Nano Server, PowerShell should be used. Nano Server can run either as a Virtual or Physical Machine supporting the following Roles and Features:
    Role / Feature Physical / Virtual Description Compute Physical Hyper-V Role Storage Both Storage role Clustering Both Failover Clustering role Reverse Forwarders Both Helps in testing legacy tools Defender Both Anti-Malware Defender package OEM drivers Physical Selection of drivers that ship in-box with Server Core Guest drivers Virtual Drivers needed to run Nano Server as a VM In order to deploy Nano Server as a Virtual Machine into a Hyper-V host running Windows Server 2016, the following procedure could be used:
    Step 1 – Mount the ISO
    Mount the Windows Server 2016 Technical Preview ISO and copy the contents of \NanoServer folder. If the drive letter for the mounted image is G:\ run the following commands:
    md C:\NanoServer xcopy G:\NanoServer C:\NanoServer /s
    Step 2 – Dot-Source the Scripts
    The PowerShell Scripts that are included into the Installation folder need to be dot-sourced, in order to be used for the Nano Server VHD creation. Alternatively, it is possible to use another PowerShell Script that you will find at TechNet Library or GitHub, for that matter.
    cd C:\NanoServer . .\Convert-WindowsImage.ps1 . .\New-NanoServerImage.ps1
    Step 3 – Create a VHD
    Run the following command to prepare a Nano Server VHD:
    New-NanoServerImage -MediaPath G:\ -BasePath .\Base ` -TargetPath .\NSVM01 -ComputerName NSVM01 ` –GuestDrivers –language en-us -Storage -Clustering ` -EnableIPDisplayOnBoot -DomainName "MGMT.local" ` -EnableRemoteManagementPort New-NanoServerImage CmdLet allows us to specify Media and Target Path, set the Computer Name, add right set of drivers for Physical or Virtual Machine, select if the Nano Server will join an Active Directory Domain etc. Most important, it allows us to select which Roles or Features are going to be installed.
    Step 4 – Create a Virtual Machine
    As soon as the New-NanoServerImage.ps1 has been successfully completed, a new VHD with Nano Server will be available and can be attached as a boot device to a Generation 1 Virtual Machine.
    VM creation can be done with the following script:
    $VMName = "NSVM01" $VMPath = "F:\Hyper-V\"+$VMName $VirtualSwitchName = "vSwitch-INT" New-VM -Name $VMName -MemoryStartupBytes 1GB -SwitchName $VirtualSwitchName ` -VHDPath "$($VMPath)\NSVM01.vhd" -Generation 1 ` | Set-VM -ProcessorCount 2 Start-VM $VMName A couple of seconds after hitting the Start-VM Command, Nano Server will boot and the following screen will appear:

    Next, Login using Domain credentials and the Emergency Management Console will appear:
    Navigate using TAB, choose Networking and get Network Adapter’s Settings as shown below:
    How-to Manage the Nano Server
    Nano Server has no GUI or any other console, except of Emergency Management Console that right now is very restricted and can be used only to display Network Adapter’s Properties. So, how can we manage Nano Server?
    Can be managed Remotely using the following tools:
    Remote Graphical Tools (Server Manager, Hyper-V Manager, Disk Manager etc.) PowerShell Remoting PowerShell Direct Third Party Tools & Frameworks (Chef, ASP.NET 5 etc.) Enter a PowerShell remote Session, using the following command:
    Enter-PSSession -ComputerName NSVM01 -Credential MGMT\administrator Then run Get-Process Cmdlet and get the processes that are running to the Nano Server

    Resources
    More information about Nano Server and its deployment Scripts you can find at the following URLs:
    http://aka.ms/NanoServer PowerShell Script to build your Nano Server Image The post Getting Started with Nano Server appeared first on Vaggelis Kappas.


  8. kavag
    Lately, I have been under the rock of work and that is why i didn’t write about this sooner. On October 1st I received an email saying:

    As you can imagine i was eagerly awaiting for this email and the excitement i got was really great.
    I would like to thank all community members of autoexec.gr and friends, many of whom are or were fellow MVPs, for their help, support and guidance throughout this last year.
    Last but not least, I would like to thank my friends working at Microsoft Hellas for continuously supporting the community and for the confidence they showed me, ‘’pushing’’ me forward.
    I look forward to continuing my contribution to IT Pros community with the same passion for the years to come.
    The post 2015 Microsoft MVP Award on Hyper-V appeared first on Vaggelis Kappas.


  9. kavag
    In the unlikely event that you have not heard, Windows Server 2016 Technical Preview 3 (TP3) is now available for download.
    You can get it from TechNet Evaluation Center

    You can find it in Azure’s Image Gallery


    You can find it on your MSDN Subscription

    For more information about TP3 you can visit the following Microsoft blogs:
    What’s new in Windows Server 2016 and System Center 2016 Technical Preview 3
    New Windows Server Preview Fuels Application Innovation with Containers, Software-Defined Datacenter Updates
    Announcing Windows Server 2016 Containers Preview
    Enjoy !
    The post Windows Server 2016 Technical Preview 3 (TP3) is now available appeared first on Vaggelis Kappas.


  10. kavag
    A client of mine has asked me if it would be possible to run pfSense as a Microsoft Azure IaaS Virtual Machine. pfSense® software is a free, open source customized distribution of FreeBSD, specifically tailored for use as a firewall and router that is entirely managed via web interface.
    At that time, I had in mind that running FreeBSD 10 under Hyper-V and in Microsoft Azure, is something that can be done. So, I decided to build a deployment as a Proof of Concept and to write a blog post about this deployment.

    This post will provide instructions and all the necessary steps to prepare, upload and run pfSense-2.2.3 in Microsoft Azure.
    Please note, that FreeBSD is not currently an endorsed distribution in Microsoft Azure and therefore is not supported.
    Resources
    Latest Stable Version of pfSense Running FreeBSD in Azure User Defined Routes and other Azure Virtual Network enhancements that announced at Microsoft Ignite 2015 Design
    Let’s put, what we want to achieve, into context. The deployment’s design is as follows:
     
    Procedure
    In order to prepare a pfSense image for Microsoft Azure, we should download the latest x64 image and install it locally, on a server with Windows Server 2012 R2, as a Hyper-V Virtual Machine:
    Download the latest x64 pfSense image from Latest Stable Version of pfSense (As of July 2015 the latest version is 2.2.3) Decompress the image file to extract the Installation ISO pfSense-LiveCD-2.2.3-RELEASE-amd64-20150623-1637.iso Attach the ISO file as a DVD Drive to newly created Hyper-V Virtual Machine
    Start the installation of pfSense
    After successful installation of pfSense, enable SSH
    Install Python 2.7 and required modules [2.2.3-RELEASE][[email protected]]/: pkg install python27 py27-asn1 Updating FreeBSD repository catalogue... FreeBSD repository is up-to-date. All repositories are up-to-date. Checking integrity... done (0 conflicting) The following 3 package(s) will be affected (of 0 checked): New packages to be INSTALLED: python27: 2.7.10 py27-asn1: 0.1.7,1 py27-setuptools27: 17.0 The process will require 67 MiB more space. Proceed with this action? [y/N]: y [1/3] Installing python27-2.7.10... [1/3] Extracting python27-2.7.10: 100% [2/3] Installing py27-setuptools27-17.0... [2/3] Extracting py27-setuptools27-17.0: 100% [3/3] Installing py27-asn1-0.1.7,1... [3/3] Extracting py27-asn1-0.1.7,1: 100% Message for python27-2.7.10: ===================================================================== Note that some standard Python modules are provided as separate ports as they require additional dependencies. They are available as: bsddb databases/py-bsddb gdbm databases/py-gdbm sqlite3 databases/py-sqlite3 tkinter x11-toolkits/py-tkinter ===================================================================== [2.2.3-RELEASE][[email protected]]/: You should symlink the new python 2.7 binary
    [2.2.3-RELEASE][[email protected]]/: ln -s /usr/local/bin/python2.7 /usr/bin/python  Install sudo Typically on Azure, root account is disabled and we using uprovileged user to login. An unprivileged user should utilize sudo to run commands with elevated privileges.
    [2.2.3-RELEASE][[email protected]]/: pkg install sudo Updating FreeBSD repository catalogue... FreeBSD repository is up-to-date. All repositories are up-to-date. The following 1 package(s) will be affected (of 0 checked): New packages to be INSTALLED: sudo: 1.8.14 The process will require 3 MiB more space. 796 KiB to be downloaded. Proceed with this action? [y/N]: y Fetching sudo-1.8.14.txz: 100% 796 KiB 815.0kB/s 00:01 Checking integrity... done (0 conflicting) [1/1] Installing sudo-1.8.14... [1/1] Extracting sudo-1.8.14: 100% [2.2.3-RELEASE][[email protected]]/:  Install the Azure Linux Agent GitHub is the repository where you can find the latest version of Azure Linux Agent
    https://github.com/Azure/WALinuxAgent
    Version 2.0.10 or later is required for FreeBSD. Branch 2.0 is typically very stable and as of July 2015 the latest version is 2.0.14.
    [2.2.3-RELEASE][[email protected]]/: wget https://raw.githubusercontent.com/Azure/WALinuxAgent/2.0/waagent --2015-07-23 13:25:16-- https://raw.githubusercontent.com/Azure/WALinuxAgent/2.0/waagent Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.31.17.133 Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.31.17.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 245087 (239K) [text/plain] Saving to: 'waagent' waagent 100%[======================================================>] 239.34K 624KB/s in 0.4s 2015-07-23 13:25:17 (624 KB/s) - 'waagent' saved [245087/245087] [2.2.3-RELEASE][[email protected]]/: mv ./waagent /usr/sbin/ [2.2.3-RELEASE][[email protected]]/: chmod 755 /usr/sbin/waagent [2.2.3-RELEASE][[email protected]]/: /usr/sbin/wa [2.2.3-RELEASE][[email protected]]/: /usr/sbin/waagent -install [2.2.3-RELEASE][[email protected]]/:
    Set IP Addresses Configure WAN (hn0) Interface as DHCP client.
    Assign Static IP Address, 172.16.2.10, to LAN (hn1) Interface

     Shutdown The pfSense Virtual Machine Now the pfSense Virtual Machine is ready for running in Microsoft Azure.
    Upload the pfSense-2.3.3 VHD to Azure
    Using the following PowerShell commands, first we upload the pfSense VHD to Microsoft Azure Storage Account and then we create a custom image:
    # Variables Section $DestFile = "https://pfsa.blob.core.windows.net/vhds/pfSense-2.2.3-amd64.vhd" $SourceFile = "C:\Hyper-V\pfSense\Virtual Hard Disks\pfSense-2-2-3.vhd" # VHD Upload Add-AzureVhd -Destination $DestFile -LocalFilePath $SourceFile # Create an Image Add-AzureVMImage -ImageName "pfSense-2.2.3" -MediaLocation $DestFile -OS Linux Note that we are using OS type Linux instead of FreeBSD as it is not currently supported.
    Create a Multi-NIC Virtual Machine
    The custom image that we created previously, can be used in order to create a pfSense Virtual Machine with two Virtual Network Interfaces (vNIC), in Microsoft Azure. More details about creating a Virtual Machine with Multiple vNICs in Microsoft Azure, you can find in a previous post here:
    Create a Virtual Machine with Multiple NICs in Azure IaaS
    A pfSense Virtual Machine with two vNICs will be created by running the following PowerShell commands:
    $location = "West Europe" $serviceName = "pfsvc" $vnet = "pf-VNET" $subscriptionName = 'My MSDN Subscription' $storageAccount = 'pfsa' $adminUser = "adminuser" $pwd = "*********" $imageName = "pfSense-2.2.3" $MultiVM = New-AzureVMConfig -ImageName $ImageName ` -Name "pfSense-FW01" -InstanceSize ExtraLarge | Add-AzureProvisioningConfig -Linux -LinuxUser $adminUser ` -Password $pwd | Set-AzureSubnet -SubnetNames "Front-End" | Set-AzureStaticVNetIP -IPAddress "172.16.1.10" | Add-AzureNetworkInterfaceConfig -Name "LAN NIC" ` -SubnetName "LAN-Subnet" -StaticVNetIPAddress 172.16.2.10 New-AzureVM -ServiceName $serviceName ` -Location $location ` -VNetName $vnet ` -VMs $MultiVM
    Setup User Defined Routes
    With user defined routes, we have complete control over the traffic flow in our virtual network. Virtual network by default provides system routes for traffic flow between virtual machines. Now, we can customize the routing table by defining routes and that is allowing us to direct traffic through pfSense Virtual Machine that we have just created. Routes can be defined inside a routing table and applied to subnets. Every VM within a subnet automatically inherits the routes from the routing table.
    The following PowerShell commands, allowing us to:
    Create the routing tables Create routes in the routing tables Apply routing tables to subnets Enable IP Forwarding on pfSense’s vNICs # # Variables Section # $Location="West Europe" $VNetName="pf-VNET" $FrontendName="FE-Subnet" $LANName="LAN-Subnet" $ServiceName = "pfsvc" $VM = Get-AzureVM -Name "pfSense-FW01" -ServiceName $serviceName # Set the route table of the Frontend network: # $FrontRT = New-AzureRouteTable -Name $FrontendName ` -Location $Location -Label "FE-RT" Set-AzureRoute -RouteTable $FrontRT -RouteName "DMZ-Route" ` -AddressPrefix "172.16.2.0/24" -NextHopType "VirtualAppliance" ` -NextHopIpAddress "172.16.1.10" Set-AzureSubnetRouteTable -VirtualNetworkName $VNetName ` -SubnetName $FrontendName -RouteTableName $FrontendName # Set the route table of the LAN network: # $LANRT = New-AzureRouteTable -Name $LANName ` -Location $Location -Label "LAN-RT" Set-AzureRoute -RouteTable $LANRT -RouteName "FE-Route" ` -AddressPrefix 172.16.1.0/24 -NextHopType VirtualAppliance ` -NextHopIpAddress 172.16.2.10 Set-AzureRoute -RouteTable $LANRT -RouteName default -AddressPrefix 0.0.0.0/0 ` -NextHopType VirtualAppliance -NextHopIpAddress 172.16.2.10 Set-AzureSubnetRouteTable -VirtualNetworkName $VNetName -SubnetName $LANName ` -RouteTableName $LANName # Enable IP Forwarding on the main NIC and secondary NICs: # Set-AzureIPForwarding -ServiceName $ServiceName -VM $VM -Enable Set-AzureIPForwarding -ServiceName $ServiceName -VM $VM ` -NetworkInterfaceName "LAN NIC" -Enable The pfSense Virtual Machines must be able to receive incoming traffic that is not addressed to itself and this is the reason to enable IP forwarding. The post Running pfSense as an Azure IaaS Virtual Machine appeared first on Vaggelis Kappas.


  11. kavag
    The way that Network Virtualization is implemented in Hyper-V and subsequently in Microsoft Azure IaaS, enables explicitly the Routing between Virtual Subnets. This is the reason why the traffic between Virtual Subnets, that are part of the same Virtual Network, is unrestricted unless we have applied Network Security Groups.
    Network Security Groups Is a way to control traffic between Virtual Subnets of an Azure Virtual Network as well as the Internet. Moreover, Network Security Groups provide segmentation within Azure Virtual Network, by applying rules according to our needs and design.

    Until Network Security Groups became Generally Available, the only way to control traffic was endpoint based Access Control Lists. By applying ACLs to a Virtual Machine’s public endpoint, we have a way to control the ingress traffic to this port of this particular Virtual Machine. Network Security Groups takes this capability a step ahead and enables us to control all inbound as well as outbound traffic of a Virtual Machine or a Virtual Subnet.
    How does a Network Security Group (NSG) work ?
    A Network Security Group has a name and a descriptive label and is associated to an Azure Region. It contains Inbound and Outbound traffic rules and can be applied to a Virtual Machine, a Virtual Subnet or both.

    Associating an NSG to a VM – When an NSG is directly associated to a VM, the Network access rules in the NSG are directly applied to all traffic that is destined to the VM.
    Associating an NSG to a Subnet – When an NSG is associated to a subnet, the Network access rules in the NSG are applied to all the VMs in the subnet.
    Associating an NSG to a Subnet and a VM – It is possible that you can associate an NSG to a VM and a different NSG to the subnet where the VM resides. This is supported and in this case the VM gets two layers of protection. On the Inbound traffic the packet goes through the access rules specified in the subnet followed by rules in the VM and in the Outbound case it goes through the rules specified in the VM first before going through the rules specified in the subnet.
    Priorities and Default Rules
    As we mentioned above, an NSG contains Inbound and Outbound traffic Rules that we create according to our needs. These Rules are processed in the order of priority. Rules with lower priority number are processed before those with higher priority number and so on. Default rules are also there for a Network Security Group. These rules cannot be deleted but they have the lowest priority and, normally, they will be overridden.
    Azure Virtual Network
    Let’s assume that we want to deploy a three-tier application in Microsoft Azure IaaS offering. In this case, we create a Virtual Network as illustrated in the following figure:


    By default, Virtual Machines that are deployed to the Virtual Subnets (Front, App, DB) can communicate to each other and can have access to the Internet. This default behavior in some cases is not enough and Security and Access Control needs to be applied. By using Network Security Groups, the Virtual Network’s security is strengthened and Access Control Rules to inbound and outbound traffic are enforced.
    Create and use Network Security Groups – Step-By-Step
    As a demonstration, we are going to use the Virtual Network that we’ve created in the previous example. Let’s assume that we want to implement a more restrictive scenario, like the one shown in the following figure:
    In order to achieve the designed security and access control we should create traffic rules, that they can be summarized in the following table:

      Front End
    Subnet Application
    Subnet Database
    Subnet Internet Front End
    Subnet - Allow - TCP/80 Deny - All Allow - All Application
    Subnet Allow - TCP/80 - Allow - TCP/1433 Allow - TCP/3389 Database
    Subnet Deny - All Allow - TCP/1433 - Allow - TCP/3389 Internet Allow - All Allow - TCP/3389 Allow - TCP/3389 - Network Security Groups can be created and applied using PowerShell and REST API. In this example we are going to use PowerShell. As always, we will use the latest PowerShell Azure Module which can be downloaded from Azure Portal.
    Using the following script we can create and apply Access Control Rules and Network Security Groups
    # Setting the variables $AzureRegion = 'West Europe' $AzureVNET = 'Three-Tier-VNET' # ---------------------Database Subnet Rules ------------------------- # Create a Network Security Group for Database Subnet New-AzureNetworkSecurityGroup -Name "DB-NSG" -Location $AzureRegion -Label "NSG for Database Subnet of $AzureVNET" # Adding a Rule to deny Inbound TCP traffic from Front End Subnet Get-AzureNetworkSecurityGroup -Name "DB-NSG" | Set-AzureNetworkSecurityRule -Name FEDeny -Type Inbound -Priority 100 ` -Action Deny -SourceAddressPrefix '172.16.1.0/24' -SourcePortRange '*' -DestinationAddressPrefix '172.16.3.0/24' ` -DestinationPortRange '*' -Protocol TCP # Adding a Rule to allow Inbound SQL (TCP/1433) traffic from Application Subnet Get-AzureNetworkSecurityGroup -Name "DB-NSG" | Set-AzureNetworkSecurityRule -Name SQL -Type Inbound -Priority 110 ` -Action Allow -SourceAddressPrefix '172.16.2.0/24' -SourcePortRange '*' -DestinationAddressPrefix '172.16.3.0/24' ` -DestinationPortRange '1433' -Protocol TCP # Adding a Rule to allow Inbound RDP (TCP/3389) traffic from Internet, for management Get-AzureNetworkSecurityGroup -Name "DB-NSG" | Set-AzureNetworkSecurityRule -Name RDP -Type Inbound -Priority 120 ` -Action Allow -SourceAddressPrefix 'INTERNET' -SourcePortRange '*' -DestinationAddressPrefix '172.16.3.0/24' ` -DestinationPortRange '3389' -Protocol TCP # Assign the Network Security Group to Database Subnet Get-AzureNetworkSecurityGroup -Name "DB-NSG" | Set-AzureNetworkSecurityGroupToSubnet -VirtualNetworkName $AzureVNET -SubnetName "Database" # Network Security Group Rules and details Get-AzureNetworkSecurityGroup -Name "DB-NSG" -Detailed # ---------------------Application Subnet Rules ------------------------- #Create a Network Security Group for Application Subnet New-AzureNetworkSecurityGroup -Name "APP-NSG" -Location $AzureRegion -Label "NSG for Application Subnet of $AzureVNET" # Adding a Rule to deny Inbound TCP traffic from Database Subnet Get-AzureNetworkSecurityGroup -Name "APP-NSG" | Set-AzureNetworkSecurityRule -Name DBDeny -Type Inbound -Priority 100 ` -Action Deny -SourceAddressPrefix '172.16.3.0/24' -SourcePortRange '*' -DestinationAddressPrefix '172.16.2.0/24' ` -DestinationPortRange '*' -Protocol TCP # Adding a Rule to allow Inbound WEB (TCP/80) traffic from Front End Subnet Get-AzureNetworkSecurityGroup -Name "APP-NSG" | Set-AzureNetworkSecurityRule -Name WEB -Type Inbound -Priority 110 ` -Action Allow -SourceAddressPrefix '172.16.1.0/24' -SourcePortRange '*' -DestinationAddressPrefix '172.16.2.0/24' ` -DestinationPortRange '80' -Protocol TCP # Adding a Rule to allow Inbound RDP (TCP/3389) traffic from Internet, for management Get-AzureNetworkSecurityGroup -Name "APP-NSG" | Set-AzureNetworkSecurityRule -Name RDP -Type Inbound -Priority 120 ` -Action Allow -SourceAddressPrefix 'INTERNET' -SourcePortRange '*' -DestinationAddressPrefix '172.16.2.0/24' ` -DestinationPortRange '3389' -Protocol TCP # Assign the Network Security Group to Database Subnet Get-AzureNetworkSecurityGroup -Name "APP-NSG" | Set-AzureNetworkSecurityGroupToSubnet -VirtualNetworkName $AzureVNET -SubnetName "Application" # Network Security Group Rules and details Get-AzureNetworkSecurityGroup -Name "APP-NSG" -Detailed We can get all the details about applied Network Security Groups using the command:
    Get-AzureNetworkSecurityGroup -Name "DB-NSG" -Detailed
    Get-AzureNetworkSecurityGroup -Name "APP-NSG" -Detailed References
    About Network Security Groups Network Security Groups  
    The post Secure Azure Virtual Network using Network Security Groups appeared first on Vaggelis Kappas.


  12. kavag
    Every time I present a session about Microsoft Azure IaaS, the most common question is about Virtual Machines’ capability of getting more than one Virtual Network Interface (vNIC). At TechEd Europe 2014, Microsoft announced support for multiple Network Interfaces (vNICs) in Azure VMs, as well as other additions to Azure Virtual Networks like Network Security Groups.
    Moreover, the capability of adding more than one vNIC to a Virtual Machine will enable Virtual Appliances scenarios like Firewalls, Load Balancers etc.
    In this blogpost we are going to explore all the necessary steps for creating a Virtual Machine with multiple vNICs in Azure IaaS. So, let’s get started.

    How to create a Virtual Machine with multiple NICs
    According to our requirements we need to design our Virtual Network with all the required Subnets. The design phase should always precede every implementation. As an example, we can use the following diagram

    In this diagram, a Virtual Network for supporting a common three-tier application is displayed. This Virtual Network has three subnets, Front-End Subnet with network number 172.16.1.0/24, Mid-Tier Subnet with network number 172.16.2.0/24 and Back-End Subnet with network number 172.16.3.0/24. The scope of this blogpost is to create a Virtual Machine with three Network Interfaces, one in each subnet.
    Prerequisites and Constraints
    Multiple NICs can be added to any Azure Virtual Machine, except Basic Tier SKUs. However, the number of NICs, that can be created for a Virtual Machine, depends on its size and is shown in the following table:
     VM Size (Standard SKUs) NICs (max allowed per VM) Large (A3) and A6 2 Extra Large (A4) and A7 4 A9 2 D4 4 D13 4 – Multiple NICs can be added only to Virtual Machines belonging to a Virtual Network (VNET). Non-VNET VMs are not supported.
    – Every Azure Virtual Machine with Multiple NICs has a “default” NIC and additional ones. Internet traffic and its corresponding VIP is only supported on the “default” NIC. There is only one VIP to the IP of the default NIC.
    – A Virtual Machine with Multiple NICs cannot be used as an IP router. The IP packets must be destined to or sourced from one of its IP addresses.
    – The order of the NICs from inside the VM will be random, and could also change across Azure infrastructure updates. However, the IP addresses, and the corresponding Ethernet MAC addresses will remain the same. For example, assume Eth1 has IP address 10.1.0.100 and MAC address 00-0D-3A-B0-39-0D; after an Azure infrastructure update and reboot, it could be changed to Eth2, but the IP and MAC pairing will remain the same. When a restart is customer-initiated, the NIC order will remain the same.
    Create the required Virtual Network
    With the prerequisites and constraints being mentioned, let’s proceed to create the required Virtual Network. As written above, our VNET, with a name of DMZ-VNET, has three subnets: Front-End Subnet (172.16.1.0/24), Mid-Tier Subnet (172.16.2.0/24) and Back-End Subnet (172.16.3.0/24). We can use PowerShell or the management portal to create this VNET and once completed, it will look like this:
    Create the Multi-NIC VM
    The only way, for the time being, to create a Virtual Machine and add Multiple NICs to it, is via PowerShell. That is why we need the latest version of Azure PowerShell Module, which we can be found at http://azure.microsoft.com.

    Once the module is installed, we can use the following commands to create a new Virtual Machine (DMZ-GW) with three Network Interface Cards, each one connected to desired subnet. For better understanding, we have split the script in sections:
    # Create a Storage Account New-AzureStorageAccount -StorageAccountName dmzsa -Location "West Europe" New-AzureService -ServiceName "DMZCS" -Location "West Europe" # Select the Subscription we are going to work with Set-AzureSubscription -SubscriptionName "MSDN-Kappas" -CurrentStorageAccountName "dmzsa" Select-AzureSubscription -SubscriptionName "MSDN-Kappas" -Current # Setting some variables $location = "West Europe" $serviceName = "DMZCS" $vnet = "DMZ-VNET" $subscriptionName = 'MSDN-Kappas' $storageAccount = 'dmzsa' # Select an OS Image $imageFamily = "Windows Server 2012 R2 Datacenter" $imageName = Get-AzureVMImage | where { $_.ImageFamily -eq $imageFamily } | sort PublishedDate -Descending | select -ExpandProperty ImageName -First 1 # Enter required admin credentials $cred = Get-Credential -Message "Enter admin credentials for the VM(s)" $adminUser = $cred.UserName $pwd = $cred.GetNetworkCredential().Password # Define Virtual Machine's configuration $vm1 = New-AzureVMConfig -ImageName $ImageName -Name "DMZ-GW" -InstanceSize ExtraLarge | Add-AzureProvisioningConfig -Windows -AdminUsername $adminUser -Password $pwd | # Configure the "Default NIC" Set-AzureSubnet -SubnetNames "Front-End" | Set-AzureStaticVNetIP -IPAddress "172.16.1.10" | # Configure additional NICs Add-AzureNetworkInterfaceConfig -Name "MidTier NIC" -SubnetName "Mid-Tier" -StaticVNetIPAddress "172.16.2.10"| Add-AzureNetworkInterfaceConfig -Name "BackEnd NIC" -SubnetName "Back-End" -StaticVNetIPAddress "172.16.3.10" # Create the Virtual Machine New-AzureVM -ServiceName $serviceName ` -Location $location ` -VNetName $vnet ` -VMs $vm1 Multiple NICs Validation
    Once the Virtual Machine is created, we can connect via RDP in order to verify its Multiple NICs existence.


    As you can see, we have successfully created an Azure Virtual Machine with three NICs, as shown in the following diagram:


    The post Create a Virtual Machine with Multiple NICs in Azure IaaS appeared first on Vaggelis Kappas.


  13. kavag
    One question that is coming up too often, at least at TecEd Europe 2014, is if it’s possible to integrate an Azure AD that you got when you signed up to Office 365 with the one you have got when you subscribed to Microsoft Azure. The short answer is yes, it is possible and if you want to learn how this integration happens, then keep reading!
    This scenario means that there are two separate directories. The first one was created when you setup your Office 365 Subscription, while the second one came with Microsoft Azure Subscription.
    If you want to integrate these two directories, Office 365 Tenant into the Microsoft Azure Subscription then you should follow these few easy and quick steps.
    Prerequisites
    Office 365 Subscription Global Administrator account. Microsoft Azure Subscription created by a Microsoft account. Steps:
    Logon to Microsoft Azure Management Portal
    https://manage.windowsazure.com Go to Active Directory | New | Directory | Custom Create
    3. Change the Directory dropdown from the default Create new directory to Use existing directory and click the Check box.

    What happens next is that you are logged out of the Microsoft Azure administrative account and you are redirected to the Office 365 portal logon.
    Next Steps:
    Logon with a Global Administrator account from the Office 365 tenant that you would like to integrate with. After sign-in you are prompted to add the Microsoft Azure administrator account as a global administrator for the Office 365 Tenant directory, click on Continue. Finally, logout of the Office 365 global administrator account and then logon to https://manage.windowsazure.com with your global administrator account. Now you have your directories integrated. Enjoy !  
     
    The post Integrate Microsoft Azure Active Directory tenant with Office 365 appeared first on Vaggelis Kappas.


  14. kavag
    What an exciting day October 1st was!
    I received an email saying:
    I’ m very proud and honored for this award as it shows that my work and effort have been recognized and this fact gives me the strength and the inspiration to continue my contribution to the IT Pros community.

    I would like to thank all community members, autoexec.gr and friends, many of whom are or were fellow MVPs, for their help, support and guidance throughout this last year.
    Last but not least I would like to thank my friends working at Microsoft Hellas for continuously supporting the community and for the confidence they showed me, ‘’pushing’’ me forward.
    I look forward to continuing my contribution to the IT Pros community with the same passion for the years to come.
    The post Microsoft Hyper-V MVP Award 2014 (EN) appeared first on Vaggelis Kappas.


  15. kavag
    Με μεγάλη χαρά την πρώτη Οκτωβρίου έλαβα ένα email που έλεγε τα παρακάτω
    Είμαι πολύ χαρούμενος και υπερήφανος για τη διάκριση αυτή, η οποία μου δίνει τη δύναμη όσο και την έμπνευση, να συνεχίσω με αμείωτο ζήλο την προσπάθεια και την συνεισφορά στην κοινότητα των IT Pros.

    Θα ήθελα να ευχαριστήσω όλα τα μέλη της κοινότητας των IT Pros, το autoexec.gr και τους φίλους, πολλοί από τους οποίους είναι ή ήταν συν-MVPs, για όλη τη βοήθεια, την υποστήριξη και την καθοδήγηση τους όλο αυτό το χρονικό διάστημα.
    Τέλος θα ήθελα, ιδιαίτερα, να ευχαριστήσω τους φίλους στη Microsoft τόσο για τη διαρκή υποστήριξή τους στην κοινότητα όσο και για την εμπιστοσύνη που μου έδειξαν.
    Σας ευχαριστώ και πάλι και υπόσχομαι να συνεχίσω με αμείωτο ενδιαφέρον και πάθος όλη την προσπάθεια και την συνεισφορά στην κοινότητα των IT Pros.
    The post Microsoft Hyper-V MVP Award 2014 appeared first on Vaggelis Kappas.


  16. kavag
    Αυτό που ήταν γνωστό μέχρι τώρα και τονιζόταν ιδιαιτέρως, ήταν να μην αποδίδεται για οποιοδήποτε λόγο Static IP address στα Virtual Machines του Microsoft Azure IaaS. Ακόμη και εάν τα VMs προορίζονταν για Domain Controllers ή για DNS Servers.
    Όσοι μάλιστα το είχαν προσπαθήσει είδαν τα VMs που είχαν δημιουργήσει να εξαφανίζονται, ξαφνικά, από την κονσόλα διαχείρισης.
    Με τις τελευταίες όμως βελτιώσεις που έγιναν στις υπηρεσίες του Azure IaaS (Μάιος 2014), στην περίπτωση που το VM συνδέεται σε κάποιο Virtual Network, έχουμε την δυνατότητα πλέον να επιλέξουμε την επιθυμητή IP διεύθυνση που θα πάρει όταν θα ξεκινήσει ή μετά την επανεκκίνηση.

    Εάν έχουμε λοιπόν ένα Virtual Network που περιλαμβάνει υποδίκτυα (Subnets) όπως το παρακάτω

     και δημιουργήσουμε ένα VM που θα το συνδέσουμε π.χ. στο υποδίκτυο ADDS

    αυτό θα πάρει την πρώτη διαθέσιμη διεύθυνση από το Subnet, δηλαδή την 10.10.4.4. Tο δεύτερο VM που θα συνδεθεί στο δίκτυο αυτό θα πάρει την 10.10.4.5 κ.ο.κ.
    Πρέπει να σημειώσουμε ότι οι τρείς πρώτες διευθύνσεις κάθε δικτύου και υποδικτύου, από .1 έως .3, είναι κατειλημμένες από το Azure και δεν είναι διαθέσιμες.

    Όσο τα Virtual Machines είναι εν λειτουργία θα διατηρήσουν τις IP διευθύνσεις που τους έχει δώσει το Azure, ακόμη και στην περίπτωση του reboot ή του Shutdown μέσα από το λειτουργικό.
    Εάν όμως σταματήσουν (Stop) από το Management Portal ή μέσω του PowerShell τότε γίνονται de-provisioned. Αυτό σημαίνει ότι την επόμενη φορά που θα ξεκινήσουν θα αναζητήσουν την πρώτη διαθέσιμη IP διεύθυνση.
    Έτσι εάν κάνουμε Stop τα Virtual Machines, μέσω PowerShell και ξεκινήσουμε πρώτα το DC01 και μετά το DNS01 τότε οι IP διευθύνσεις που θα έχουν θα είναι οι εξής

    Βλέπουμε λοιπόν ότι τώρα που ξεκίνησε πρώτο το DC01 πήρε την πρώτη διαθέσιμη διεύθυνση IP δηλαδή την 10.10.4.4.
    Όπως είπαμε και παραπάνω, μέχρι τις πρόσφατες αλλαγές και βελτιώσεις, για να είμαστε σίγουροι για την διεύθυνση IP που θα πάρει ένα VM θα έπρεπε να ελέγχουμε την σειρά εκκίνησης (Startup Sequence).
    Αλλαγές Μαΐου 2014, Static Internal IP Address (DIP)
    Για ορισμένα Virtual Machines, όπως για παράδειγμα οι DNS Servers ή οι Domain Controllers το να αλλάζουν διευθύνσεις IP είναι κάτι που δεν είναι επιθυμητό.
    Τώρα λοιπόν μπορούμε εάν θέλουμε, μέσω του PowerShell, να εξασφαλίσουμε διευθύνσεις IP από το Virtual Network που έχουμε αναπτύξει στο Azure γι’ αυτά τα VMs.
    Ας δούμε πως
    Έλεγχος διαθεσιμότητας διεύθυνσης IP
    Για να δώσουμε μία διεύθυνση IP, θα πρέπει πρώτα να είμαστε σίγουροι ότι αυτή είναι διαθέσιμη. Ο έλεγχος της διαθεσιμότητας μιας διεύθυνσης IP γίνεται με την εντολή Test-AzureStaticVNetIP.
    Test-AzureStaticVNetIP -VNetName Labs-VNET -IPAddress 10.10.4.11 IsAvailable : True AvailableAddresses : {} OperationDescription : Test-AzureStaticVNetIP OperationId : f8c1df87-56ed-0adb-8c74-24bd82eeebe6 OperationStatus : Succeeded Απαραίτητο είναι το όνομα του Virtual Network στα Subnets του οποίου είναι η IP διεύθυνση για την οποία γίνεται ο έλεγχος.
    Ορισμός static internal IP (DIP) σε υπάρχον VM
    Αφού κάναμε έλεγχο για την διαθεσιμότητα της επιθυμητής διεύθυνσης IP και συγκεκριμένα της 10.10.4.11, μπορούμε να την δώσουμε σε ένα από τα Virtual Machines που έχουμε ήδη δημιουργήσει, π.χ. στο DNS01
    Get-AzureVM -ServiceName Labs-CS -Name DNS01 | Set-AzureStaticVNetIP -IPAddress 10.10.4.11 | Update-AzureVM Η εντολή Update-AzureVM θα κάνει την απαραίτητη επανεκκίνηση στο VM για να πάρει την επιθυμητή διεύθυνση IP

    Ορισμός static internal IP (DIP) σε νέο VM
    Εάν δημιουργούμε Virtual Machines μέσω PowerShell, έχουμε την δυνατότητα να δώσουμε την επιθυμητή διεύθυνση IP στην φάση της υλοποίησης
    $ImageName = "a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-201408.01-en.us-127GB.vhd" $admin="vkappas" $passwd="Admin@2014" New-AzureVMConfig -Name "DNS02" -InstanceSize "Small" -ImageName $ImageName | Add-AzureProvisioningConfig -Windows -AdminUsername $admin -Password $passwd | Set-AzureSubnet -SubnetNames "ADDS" | Set-AzureStaticVNetIP -IPAddress "10.10.4.12" | New-AzureVM -ServiceName "Labs-CS" -AffinityGroup "Labs-AG"
    Αφαίρεση static internal IP (DIP)
    Όπως δώσαμε την επιθυμητή διεύθυνση IP σε ένα VM, μπορούμε και να την αφαιρέσουμε ώστε αυτό να λάβει την πρώτη ελεύθερη κατά τα γνωστά.
    Η εντολή που θα χρησιμοποιήσουμε είναι η Remove-AzureStaticVNetIP ως εξής
    Get-AzureVM -ServiceName labs-CS -Name DNS01 | Remove-AzureStaticVNetIP | Update-AzureVM  
    The post Configuring a Static Internal IP Address (DIP) for a VM in Azure VNET appeared first on Vaggelis Kappas.


  17. kavag
    [note color=#fbf2ce]Στην σειρά των άρθρων ADFS vs. Password Sync θα παρουσιάσουμε αναλυτικά τις εναλλακτικές λύσεις με τις οποίες μπορεί να γίνει εφικτή η σύνδεση με μία ταυτότητα χρήστη (Single Sign On), στις υπηρεσίες που παρέχει η επιχείρηση είτε αυτές βρίσκονται στο εσωτερικό της δίκτυο (on premises) είτε φιλοξενούνται στο Cloud [/note]Active Directory Federation Services και DirSync
    Η υλοποίηση του Single Sign On, επιτρέπει την πρόσβαση στις εφαρμογές και τις υπηρεσίες μιας υβριδικής υποδομής (Hybrid), όπως είναι το email (Exchange) ή το intranet/extranet (SharePoint), μέσω μιας ταυτότητας χρήστη.
    Προϋποθέτει όμως, την λειτουργία μηχανισμού ενοποίησης και συγχρονισμού μέσω των υπηρεσιών Active Directory Federation Services (ADFS) και του Windows Azure Active Directory Sync.

    Επειδή η πρόσβαση των χειριστών στις απαραίτητες επιχειρηματικές υπηρεσίες, γίνεται μέσω των μοναδικών ταυτοτήτων χρήστη, είναι επόμενο πως η υποδομή που προσφέρει την ταυτοποίηση (SSO), η υποδομή δηλαδή του ADFS, θα πρέπει να φιλοξενείται σε συστήματα υψηλής διαθεσιμότητας και συνεχούς λειτουργίας.
    Έτσι, η ανάπτυξη των υπηρεσιών ταυτοποίησης και συγχρονισμού πρέπει να γίνεται σε συστοιχίες συστημάτων (Servers) που προσφέρουν υψηλή διαθεσιμότητα (Clusters), ενώ θα πρέπει να εξασφαλίζεται και η πρόσβαση των συστοιχιών αυτών στο Internet με αξιόπιστα κυκλώματα. Οι υπηρεσίες ταυτοποίησης που είναι απαραίτητες είναι οι εξής :
    Active Directory Domain Services (AD DS)
    Active Directory Federation Services (AD FS) και Active Directory Federation Services Proxy
    Directory synchronization services

    Η λειτουργία αυτών των υπηρεσιών και μάλιστα σε «υψηλή διαθεσιμότητα» προσθέτει μία εκτεταμένη υποδομή με Servers, συνδέσεις και υποστήριξη στην υποδομή μιας επιχείρησης πράγμα που οι σημερινές επιχειρήσεις θα ήθελαν να μετριάσουν, γι’ αυτό όλο και συχνότερα επιλέγουν το Windows Azure και τις υπηρεσίες Infrastructure as a Service που αυτό προσφέρει για να φιλοξενήσουν τέτοιου είδους υποδομές.Υλοποίηση ADFSΠεριγραφή
    Η εταιρεία που θα εξετάσουμε στο παρόν άρθρο, ονομάζεται Support 22 ΕΠΕ και διαθέτει το Domain Name, support22.com.
    Στα γραφεία αυτής, έχει αναπτυχθεί υποδομή Active Directory καθώς και διακίνησης ηλεκτρονικής αλληλογραφίας.
    Η Support 22 ΕΠΕ, εντάσσοντας όλο και περισσότερους απομακρυσμένους εργαζόμενους στο δυναμικό της, θέλει να χρησιμοποιήσει τις υπηρεσίες του Microsoft Office 365 για να προσφέρει υπηρεσίες ηλεκτρονικού ταχυδρομείου, πλατφόρμα συνεργασίας και αποθήκευσης εγγράφων καθώς και σύστημα ανταλλαγής άμεσων μηνυμάτων και τηλεδιασκέψεων, τόσο για τους απομακρυσμένους εργαζόμενους όσο και για εκείνους που εργάζονται στα γραφεία της.
    Οι παραπάνω υπηρεσίες, πρέπει να λειτουργούν σε πλήρη αρμονία και ενοποίηση με την ήδη υπάρχουσα υποδομή της, ενώ για την πρόσβαση στην ενοποιημένη υποδομή θα είναι απαραίτητη μία ταυτότητα χρήστη που θα εκδίδεται, θα συντηρείται και θα ανακαλείται μέσω του Active Directory στο εσωτερικό της δίκτυο.Σχέδιο
    Ο σχεδιασμός μιας τέτοιας υποδομής εξαρτάται από τον συνολικό αριθμό των χρηστών και είναι αντικείμενο μελέτης με πολλούς παράγοντες που πρέπει να συνυπολογιστούν όπως ο αριθμός των Servers που θα εξυπηρετήσουν την κάθε υπηρεσία (ADFS, ADFS Proxy, WAAD Sync) η τοποθέτηση τους στο δίκτυο, τα δικαιώματα πρόσβασης κ.λ.π. και δεν αποτελεί αντικείμενο που θα αναπτυχθεί με το παρόν άρθρο.
    Λεπτομέρειες και πληροφορίες σχετικά με τον σχεδιασμό μιάς τέτοιας υποδομής θα βρείτε εδώ
    Plan for and deploy AD FS for use with single sign-on
    Στο παρόν άρθρο θα προσεγγίσουμε το Single Sign On, υλοποιώντας μια απλούστερη υποδομή όπως φαίνεται στο παρακάτω σχέδιοΔιάταξη
    Η υποδομή αναπτύσσεται, με βάση το υβριδικό μοντέλο (Hybrid) και εκμεταλλεύεται την αξιοπιστία και την υψηλή διαθεσιμότητα του Windows Azure IaaS για την φιλοξενία όλων των απαραίτητων υπηρεσιών για την ταυτοποίηση των χρηστών.
    Το τμήμα της υποδομής που φιλοξενείται στο Windows Azure IaaS, συνδέεται με ασφάλεια και κρυπτογράφηση με την υπάρχουσα υποδομή στα γραφεία, μέσω καναλιού Site-to-Site VPN
    Για την υλοποίηση της υβριδικής υποδομής χρησιμοποιήσαμε τον αναλυτικό οδηγό που θα βρείτε εδώ
    Quick Start Guide for Integrating a Single Forest On-Premises Active Directory with Windows Azure AD
    Ο οδηγός συμπεριλαμβάνει και το ανάλογο PowerShell script που βοηθάει εξαιρετικά στην ολοκλήρωση όλων των απαραίτητων βημάτων για την υλοποίηση.
    Έτσι τρέχοντας το script στον ADFS Server, έχουμε την παρακάτω εικόνα
    Ακολουθώντας τα προτεινόμενα βήματα, ολοκληρώνεται η εγκατάσταση με επιτυχία.
    Οι μοναδικές ταυτότητες που χρειάζονται οι χρήστες για την πρόσβαση στις επιχειρηματικές υπηρεσίες εκδίδονται μέσω του Active Directory και συγχρονίζονται στο Microsoft Office 365, όπως φαίνεται στην παρακάτω εικόνα
    Για την πρόσβαση τους οι χρήστες, χρησιμοποιούν τις ταυτότητες τους, που είναι της μορφής χρήστης@support22.com
    Πηγαίνοντας λοιπόν στο portal.microsoftonline.com και βάζοντας την ταυτότητα που είπαμε παραπάνω
    Το σύστημα αναγνωρίζει ότι η ταυτότητα που δόθηκε ανήκει σε εταιρικό λογαριασμό και προωθεί το αίτημα για πιστοποίηση στην ADFS υποδομή
    Η υποδομή πιστοποιεί την ταυτότητα του χρήστη και έτσι αυτό αποκτά πρόσβαση στις απαραίτητες υπηρεσίες
    Πρέπει να τονίσουμε, ότι εκτός από την έκδοση της ταυτότητας χρήστη, το Active Directory στο εσωτερικό δίκτυο αναλαμβάνει και την διαχείριση της όπως αλλαγή password κ.λ.π. καθώς και την ανάκληση της.
    Έτσι στην περίπτωση που ένας χρήστης αποχωρήσει από την εταιρεία, ο διαχειριστής θα απενεργοποιήσει την ταυτότητα του και η πρόσβαση που είχε στις υπηρεσίες της εταιρείας θα ανακληθεί.
    The post ADFS vs. Password Synch (part 2) appeared first on Vaggelis Kappas.
     
    Source
  18. kavag
    [note color=#fbf2ce]Στην σειρά των άρθρων ADFS vs. Password Sync θα παρουσιάσουμε αναλυτικά τις εναλλακτικές λύσεις με τις οποίες μπορεί να γίνει εφικτή η σύνδεση με μία ταυτότητα χρήστη (Single Sign On), στις υπηρεσίες που παρέχει η επιχείρηση είτε αυτές βρίσκονται στο εσωτερικό της δίκτυο (on premises) είτε φιλοξενούνται στο Cloud [/note]Windows Azure Active Directory Password Sync
    Για την ενοποίηση του μηχανισμού έκδοσης ταυτότητας χρήστη της On-Premises υποδομής, του Active Directory, με εκείνης του Cloud, με το Windows Azure Active Directory, εκτός της ανάπτυξης της υποδομής ενοποίησης και συγχρονισμού (ADFS) που αναλύσαμε παραπάνω υπάρχει και μία ακόμη εναλλακτική λύση που δεν είναι άλλη από την λειτουργία του Windows Azure Active Directory Sync Tool αυτή την φορά όμως με ενεργοποιημένη την υποστήριξη Password Synchronization, τον συγχρονισμό δηλαδή των κωδικών πρόσβασης.
    Τι είναι
    Το Windows Azure Active Directory Sync Tool είναι το εργαλείο εκείνο που επιτρέπει τον συγχρονισμό των ταυτοτήτων χρήστη του Active Directory (on-premises identities) με τις ταυτότητες χρήστη του Windows Azure Active Directory (cloud identities) για την πρόσβαση στις υπηρεσίες του Cloud.
    Έτσι αφού ενεργοποιήσουμε τον μηχανισμό συγχρονισμού, εγκαταστήσουμε και εκτελέσουμε το Windows Azure Active Directory Sync Tool στο εσωτερικό δίκτυο της επιχείρησης, σύμφωνα με τις προτεινόμενες βέλτιστες πρακτικές, αυτό θα μας δημιουργήσει τις απαραίτητες ταυτότητες χρήστη στο Windows Azure Active Directory για την πρόσβαση στις υπηρεσίες του Cloud.
    Σε αυτό το εργαλείο, η λειτουργία του οποίου είναι απαραίτητη και στην περίπτωση του ADFS, ήρθε πρόσφατα να προστεθεί και η δυνατότητα του συγχρονισμού των κωδικών πρόσβασης, Password Synchronization.Πως λειτουργεί το Password Synchronization
    Ο συγχρονισμός των κωδικών πρόσβασης είναι μία επιπλέον δυνατότητα του Windows Azure Active Directory Sync Tool και λειτουργεί ως εξής:
    Για την κάθε ταυτότητα χρήστη, εξάγεται μία κωδικοποιημένη ακολουθία χαρακτήρων, ένα κρυπτογράφημα (hash), που αντιστοιχεί στον κωδικό πρόσβασης.
    Αυτό το κρυπτογράφημα «ανεβαίνει» και αποθηκεύεται στο Windows Azure Active Directory σαν κωδικός πρόσβασης της ταυτότητας χρήστη που συγχρονίζεται.Ασφάλεια κωδικών πρόσβασης
    Από την περιγραφή του τρόπου λειτουργίας της δυνατότητας Password Synchronization, έγινε φανερό ότι στο Windows Azure Active Directory δεν αποθηκεύεται απ’ ευθείας ο κωδικός πρόσβασης (plain text) αλλά ένα κρυπτογράφημα του. Είναι σημαντικό να τονίσουμε ότι με αυτό το κρυπτογράφημα (hash) δεν γίνεται να αποκτήσουμε πρόσβαση στις υπηρεσίες της On-Premises υποδομής.Υλοποίηση Windows Azure Active Directory Password SyncΠεριγραφή
    Η εταιρεία που θα εξετάσουμε στην περίπτωση του Password Synchronization, ονομάζεται MyHome PC ΕΠΕ και διαθέτει το Domain Name, myhomepc.gr.
    Η εταιρεία διαθέτει Server στον οποίο είναι εγκατεστημένη υποδομή Active Directory στην οποία συντηρούνται και φυλάσσονται οι ταυτότητες των χρηστών.
    Η MyHome PC ΕΠΕ θέλει να χρησιμοποιήσει τι υπηρεσίες του Microsoft Office 365 για να καλύψει τις ανάγκες της σχετικά με το ηλεκτρονικό της ταχυδρομείο, την πλατφόρμα συνεργασίας και αποθήκευσης εγγράφων, την ανταλλαγή άμεσων μηνυμάτων και την διενέργεια τηλεδιασκέψεων.
    Σε αυτές τις υπηρεσίες η πρόσβαση πρέπει να γίνεται με τις ταυτότητες χρήστη που υπάρχουν ήδη για την πρόσβαση στο εσωτερικό δίκτυο της επιχείρησης και είναι γνωστές στους χειριστές της, ενώ δεν υπάρχει απαίτηση ανάπτυξης υβριδικής υποδομής τώρα ή στο μέλλον.Σχέδιο
    Η εγκατάσταση της MyHome PC ΕΠΕ, αναπτύσσεται σύμφωνα με το σχέδιοΔιάταξη
    H υπάρχουσα υποδομή της MyHome PC ΕΠΕ, επεκτείνεται με την προσθήκη ενός νέου server,o οποίος θα λειτουργεί με την φιλοσοφία της ολοκληρωμένης συσκευής (appliance) και θα φιλοξενεί το Windows Azure Active Directory Sync Tool με ενεργοποιημένη την υποστήριξη Password Synchronization.
    Λεπτομέρειες σχετικά με τις προδιαγραφές αυτού του Server μπορείτε να βρείτε εδώ
    Prepare for directory synchronization
    Η προετοιμασία του νέου server που θα φιλοξενήσει το Windows Azure Active Directory Sync Tool , περιλαμβάνει την εγκατάσταση του λειτουργικού και το join στο domain.
    Όταν ολοκληρωθεί η προετοιμασία του server, ενεργοποιούμε τον μηχανισμό συγχρονισμού, που από αρχικά είναι απενεργοποιημένος, μέσα από το management portal
    Η διαδικασία ενεργοποίησης του συγχρονισμού είναι χρονοβόρα και όταν ολοκληρωθεί έχουμε την παρακάτω εικόνα
    Το επόμενο βήμα που πρέπει να κάνουμε ακολουθώντας την διαδικασία είναι να κατεβάσουμε και να εγκαταστήσουμε το Windows Azure Active Directory Sync Tool, μέσα από το portal.
    Η εγκατάσταση του εργαλείου είναι απλή και ξεκινάει με διπλό κλικ
    Ενώ ολοκληρώνεται αφού εγκατασταθούν όλα τα απαραίτητα προγράμματα και οι εφαρμογές
    Το επόμενο βήμα μετά την εγκατάσταση της εφαρμογής, είναι να τρέξουμε τον οδηγό που θα μας βοηθήσει στην ρύθμιση της
    Βάζουμε τα στοιχεία του διαχειριστή της συνδρομής
    Μετά τα στοιχεία ενός από τους διαχειριστές του δικτύου
     
    Εάν θέλουμε να υλοποιήσουμε υβριδική (hybrid) υποδομή κάνουμε την σχετική επιλογή
     
    Στην συγκεκριμένη περίπτωση δεν επιλέξαμε την υβριδική εγκατάσταση αφού δεν ήταν στις απαιτήσεις τις επιχείρησης. Επιλέξαμε όμως την ενεργοποίηση της δυνατότητας συγχρονισμού των κωδικών πρόσβασης
     
    Αφού γίνουν όλες οι απαραίτητες επιλογές, ο οδηγός κάνει τις απαραίτητες ρυθμίσεις και στο τέλος επιλέγουμε να γίνει o συγχρονισμός με το Windows Azure Active Directory
     
    Αφού ολοκληρωθεί ο συγχρονισμός μπορούμε να δούμε τις συγχρονισμένες ταυτότητες χρήστη μέσα από το management portal
     
    Για να έχουν την δυνατότητα πρόσβασης οι νέοι χρήστες στις υπηρεσίες του Microsoft Office 365, θα πρέπει να τους εκχωρήσουμε τις σχετικές άδειες χρήστη
     
    Μετά την εκχώρηση των αδειών χρήσης, οι χειριστές μπορούν να συνδεθούν στις υπηρεσίες του Microsoft Office 365 με την ταυτότητα χρήστη που έχουν στην On-Premises υποδομή της επιχείρησης
     
    Και να αρχίσουν να χρησιμοποιούν τις παρεχόμενες υπηρεσίες του Cloud
    The post ADFS vs. Password Synch (part 3) appeared first on Vaggelis Kappas.
     
    Source
  19. kavag
    [note color=#fbf2ce]Στην σειρά των άρθρων ADFS vs. Password Sync θα παρουσιάσουμε αναλυτικά τις εναλλακτικές λύσεις με τις οποίες μπορεί να γίνει εφικτή η σύνδεση με μία ταυτότητα χρήστη (Single Sign On), στις υπηρεσίες που παρέχει η επιχείρηση είτε αυτές βρίσκονται στο εσωτερικό της δίκτυο (on premises) είτε φιλοξενούνται στο Cloud [/note]ADFS vs. Password Synch
    Περιγράψαμε αναλυτικά τις δύο εναλλακτικές λύσεις με τις οποίες γίνεται εφικτή η πρόσβαση τόσο στις υπηρεσίες που φιλοξενούνται στο εσωτερικό δίκτυο της επιχείρησης (On-Premises) όσο και σε εκείνες που παρέχονται από το υπολογιστικό νέφος (Cloud) με μία ταυτότητα χρήστη, η οποία είναι στις περισσότερες περιπτώσεις ένας συνδυασμός ονόματος χρήστη (username) και κωδικού πρόσβασης (password).
    Οι δύο αυτές εναλλακτικές λύσεις ενώ παρέχουν την ίδια λειτουργικότητα, έχουν σημαντικές διαφορές τις οποίες θα εξετάσουμε στις παραγράφους που ακολουθούν
    Πλεονεκτήματα ADFS
    Single Sign On. Το σημαντικότερο ίσως πλεονέκτημα που έχει η υλοποίησης μιάς υποδομής Active Directory Federation Services, είναι ότι προσφέρει πραγματικά την δυνατότητα Single Sign On. Ο κάθε χειριστής συνδέεται στο υπολογιστή του χρησιμοποιώντας την ταυτότητα χρήστη που διαθέτει και στον υπολογιστή αποθηκεύεται ένα SSO token, δηλαδή ένα αποδεικτικό που πιστοποιεί την επιτυχή ταυτοποίηση. Αυτό το αποδεικτικό θα το «δείξει» ο υπολογιστής του χειριστή σε κάθε υπηρεσία στην οποία αυτός θα έχει πρόσβαση είτε αυτή βρίσκεται στο εσωτερικό δίκτυο είτε στο Cloud. Οπότε ο χειριστής θα βάλει μόνο μία φορά τα στοιχεία του.
    Μεγαλύτερος έλεγχος στην πρόσβαση. Η ταυτοποίηση των χειριστών γίνεται στους Servers της επιχείρησης που υλοποιούν τις υπηρεσίες ADFS. Αυτό επιτρέπει στους διαχειριστές της υποδομής, μεγαλύτερο έλεγχο της πρόσβασης αφού μπορούν να απενεργοποιήσουν ταυτότητες χρήστη, μπορούν να περιορίσουν διευθύνσεις IPs από τις οποίες δέχονται αιτήματα πρόσβασης κ.λ.π.Μειονεκτήματα ADFS
    Προσθήκη εκτεταμένης υποδομής. Για την απρόσκοπτη λειτουργία των υπηρεσιών Active Directory Federation Services, απαραίτητη είναι η προσθήκη κατάλληλου αριθμού από Servers και συνδέσεων με το Internet έτσι ώστε η υποδομή να είναι συνεχούς λειτουργίας και υψηλής διαθεσιμότητας. Η προσθήκη αυτής της εκτεταμένης υποδομής στην υπάρχουσα υποδομή μιας επιχείρησης αποτελεί το μεγαλύτερο μειονέκτημα της ADFS υλοποίησης.
    Προμήθεια SSL Certificates. Για την λειτουργία των ADFS υπηρεσιών απαραίτητη είναι η προμήθεια SSL πιστοποιητικών από δημόσιες αρχές έκδοσης πιστοποιητικών όπως είναι GeoTrust, η VeriSign κ.λ.π. δεν μπορούν δηλαδή να χρησιμοποιηθούν Self-Signed πιστοποιητικά. Απαραίτητη είναι και η τακτική ανανέωση αυτών των πιστοποιητικών ώστε να είναι πάντοτε εν ισχύ.
    Διαχείριση και συντήρηση. Η εκτεταμένη υποδομή που προστίθεται αυξάνει το κόστος διαχείρισης και συντήρησης.Πλεονεκτήματα Password Synch
    Χρήση ενός μόνο Server. Για την λειτουργία του Windows Azure Active Directory tool με ενεργοποιημένη την υποστήριξη Password Synchronization χρειάζεται ένας μόνο Server, που θα λειτουργεί με την φιλοσοφία της ολοκληρωμένης συσκευής (appliance).Μειονεκτήματα Password Synch
    Simplified Sign On. O συγχρονισμός των κωδικών πρόσβασης προσφέρει την δυνατότητα σύνδεσης στις υπηρεσίες του Cloud με την ίδια ταυτότητα χρήστη, όμως η ταυτοποίηση θα γίνει από το Windows Azure Active Directory και θα απαιτήσει από τον χρήστη να ξαναδώσει τα στοιχεία του.Επίλογος
    Στην σειρά των άρθρων ADFS vs. Password Synch παρουσιάστηκαν αναλυτικά οι δύο εναλλακτικές λύσεις με τις οποίες μπορεί να γίνει εφικτή η σύνδεση με μία ταυτότητα χρήστη, στις υπηρεσίες που παρέχει η επιχείρηση είτε αυτές βρίσκονται στο εσωτερικό της δίκτυο είτε φιλοξενούνται στο Cloud και αναπτύχθηκαν τα πλεονεκτήματα και τα μειονεκτήματα της κάθε μιας.
    Η κάθε επιχείρηση ανάλογα με τις ανάγκες και τις απαιτήσεις της μπορεί να χρησιμοποιήσει την μία ή την άλλη προσέγγιση και να έχει το επιθυμητό αποτέλεσμα.
    Σε κάθε περίπτωση υλοποίησης πρέπει να προηγείται αναλυτικός και λεπτομερής σχεδιασμός.
    The post ADFS vs. Password Synch (part 4 – Final) appeared first on Vaggelis Kappas.
     
    Source
  20. kavag
    Στις νέες δυνατότητες και προσθήκες που έγιναν στο Windows Azure Active Directory, είχαμε αναφερθεί και τον Ιούλιο αμέσως μετά την ανακοίνωση του Alex Simons στο Active Directory Team Blog.
    Μετά λοιπόν από τις προσθήκες και τις βελτιώσεις του Ιουλίου, η δυνατότητα του Single Sign On παρέχεται προ-εγκατεστημένη στο Windows Azure Active Directory και όχι μόνο για τις
    υπηρεσίες του Microsoft Office 365, του Microsoft CRM online, του Windows Intune και γενικώς των υπηρεσιών SaaS που προσφέρονται από την Microsoft αλλά και για άλλες περίπου 70 υπηρεσίες όπως το Box, το Dropbox, το WebEx, τα Google Apps, το GMail, το Salesforce, Amazon κ.λ.π.
    Οι νέες αυτές δυνατότητες του Windows Azure που ονομάζονται Application Access Enhancements βρίσκονται σε έκδοση δοκιμής (preview) και για να τις χρησιμοποιήσουμε θα πρέπει πρώτα να κάνουμε την σχετική εγγραφήΕάν λοιπόν η επιχείρηση έχει τις κατάλληλες συνδρομές στο Windows Azure και στο Microsoft Office 365, μπορεί να ενοποιήσει το Active Directory των γραφείων της με το Windows Azure Active Directory στο Cloud και να πετύχει το Single Sign On, να δώσει δηλαδή στους χειριστές της την δυνατότητα να συνδεθούν στις υπηρεσίες του Cloud με τα Credentials που έχουν για το εσωτερικό της δίκτυο (Active Directory).
    Αναλυτική σειρά άρθρων σχετικά με το Single Sign On και πως αυτό είναι δυνατόν να επιτευχθεί, θα βρείτε εδώ
    Active Directory Synchronization, ADFS vs. Password Synch
    Μπορείτε να κατεβάσετε τον σχετικό οδηγό σε μορφή PDF κάνοντας κλικ εδώ
    Έτσι αφού έχουμε υλοποιήσει το Active Directory Synchronization και το Single Sign On και έχουμε γραφτεί στο Preview των Application Access Enhancements, μπαίνουμε στο Management Portal του Windows Azure για προσθέσουμε τις εφαρμογές που θέλουμε να έχουν πρόσβαση οι χειριστές της επιχείρησης μαςΕπιλέγοντας το Add an Application, βλέπουμε την λίστα με τις διαθέσιμες SaaS εφαρμογέςΑπό την λίστα αυτή επιλέγουμε τις εφαρμογές που θέλουμε να δώσουμε πρόσβαση στους χειριστές της επιχείρησης.
    Οι διαχειριστές της επιχείρησης μπορούν να δουν την λίστα με τις εφαρμογές, να προσθέσουν ή να αφαιρέσουν μία εφαρμογή αλλά και να κάνουν ρυθμίσεις για την πρόσβαση των χειριστών σε κάποια εφαρμογή
    Normal
    0
    false
    false
    false
    EL
    X-NONE
    X-NONE
    /* Style Definitions */
    table.MsoNormalTable
    {mso-style-name:”Table Normal”;
    mso-tstyle-rowband-size:0;
    mso-tstyle-colband-size:0;
    mso-style-noshow:yes;
    mso-style-priority:99;
    mso-style-parent:””;
    mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
    mso-para-margin-top:0cm;
    mso-para-margin-right:0cm;
    mso-para-margin-bottom:8.0pt;
    mso-para-margin-left:0cm;
    line-height:107%;
    mso-pagination:widow-orphan;
    font-size:11.0pt;
    font-family:”Calibri”,”sans-serif”;
    mso-ascii-font-family:Calibri;
    mso-ascii-theme-font:minor-latin;
    mso-hansi-font-family:Calibri;
    mso-hansi-theme-font:minor-latin;
    mso-fareast-language:EN-US;}
    Οι χειριστές της επιχείρησης μπορούν να δουν όλες τις εφαρμογές στις οποίες έχουν πρόσβαση μέσω του AccessPanel.
    ToAccessPanelβρίσκεται στην διεύθυνση
    https://account.activedirectory.windowsazure.com/applications
    και είναι μια Webεφαρμογή που επιτρέπει στους χειριστές της επιχείρησης να έχουν συγκεντρωμένες όλες τις διαθέσιμες SaaSεφαρμογές έτσι ώστε αφενός να είναι εύκολη η πρόσβαση σε αυτές και αφετέρου να επιτυγχάνεται με την χρήση των στοιχείων εισόδου στο εσωτερικό δίκτυο της επιχείρησης.
    Η είσοδος στο AccessPanel είναι ελεύθερη για όλους τους χειριστές της επιχείρησης και γίνεται, μέσω του SingleSignOnμε τα στοιχεία (Credentials) που έχει ο κάθε ένας στο ActiveDirectoryTo Access Panel απαιτεί Web Browser με υποστήριξη JavaScript και CSS ενώ εάν οι εφαρμογές μας απαιτούν Single Sign On με αποθήκευση Username και Password, τότε θα χρειαστεί ένα plug-in που είναι διαθέσιμο για τον Internet Explorer (από την έκδοση 8.0 και πάνω) και για τον Chrome.
    To plug-in κατεβαίνει αυτόματα όταν επιλέξουμε μια εφαρμογή που απαιτεί Single Sign On με αποθήκευση Username και PasswordΗ εγκατάσταση του είναι απλή και προϋποθέτει την αποδοχή της σχετικής άδειας.Αφού γίνει η εγκατάσταση του Plug-in, έχουμε την δυνατότητα να αποθηκεύσουμε στο Windows Azure Active Directory τα στοιχεία πρόσβασης μας για κάποια από τις διαθέσιμες εφαρμογές που απαιτεί Single Sign On με αποθήκευση Username και Password.
    Η αποθήκευση των στοιχείων πρόσβασης για κάποια εφαρμογή στο Windows Azure Active Directory είναι χαρακτηριστικό του συγκεκριμένου χειριστή ενώ γίνεται με ασφαλή τρόπο.
    O τρόπος αυτός ενοποίησης κάποιων από τις διαθέσιμες SaaS εφαρμογές, η υλοποίηση δηλαδή του single Sign On με αποθήκευση του Username και Password επιτρέπει την χρήση ήδη υπαρχόντων λογαριασμών χρηστών, με συνεκτικό και ενοποιημένο τρόπο αφού ο χειριστής θα αποθηκεύσει τα στοιχεία του μια φορά και η πρόσβαση θα εξασφαλίζεται από το Access Panel και το Windows Azure Active Directory.Έτσι αφού συνδεθούμε στο Access Panel, μέσω του https://account.activedirectory.windowsazure.com/applicationsΕπιλέγουμε να αποθηκεύσουμε τα στοιχεία του λογαριασμού που έχουμε ήδη στο BoxΑφού γίνει η αποθήκευση, μετά απλώς επιλέγουμε το Box και το Access Panel κάνει την σχετική ανακατεύθυνση
    Και έχουμε πρόσβαση στην επιθυμητή εφαρμογήΕίδαμε λοιπόν πως μπορεί μία επιχείρηση, χρησιμοποιώντας τις νέες δυνατότητες του Windows Azure, που ονομάζονται Application Access Enhancements, να προσφέρει στους χειριστές της πρόσβαση σε πλήθος άλλων SaaS εφαρμογών μέσω των στοιχείων εισόδου τους (Credentials) για το εσωτερικό δίκτυο και το Access Panel.
    The post Γνωριμία με το Access Panel appeared first on Vaggelis Kappas.
     
    Source
  21. kavag
    5nine Cloud Security Version 6.0 for Hyper-V has just been released , so let’s start to explore what is new in this version.
    5nine Cloud Security is the first and only agentless security and compliance solution built specifically for the Microsoft Cloud Platform and Hyper-V virtual machines running Windows and Linux. The solution provides multi-layered protection with an integrated virtual firewall, agentless antivirus and malware protection, along with an Intrusion Detection System (IDS) all in one package.
    Analysis and Alerting for Network Traffic Anomalies

     
    Allowed and blocked packets statistics
     
    5nine Cloud Security will create a baseline of normal network traffic patterns for your virtualized environment, then when it identifies an anomaly it will alert the administrator that a threat could be present. You can detect a variety of threats from suspicious network behavior and other advanced threats. 5nine constantly logs and monitors statistics about your historical traffic, packets, and their sizes, and if the values exceed the configurable alert sensitivity setting it will immediately notify you about the possibility of an attack.
     
    With 5nine Cloud Security you can now meet the security and compliance requirements for your business by being able to analyze and report on your historical data as a network forensics tool.
     
    Read More
  22. kavag
    Η λήψη και η τήρηση αντιγράφων ασφαλείας (backup) από τον δίσκο που είναι αποθηκευμένο το λειτουργικό σύστημα ενός Server (System Disk) είναι σημαντική διαδικασία. Είναι απαραίτητη η ύπαρξη αυτών των αντιγράφων για να γίνει η ανάκτηση των δεδομένων (Restore) σε περίπτωση βλάβης ή και καταστροφής και να εξασφαλιστεί με αυτόν τον τρόπο η λειτουργία του Server.
     
    Οι Servers ως Virtual Machines που εξυπηρετούνται από τις υπηρεσίες Infrastructure as a Service του Windows Azure δεν αποτελούν εξαίρεση. Για την λήψη και την τήρηση αντιγράφων ασφαλείας από το System Disk ενός Windows Server που είναι Virtual Machine στο Windows Azure μπορεί να χρησιμοποιηθούν αρκετά εργαλεία, ανάλογα με τις ανάγκες και τις απαιτήσεις.
    Στις παραγράφους που ακολουθούν θα ονομάσουμε μερικά από αυτά και θα δούμε τις ομοιότητες και τις διαφορές τους.
    Windows Server Backup
    To Windows Server Backup είναι ένα από τα πιο δημοφιλή και διαδεδομένα εργαλεία για Backup και Restore. Είναι ενσωματωμένο στον Windows Server και μπορεί να κρατήσει αντίγραφα ασφαλείας από τα αρχεία, τους φακέλους από το System Disk αλλά και το System State.
    Τα αρχεία που δημιουργεί το Windows Server Backup αποθηκεύονται σε κάποιον τοπικό δίσκο του Virtual Machine, οπότε εάν θέλουμε να τα μετακινήσουμε εκτός του VM θα πρέπει να χρησιμοποιήσουμε κάποιο άλλο εργαλείο.
    Windows Azure Backup
    To Windows Azure Backupείναι ένα εργαλείο που επιτρέπει την λήψη και την αποθήκευση των αντιγράφων ασφαλείας στο Cloud. Μπορεί να χρησιμοποιηθεί από τον Windows Server που είναι Virtual Machine στο Windows Azure, επεκτείνοντας την λειτουργικότητα του Windows Server Backup, ή σε συνδυασμό με το System Center 2012 Data Protection Manager.
    Για να γνωρίσετε το Windows Azure Backup πατήστε εδώ
    Για λεπτομέρειες σχετικά με την χρήση του Windows Azure Backup σε συνδυασμό με Windows Server 2012 πατήστε εδώ
    Για λεπτομέρειες σχετικά με την χρήση του Windows Azure Backup σε συνδυασμό με Windows Server 2012 Essentials πατήστε εδώ
    Για λεπτομέρειες σχετικά με τις χρεώσεις πατήστε εδώ
    System Center 2012 Data Protection Manager
    To System Center 2012 Data Protection Manager σε συνδυασμό με το Windows Azure Backup μπορεί να προσφέρει μια ολοκληρωμένη λύση προστασίας για τα δεδομένα της επιχείρησης.
    Στην περίπτωση αυτή γίνεται εγκατάσταση του Windows Azure Backup agent software στον DPM Server. O DPM Server μετά μπορεί να λαμβάνει αντίγραφα ασφαλείας όλων των δεδομένων της επιχείρησης και των System Disks των Servers, όπως πριν, μόνο που τώρα μπορεί να τα αποθηκεύει και στο Cloud.
    Windows Azure Copy Blob
    To Windows Azure Blob Storage, είναι ο αποθηκευτικός χώρος που παρέχει το Windows Azure για την αποθήκευση, μεταξύ άλλων, των VHDs των Virtual Machines που φιλοξενεί.
    Σε αυτόν τον αποθηκευτικό χώρο, αποθηκεύεται με την μορφή αρχείου VHD το System Disk του Windows Server και μπορούμε να το αντιγράψουμε μέσω PowerShell εντολών στους εξής προορισμούς :
    Σε άλλο Storage Account, στο ίδιο Data Center του Windows Azure
    Σε άλλο Storage Account, σε άλλο Data Center του Windows Azure
    Σε σκληρό δίσκο του υπολογιστή μας

    Πρέπει να σημειώσουμε, ότι για να γίνει η αντιγραφή θα πρέπει το Virtual Machine να είναι σβηστό (Shutdown).
    Περισσότερες πληροφορίες σχετικά με το Windows Azure Storage και κυρίως το Blob Storage θα βρείτε εδώ
    Σύγκριση
    Στο παρακάτω πίνακα γίνεται σύγκριση των εργαλείων που αναλύσαμε

    Tools



    Backup destination



    Backup Files & Folders



    Backup System State



    Backup requires downtime



    Windows Server Backup



    Inside VM



    Yes



    Yes



    No



    Windows Azure Backup



    Blob Storage



    Yes



    Yes



    No



    Azure Copy Blob



    Blob Storage & Local Disk



    As a Whole VHD



    Yes


    The post Προστασία του System Disk σε ένα Windows Azure Virtual Machine appeared first on Vaggelis Kappas.
     
    Source
  23. kavag
    Η μεταφορά ή η αντιγραφή των Virtual Machines μεταξύ συνδρομών (Subscriptions) ή Storage Accounts είναι εφικτή μέσω της αντιγραφής των VHDs. Η αντιγραφή των VHDs, ή οποιουδήποτε άλλου blob, είναι μία εγγενής δυνατότητα του Windows Azure που γίνεται μέσω του blob copy API. Για λεπτομέρειες σχετικά με το Windows Azure Storage πατήστε εδώ
     
    Στο άρθρο αυτό θα δούμε πως μπορούμε να αντιγράψουμε VHDs με την χρήση του PowerShell. Πριν ξεκινήσουμε, σκόπιμο είναι να αναφέρουμε πως υπάρχει η δυνατότητα αντιγραφής μεταξύ των:
    Containers του ίδιου Storage Account
    Διαφορετικών Storage Accounts της ίδια συνδρομής (Subscription)
    Διαφορετικών συνδρομών στο ίδιο Data Center
    Διαφορετικών Data Centers

    Όπως είναι αναμενόμενο, ο χρόνος διάρκειας της αντιγραφής σε κάθε μία από τις παραπάνω περιπτώσεις είναι διαφορετικός πράγμα που οφείλεται στην αρχιτεκτονική του Windows Azure. To Windows Azure κατανέμει τους πόρους του Windows Azure Storage σε storage stamps που στην ουσία είναι συστοιχίες από Servers και δίσκους. Έτσι η αντιγραφή μέσα στο ίδιο storage stamp είναι ταχύτατη ενώ μεταξύ διαφορετικών storage stamps διαρκεί λίγο περισσότερο.
    Ας δούμε όμως πως μπορούμε να πραγματοποιήσουμε την αντιγραφή των VHDs με την χρήση του PowerShell.
    # Select Default SubscriptionSelect-AzureSubscription -SubscriptionName "MSDN-Kappas"# Define Source VHD: This is the system disk of an ADFS server$SourceFileURI = "https://support22stor.blob.core.windows.net/vhds/vnetadfs-07-10.vhd"# Define Source Storage Account $SourceStorageAccount = "support22stor"$SourceStorageAccountKey = "tDSNGyuDHWkrrA2vF/7pFiA=="# Define Destination Storage Account, in this demo we use the same as the source$DestStorageAccount = "support22stor"$DestStorageAccountKey = "tDSNGyuDfG/dLfPsvFiA=="# Source Storage Context creation$SrcContext = New-AzureStorageContext -StorageAccountName $SourceStorageAccount ` -StorageAccountKey $SourceStorageAccountKey# Destination Storage Context creation$DestContext = New-AzureStorageContext -StorageAccountName $DestStorageAccount ` -StorageAccountKey $DestStorageAccountKey # Create a container in destination storage account$NewContainer = "copiedvhds"New-AzureStorageContainer -Name $NewContainer -Context $DestContext# Starting the blob copy. Copy is asynchronous$cpblob = Start-AzureStorageBlobCopy -SrcUri $SourceFileURI -srcContext $SrcContext ` -DestContainer $NewContainer -DestContext $DestContext ` -DestBlob "vnetadfs-vnetadfs-copied.vhd"
    Η αντιγραφή γίνεται με την εντολή Start-AzureStorageBlobCopy αφού όμως έχουμε ορίσει το αρχείο προέλευσης και προορισμού και έχουμε δώσει στοιχεία για την πρόσβαση στα Storage Accounts μέσω των Contexts.
    Η διαδικασία της αντιγραφής είναι ασύγχρονη και μπορούμε να ξεκινήσουμε πολλές αντιγραφές παράλληλα.
    Για να δούμε την πρόοδο της αντιγραφής χρησιμοποιούμε την εντολή Get-AzureStorageBlobCopyState και εάν προσθέσουμε ένα While Loop μπορούμε να έχουμε συνεχή ενημέρωση για την πρόοδο της αντιγραφής.

    # Retrieve the progress of the Copy$status = $cpblob | Get-AzureStorageBlobCopyState# Show the progress$status# If you like you can print the status until the copy is completedwhile ($status.Status -eq "Pending"){ $status = $cpblob | Get-AzureStorageBlobCopyState Start-Sleep 10 $status }
    The post Αντιγράψτε VHDs (blobs) μεταξύ των Storage Accounts του Windows Azure appeared first on Vaggelis Kappas.
     
    Source
  24. kavag
    Πρόσφατα προστέθηκε η δυνατότητα του Multi Factor Authentication (MFA) για όλους τους χρήστες του Office 365. Για τους χρήστες με δικαιώματα διαχειριστή της συνδρομής στο Office 365, η δυνατότητα αυτή του MFA ήταν διαθέσιμη και σχεδόν υποχρεωτική από τον Ιούνιο του 2013.
    Τι είναι όμως η δυνατότητα του Multi Factor Authentication και γιατί τον όρο MFA τον ακούμε όλο και συχνότερα στις μέρες μας;
    Multi Factor Authentication ή Two Factor Authentication είναι η ταυτοποίηση εκείνη στην οποία χρησιμοποιούνται τουλάχιστον δύο από τους τρεις παράγοντες ταυτοποίησης. Οι τρεις αυτοί παράγοντες ταυτοποίησης είναι οι εξής :
    Γνώση. Κάτι που γνωρίζουμε, όπως το password το pin κ.α.
    Κατοχή. Κάτι που έχουμε, όπως smart card, συσκευή one time password, κινητό τηλέφωνο.
    Προσδιορισμός. Κάτι που μας προσδιορίζει, όπως τα βιομετρικά χαρακτηριστικά μας π.χ. δακτυλικό αποτύπωμα κ.α.

    Όπως φαίνεται λοιπόν η δυνατότητα του Multi Factor Authentication, επεκτείνει και ενισχύει της ασφάλεια της πρόσβασης στην πληροφορία πέρα από τον κωδικό χρήστη.
    Έτσι για να συνδεθεί ο χρήστης στις υπηρεσίες του Office 365, εκτός του κωδικού του θα πρέπει να χρησιμοποιήσει ένα pin που θα λάβει μέσω SMS ή να απαντήσει σε ένα αυτοματοποιημένο τηλεφώνημα ή να χρησιμοποιήσει την εξειδικευμένη εφαρμογή του τηλεφώνου του για την έκδοση και την χρήση του απαραίτητου pin.
    Η σύνδεση στις υπηρεσίες του Office 365 μπορεί να ταυτοποιηθεί μέσω Multi Factor Authentication τόσο όταν αυτή γίνεται μέσω ενός Web Browser όσο και όταν γίνεται από τις εφαρμογές του Microsoft Office. Στην περίπτωση αυτή όμως θα πρέπει ο χρήστης να έχει εκδώσει τα λεγόμενα App Passwords εκ των προτέρων. Αυτό όμως είναι κάτι που θα αλλάξει στο μέλλον όταν θα αναβαθμιστούν οι εφαρμογές του Office και θα συμπεριλαμβάνουν εγγενώς την δυνατότητα του MFA.
    Τα προγράμματα του Office 365 για τα οποία είναι διαθέσιμη η δυνατότητα του Multi Factor Authentication και μάλιστα δωρεάν, είναι τα εξής :
    Office 365 για μεσαίες επιχειρήσεις
    Όλα τα προγράμματα του για μεγάλες επιχειρήσεις
    Τα μεμονωμένα προγράμματα Exchange Online και SharePoint Online
    Τα προγράμματα των εκπαιδευτικών ιδρυμάτων (academic)
    Τα προγράμματα των μη κερδοσκοπικών οργανισμών

    Τέλος η δυνατότητα του MFA μπορεί να ενεργοποιηθεί ακόμη και για τους χρήστες που έχουν προκύψει μέσω συγχρονισμού (federation) από το Windows Active Directory της εταιρείας.
    Ας δούμε όμως πως γίνεται η ενεργοποίηση του Multi Factor Authentication και τι τελικά αλλάζει σε αυτό που βλέπει ο χρήστης.
    H ενεργοποίηση γίνεται εύκολα, επιλέγοντας Set up στο τμήμα Set Multi-factor authentication requirements.
    Από την καθολική λίστα με τους Users, επιλέγουμε εκείνους για τους οποίους θέλουμε να κάνουμε την ενεργοποίηση
    Αυτό το κάνει ο διαχειριστής πατώντας πάνω στο Enable. Το σύστημα ενημερώνει για τις δυνατότητες ρυθμίσεων που έχει ο κάθε χρήστης και ολοκληρώνει την ενεργοποίηση.Την επόμενη φορά που θα συνδεθεί στο Portal ο χρήστης θα πληροφορηθεί για την αλλαγή και θα οδηγηθεί να συμπληρώσει τα απαιτούμενα στοιχεία
    Σαν επιπλέον στοιχείο για την ταυτοποίηση, μπορούμε να χρησιμοποιήσουμε κάτι από τα παρακάτω :
    Κλήση σε κινητό τηλέφωνο. Ο χρήστης λαμβάνει μία κλήση στο κινητό του που τον καλεί να πατήσει το πλήκτρο με την δίεση. Το πατάει και η ταυτοποίηση ολοκληρώνεται
    Κλήση σε σταθερό τηλέφωνο. Είναι ακριβώς η ίδια διαδικασία, όπως και παραπάνω, μόνο που χρησιμοποιείται ένα σταθερό τηλέφωνο εάν ο χρήστης δεν έχει μαζί του το κινητό
    Λήψη κωδικού μέσω SMS. Ο χρήστης λαμβάνει έναν εξαψήφιο κωδικό μέσω SMS που πρέπει να εισάγει στο portal για να ολοκληρωθεί η ταυτοποίηση
    Επιβεβαίωση μέσω εφαρμογής κινητού (MFA App). Ο χρήστης κατεβάζει την ειδική εφαρμογή για το κινητό του, κάνει τις απαραίτητες ρυθμίσεις για την σύνδεση της με την υπηρεσία και μετά κάθε φορά που θέλει να συνδεθεί στο Office 365, το MFA App αυτόματα του ζητάει επιβεβαίωση. Εφαρμογές MFA Apps υπάρχουν για Windows Phone, iPhone και Android.
    Λήψη κωδικού μέσω εφαρμογής κινητού (MFA App). Χρησιμοποιείται η ίδια εφαρμογή, όπως και προηγουμένως, μόνο που η επιβεβαίωση γίνεται μέσω εξαψήφιου κωδικού που λαμβάνει ο χρήστης στο MFA App που μετά πρέπει να βάλει στο portal για να συνδεθεί.

    Εάν επιλέξουμε την επιβεβαίωση μέσω της εφαρμογής του κινητού μας (MFA App), όταν προσπαθήσουμε να συνδεθούμε στο portal του Office 365 το MFA App θα μας ζητήσει επιβεβαίωση

    Πέραν των αρχικών ρυθμίσεων σχετικά, με τον επιπλέον παράγοντα ταυτοποίησης που θα
    χρησιμοποιήσουμε για να συνδεθούμε στις υπηρεσίες του Office 365, μπορούμε να αλλάξουμε επιλογή είτε κατά την διάρκεια της σύνδεσης μας στο PortalΕίτε μέσω του τμήματος των επιπλέον ρυθμίσεων ασφαλείας του προφιλ μας στο Office 365Κωδικοί εφαρμογών (App Passwords) στο Multi-Factor Authentication
    Μέχρι τώρα έχουμε αναπτύξει τις δυνατότητες που έχουμε για Multi-Factor Authentication, στην περίπτωση που θέλουμε να συνδεθούμε στις υπηρεσίες του Office 365 μέσω του Web Browser στο Portal.
    Όταν θέλουμε να χρησιμοποιήσουμε Desktop εφαρμογές όπως το Microsoft Outlook, το Lync, το Word κ.α. για να συνδεθούμε στο Office 365, τότε θα πρέπει να εκδώσουμε τα λεγόμενα App Passwords.
    Τα App Passwords είναι τυχαίοι κωδικοί 16 χαρακτήρων που αφού εκδοθούν, μπορούν να χρησιμοποιηθούν μέσα από τις εφαρμογές που αναφέραμε και να πετύχουμε έτσι το Multi Factor Authentication
    Αφού γίνει η έκδοση του κωδικού αυτός εμφανίζεται στην σχετική λίστα και μπορούμε, εάν θέλουμε, να τον διαγράψουμε.
    Η δυνατότητα της έκδοσης App Passwords δεν είναι διαθέσιμη μέσω PowerShell CmdLets ενώ μπορούμε, εάν το επιβάλουν ειδικοί κανόνες ασφάλειας, να την απενεργοποιήσουμε εντελώς από την συνδρομή μας.
    The post Multi Factor Authentication δυνατότητες στο Office 365 appeared first on Vaggelis Kappas.
     
    Source
  25. kavag
    Γενικά
    Σε αυτό το άρθρο θα κάνουμε έλεγχο της ανθεκτικότητας των Storage Spaces έναντι βλάβης ενός, δύο ή και περισσοτέρων σκληρών δίσκων πάνω στους οποίους έχουν υλοποιηθεί. Θα εξετάσουμε και τα τρία επίπεδα ασφάλειας που προσφέρονται, δηλαδή τα :
    Two Way Mirroring
    Three Way Mirroring και
    Parity

    Υπάρχει μια αντιστοιχία των παραπάνω επιπέδων ασφαλείας με τα γνωστά μας RAID levels, αλλά όχι απόλυτη μια που, όπως θα δούμε, μπορούμε να δημιουργήσουμε ένα Two-Way Mirror με χρήση τριών (3) δίσκων.
    Ένα πλήθος με τις συνηθέστερες ερωτήσεις και τις απαντήσεις τους σχετικά με τα Storage Spaces θα βρείτε στο παρακάτω σύνδεσμο :
    Storage Spaces Frequently Asked Questions (FAQ)
    Ενώ, πολύ χρήσιμος είναι και ο παρακάτω πίνακας στον οποίο παρουσιάζεται ο συσχετισμός των επιπέδων ασφαλείας των Storage Spaces με τον ελάχιστο απαιτούμενο αριθμό δίσκων.Resiliency typeMinimum number of columnsColumn-to-disk correlationMinimum number of disksTwo-way mirror

    1



    1:2



    2

    Three-way mirror

    1



    1:3



    5

    Parity

    3



    1:1



    3



    Για την δημιουργία των Storage Spaces και τους ελέγχους της αντοχής τους, την προσομοίωση δηλαδή της βλάβης, θα χρησιμοποιήσουμε το αγαπημένο μας εργαλείο, το PowerShell, ενώ όλες οι δοκιμές θα διεξαχθούν σε εργαστηριακό περιβάλλον που περιλαμβάνει έναν Windows Server 2012R2 Hyper-V host και ένα Guest VM με Windows Server 2012R21. Έλεγχος αντοχής Two Way Mirroring1.1 Δημιουργία δίσκων
    Για να δημιουργήσουμε τους σκληρούς δίσκους και τους συνδέουμε στο Guest VM, εκτελώντας τις παρακάτω εντολές στον Hyper-V host
    <span style="font-family: verdana,geneva;"># Create three VHDX1..3|%{New-VHD -Path "C:Virtual MachinesW2012R2Virtual Hard DisksDisk-$_.vhdx" -LogicalSectorSizeBytes 4096 -PhysicalSectorSizeBytes 4KB -SizeBytes 20GB -Dynamic}# Attach VHDX disks to a VM1..3|%{Add-VMHardDiskDrive -VMName W2012R2 -Path "C:Virtual MachinesW2012R2Virtual Hard DisksDisk-$_.vhdx" -ControllerType SCSI}</span> 1.2 Δημιουργία Storage Pool
    Το Storage Space υλοποιείται επάνω σε ένα Storage Pool, που το δημιουργούμε με τις παρακάτω εντολές
    <span style="font-family: verdana,geneva;"># Create Storage Pool$disks = Get-PhysicalDisk -CanPool $true$StorSubSys =Get-StorageSubSystem -FriendlyName *Spaces*New-StoragePool -FriendlyName StorPool-01 -PhysicalDisks $disks -StorageSubSystemFriendlyName $StorSubSys.FriendlyName</span>
    1.3 Υλοποίηση Storage Space
    Έχοντας λοιπόν δημιουργήσει το απαιτούμενο Storage Pool, υλοποιούμε το Two-Way Μirror Storage Space, με το απαιτούμενο partition και το drive letter της επιλογής μας, με τις παρακάτω εντολές
    <span style="font-family: verdana,geneva;"># Create Storage SpaceNew-VirtualDisk-FriendlyNameStorSpace-01-ResiliencySettingNameMirror-StoragePoolFriendlyNameStorPool-01-UseMaximumSize$DiskNo= (Get-VirtualDisk-FriendlyNameStorSpace-01|Get-Disk).NumberSet-Disk-Number$DiskNo-IsReadOnly0Set-Disk-Number$DiskNo-IsOffline0Initialize-Disk-Number$DiskNo-PartitionStyleMBRNew-Partition-DiskNumber$DiskNo-DriveLetterS-UseMaximumSizeInitialize-Volume-DriveLetterS-FileSystemNTFS-Confirm:$false</span>
    Εάν θέλουμε να δούμε την κατάσταση του Storage Space, του partition και των φυσικών δίσκων πάνω στους οποίους έχουν δημιουργηθεί, τότε χρησιμοποιούμε την παρακάτω εντολή
    <span style="font-family: verdana,geneva;"># Display Physical Disks that construct a volumeGet-VolumeS|Get-Partition|Get-Disk|Get-VirtualDisk|Get-PhysicalDisk</span>
    PS C:Windowssystem32> Get-Volume S | Get-Partition | Get-Disk | Get-VirtualDisk | Get-PhysicalDisk | ft -AutoSize
    FriendlyName CanPool OperationalStatus HealthStatus Usage Size
    ———— ——- —————– ———— —– —-
    PhysicalDisk3 False OK Healthy Auto-Select 19.25 GB
    PhysicalDisk1 False OK Healthy Auto-Select 19.25 GB
    PhysicalDisk2 False OK Healthy Auto-Select 19.25 GB
    1.4 Βλάβη ενός δίσκου
    Θα προσομοιώσουμε τις εξής βλάβες ενός από τους δίσκους που απαρτίζουν την συστοιχία και θα παρατηρήσουμε τα αποτελέσματα στο Storage Pool και στο Storage Space.
    Αφαίρεση
    Επαναφορά
    Αφαίρεση και αντικατάσταση με νέο
    Προσθήκη του χαλασμένου δίσκου μετά την αντικατάσταση του
    1.4.1 Αφαίρεση
    Η αφαίρεση του δίσκου και συγκεκριμένα του τρίτου, γίνεται με την παρακάτω εντολή στον Hyper-V Host
    <span style="font-family: verdana,geneva;"># Remove DiskRemove-VMHardDiskDrive-VMNameW2012R2-ControllerNumber0-ControllerLocation3-ControllerTypeSCSI</span>

    Στο guest VM, διαπιστώνουμε την βλάβη του δίσκου, ως εξής
    PS C:Windowssystem32> Get-PhysicalDisk | ft -AutoSize
    FriendlyName CanPool OperationalStatus HealthStatus Usage Size
    ———— ——- —————– ———— —– —-
    PhysicalDisk-1 False Lost Communication Warning Auto-Select 19.25 GB
    PhysicalDisk1 False OK Healthy Auto-Select 19.25 GB
    PhysicalDisk2 False OK Healthy Auto-Select 19.25 GB
    Ενώ έχουμε και εγγραφές στο System Event Log
    PS C:Windowssystem32> Get-EventLog -LogName System -Source Disk | fl
    Index : 456
    EntryType : Warning
    InstanceId : 2147745949
    Message : Disk 3 has been surprise removed.
    Category : (0)
    CategoryNumber : 0
    ReplacementStrings : {DR3, 3}
    Source : disk
    TimeGenerated : 12/4/2014 9:22:20 πμ
    TimeWritten : 12/4/2014 9:22:20 πμ

    Η κατάσταση του Storage Pool είναι η εξής
    PS C:Windowssystem32> Get-StoragePool | ft -AutoSize
    FriendlyName OperationalStatus HealthStatus IsPrimordial IsReadOnly
    ———— —————– ———— ———— ———-
    Primordial OK Healthy True False
    StorPool-01 Degraded Warning False False

    Η κατάσταση του Storage Space είναι η εξής
    PS C:Windowssystem32> Get-Volume S | Get-Partition | Get-Disk | Get-VirtualDisk | ft -AutoSize
    FriendlyName ResiliencySettingName OperationalStatus HealthStatus IsManualAttach Size
    ———— ——————— —————– ———— ————– —-
    StorSpace-01 Mirror Incomplete Warning False 27 GB

    Μετά την αφαίρεση του δίσκου λοιπόν, το Storage Pool είναι Degraded (υποβαθμισμένο) και το Storage Space είναι σε κατάσταση προειδοποίησης (Warning).
    Η λειτουργική κατάσταση όμως του Storage Space είναι καλή και τα δεδομένα μας διαθέσιμα και ασφαλή.1.4.2 Επαναφορά
    Επαναφέρουμε τον δίσκο που αφαιρέσαμε, με την παρακάτω εντολή στον Hyper-V host
    <span style="font-family: verdana,geneva;">Add-VMHardDiskDrive-VMNameW2012R2-Path'C:Virtual MachinesW2012R2Virtual Hard DisksDisk-3.vhdx'-ControllerTypeSCSI-ControllerLocation3</span>

    Στο Guest VM παρατηρούμε ότι ο δίσκος έχει επανέλθει
    PS C:Windowssystem32> Get-PhysicalDisk | ft -AutoSize
    FriendlyName CanPool OperationalStatus HealthStatus Usage Size
    ———— ——- —————– ———— —– —-
    PhysicalDisk3 False OK Healthy Auto-Select 19.25 GB
    PhysicalDisk1 False OK Healthy Auto-Select 19.25 GB
    PhysicalDisk2 False OK Healthy Auto-Select 19.25 GB
    PhysicalDisk0 False OK Healthy Auto-Select 50 GB

    Η κατάσταση του Storage Pool είναι
    PS C:Windowssystem32> Get-StoragePool | ft -AutoSize
    FriendlyName OperationalStatus HealthStatus IsPrimordial IsReadOnly
    ———— —————– ———— ———— ———-
    Primordial OK Healthy True False
    StorPool-01 OK Healthy False False

    Και του Storage Space
    PS C:Windowssystem32> Get-Volume S | Get-Partition | Get-Disk | Get-VirtualDisk | ft -AutoSize
    FriendlyName ResiliencySettingName OperationalStatus HealthStatus IsManualAttach Size
    ———— ——————— —————– ———— ————– —-
    StorSpace-01 Mirror OK Healthy False 27 GB

    Επομένως το Storage Subsystem και συγκεκριμένα τα Storage Spaces, κατάλαβαν την επαναφορά του δίσκου, έκαναν όλες τις απαραίτητες ενέργειες αποκατάστασης και η κατάσταση της συστοιχίας είναι και πάλι Healthy.
    Όλες αυτές οι ενέργειες έγιναν στο παρασκήνιο και τα δεδομένα μας ήταν συνεχώς διαθέσιμα.
    1.4.3 Αφαίρεση και αντικατάσταση με νέο
    Στην περίπτωση αυτήν θα αντικαταστήσουμε τον δίσκο που θα αφαιρέσουμε με καινούριο. Όπως προηγουμένως, αφαιρούμε τον δεύτερο δίσκο με την παρακάτω εντολή στο Hyper-V Host
    <span style="font-family: verdana,geneva;">Remove-VMHardDiskDrive-VMNameW2012R2-ControllerNumber0-ControllerLocation2-ControllerTypeSCSI</span>

    Στο Guest VM διαπιστώνουμε την βλάβη με τους τρόπους που παρουσιάστηκαν στην παράγραφο 1.5.1 Αφαίρεση.
    Η κατάσταση λοιπόν της συστοιχίας είναι η εξής
    PS C:Windowssystem32> Get-Volume S | Get-Partition | Get-Disk | Get-VirtualDisk | ft -AutoSize
    FriendlyName ResiliencySettingName OperationalStatus HealthStatus IsManualAttach Size
    ———— ——————— —————– ———— ————– —-
    StorSpace-01 Mirror Incomplete Warning False 27 GB

    Προσθέτουμε τον νέο δίσκο στην ίδια θέση που είχε και ο χαλασμένος που αφαιρέθηκε, με τις εξής εντολές στον Hyper-V Host
    <span style="font-family: verdana,geneva;">New-vhd-Path'C:Virtual MachinesW2012R2Virtual Hard DisksDisk-2-Repair.vhdx'-LogicalSectorSizeBytes4096-PhysicalSectorSizeBytes4KB-SizeBytes20GB-DynamicAdd-VMHardDiskDrive-VMNameW2012R2-Path'C:Virtual MachinesW2012R2Virtual Hard DisksDisk-2-Repair.vhdx'-ControllerTypeSCSI-ControllerLocation2</span>

    Βλέπουμε τον νέο δίσκο στο guest VM
    PS C:Windowssystem32> Get-PhysicalDisk | ft -AutoSize
    FriendlyName CanPool OperationalStatus HealthStatus Usage Size
    ———— ——- —————– ———— —– —-
    PhysicalDisk3 False OK Healthy Auto-Select 19.25 GB
    PhysicalDisk1 False OK Healthy Auto-Select 19.25 GB
    PhysicalDisk-1 False Lost Communication Warning Auto-Select 19.25 GB
    PhysicalDisk0 False OK Healthy Auto-Select 50 GB
    PhysicalDisk2 True OK Healthy Auto-Select 20 GB

    Για να ξεκινήσει η επιδιόρθωση της συστοιχίας θα πρέπει να αφαιρεθεί ο χαλασμένος δίσκος από το Storage Pool και να προστεθεί ο καινούριος. Αυτό γίνεται με τι εξής εντολές στο Guest VM
    <span style="font-family: verdana,geneva;">Get-PhysicalDisk|whereOperationalStatus-likeLost*|Set-PhysicalDisk-UsageRetired</span>
    PS C:Windowssystem32> Get-PhysicalDisk | ft -AutoSize
    FriendlyName CanPool OperationalStatus HealthStatus Usage Size
    ———— ——- —————– ———— —– —-
    PhysicalDisk3 False OK Healthy Auto-Select 19.25 GB
    PhysicalDisk1 False OK Healthy Auto-Select 19.25 GB
    PhysicalDisk-1 False Lost Communication Warning Retired 19.25 GB
    PhysicalDisk0 False OK Healthy Auto-Select 50 GB
    PhysicalDisk2 True OK Healthy Auto-Select 20 GB

    Προσθέτουμε τον νέο δίσκο στο Storage Pool με την εντολή
    <span style="font-family: verdana,geneva;">Add-PhysicalDisk-StoragePoolFriendlyNameStorPool-01-PhysicalDisks (Get-PhysicalDisk-CanPool$true)</span>

    Για να ξεκινήσει η διαδικασία της αποκατάστασης εκτελούμε την εντολή
    <span style="font-family: verdana,geneva;">Repair-VirtualDisk-FriendlyNameStorSpace-01</span>

    Μετά την ολοκλήρωση της αποκατάστασης ελέγχουμε την λειτουργική κατάσταση του Storage Space (συστοιχία) ως εξής
    PS C:Windowssystem32>
    Get-Volume S | Get-Partition | Get-Disk | Get-VirtualDisk | ft -AutoSize
    FriendlyName ResiliencySettingName OperationalStatus HealthStatus IsManualAttach Size
    ———— ——————— —————– ———— ————– —-
    StorSpace-01 Mirror OK Healthy False 27 GB

    Και του Storage Pool
    PS C:Windowssystem32> Get-Volume S | Get-Partition | Get-Disk | Get-VirtualDisk | Get-StoragePool | ft -AutoSize
    FriendlyName OperationalStatus HealthStatus IsPrimordial IsReadOnly
    ———— —————– ———— ———— ———-
    StorPool-01 Degraded Warning False False

    To storage Pool είναι σε κατάσταση Degraded γιατί περιλαμβάνει τον δίσκο που έχει χαλάσει
    PS C:Windowssystem32> Get-StoragePool -FriendlyName StorPool-01 | Get-PhysicalDisk | ft -AutoSize
    FriendlyName CanPool OperationalStatus HealthStatus Usage Size
    ———— ——- —————– ———— —– —-
    PhysicalDisk3 False OK Healthy Auto-Select 19.25 GB
    PhysicalDisk1 False OK Healthy Auto-Select 19.25 GB
    PhysicalDisk-1 False Lost Communication Warning Retired 19.25 GB
    PhysicalDisk2 False OK Healthy Auto-Select 19.25 GB

    Αφαιρώντας λοιπόν αυτόν τον δίσκο
    <span style="font-family: verdana,geneva;">Repair-VirtualDisk-FriendlyNameStorSpace-01</span>

    Η κατάσταση της συστοιχίας γίνεται Healthy
    PS C:Windowssystem32> Get-StoragePool | ft -AutoSize
    FriendlyName OperationalStatus HealthStatus IsPrimordial IsReadOnly
    ———— —————– ———— ———— ———-
    Primordial OK Healthy True False
    StorPool-01 OK Healthy False False

    Όλες αυτές οι ενέργειες έγιναν στο παρασκήνιο ενώ τα δεδομένα μας ήταν διαρκώς διαθέσιμα.1.4.4 Προσθήκη του χαλασμένου δίσκου μετά την αντικατάσταση του
    Στην παράγραφο αυτή θα εξετάσουμε την συμπεριφορά των Storage Spaces, εάν προστεθεί ο δίσκος που είχε πριν αφαιρεθεί και αντικατασταθεί με νέο.
    Προσθέτουμε λοιπόν πάλι τον δίσκο, εκτελώντας στον Hyper-V host
    <span style="font-family: verdana,geneva;">Add-VMHardDiskDrive-VMNameW2012R2-Path'C:Virtual MachinesW2012R2Virtual Hard DisksDisk-2.vhdx'-ControllerTypeSCSI</span>

    Με την προσθήκη του δίσκου στο VM έχουμε την εξής εικόνα
    PS C:Windowssystem32> Get-PhysicalDisk | ft -AutoSize
    FriendlyName CanPool OperationalStatus HealthStatus Usage Size
    ———— ——- —————– ———— —– —-
    PhysicalDisk3 False OK Healthy Auto-Select 19.25 GB
    PhysicalDisk1 False OK Healthy Auto-Select 19.25 GB
    PhysicalDisk5 False Unrecognized Metadata Unhealthy Unknown 20 GB
    PhysicalDisk0 False OK Healthy Auto-Select 50 GB
    PhysicalDisk2 False OK Healthy Auto-Select 19.25 GB

    Ο δίσκος αναγνωρίζεται ως Unhealthy και φαίνεται να περιλαμβάνει Unrecognized Metadata, δεδομένα δηλαδή των οποίων την περιγραφή δεν φαίνεται να την γνωρίζει το VM.
    Για το storage Pool και την συστοιχία δεν έχει αλλάξει τίποτα και είναι σε κατάσταση Healthy
    Get-Volume S | Get-Partition | Get-Disk | Get-VirtualDisk | Get-StoragePool | ft -AutoSize
    FriendlyName OperationalStatus HealthStatus IsPrimordial IsReadOnly
    ———— —————– ———— ———— ———-
    StorPool-01 OK Healthy False False
    Get-Volume S | Get-Partition | Get-Disk | Get-VirtualDisk | ft -AutoSize
    FriendlyName ResiliencySettingName OperationalStatus HealthStatus IsManualAttach Size
    ———— ——————— —————– ———— ————– —-
    StorSpace-01 Mirror OK Healthy False 27 GB

    Εάν θέλουμε να χρησιμοποιήσουμε αυτόν τον δίσκο, θα πρέπει να γίνει επαναφορά (reset) της κατάστασης του.
    Get-PhysicalDisk|whereOperationalStatus-likeUnrecognized*|Reset-PhysicalDisk

    Παρατηρούμε λοιπόν ότι η προσθήκη του παλιού δίσκου που ενώ υπήρχε στο Storage Pool και στο Storage Space αφαιρέθηκε και αντικαταστάθηκε με νέο δεν έχει κάποια επίπτωση στην λειτουργία του Storage Space (συστοιχία).1.5 Αφαίρεση δύο (2) δίσκων
    To Storage Space που εξετάζουμε είναι τύπου Two-Way Mirror. Αυτός ο τύπος συστοιχίας επιτρέπει την ομαλή λειτουργία σε περίπτωση βλάβης ενός (1) από τους δίσκους που την απαρτίζουν. Εάν υποστούν βλάβη δύο από τους δίσκους της τότε αναμένεται η συστοιχία να μην λειτουργεί και τα δεδομένα που είναι αποθηκευμένα επάνω της να μην είναι διαθέσιμα.
    Ετσι εάν αφαιρέσουμε δύο δίσκους, μέσω των παρακάτω εντολών στον Hyper-V host
    <span style="font-family: verdana,geneva;">Remove-VMHardDiskDrive-VMNameW2012R2-ControllerNumber0-ControllerLocation1-ControllerTypeSCSIRemove-VMHardDiskDrive-VMNameW2012R2-ControllerNumber0-ControllerLocation2-ControllerTypeSCSI</span>

    Παρατηρούμε ότι το Storage Pool είναι σε κατάσταση εκτεταμένης βλάβης
    PS C:Windowssystem32> Get-StoragePool | ft -AutoSize
    FriendlyName OperationalStatus HealthStatus IsPrimordial IsReadOnly
    ———— —————– ———— ———— ———-
    Primordial OK Healthy True False
    StorPool-01 Read-only Unhealthy False False

    Ενώ το Storage Space δεν υπάρχει
    PS C:Windowssystem32> Get-Volume S | Get-Partition | Get-Disk | Get-VirtualDisk | ft -AutoSize
    Get-Volume : No MSFT_Volume objects found with property ‘DriveLetter’ equal to ‘S’. Verify the
    value of the property and retry.
    At line:1 char:1
    + Get-Volume S | Get-Partition | Get-Disk | Get-VirtualDisk | ft -AutoSize
    + ~~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (S:Char) [Get-Volume], CimJobException
    + FullyQualifiedErrorId : CmdletizationQuery_NotFound_DriveLetter,Get-Volume

    Εάν επανασυνδέσουμε τους δίσκους στο VM τότε το Storage Pool και το Storage Space θα έρθουν και πάλι σε καλή λειτουργική κατάσταση.
    The post Έλεγχος αντοχής των Storage Spaces με την χρήση του PowerShell (Two-Way Mirror) appeared first on Vaggelis Kappas.
     
    Source
×
×
  • Create New...