310 likes | 325 Views
Building a secure and flexible infrastructure with Microsoft Azure. Jesper Fütterer Jensen Consultant, solvo it @ jefutte Cloudpuzzles.net. BRK3262 . Learnings from customer projects. Identity Networking Virtual Machines Backup. Identity. Tools. Role Based Access Control
E N D
Building a secure and flexible infrastructure with Microsoft Azure Jesper Fütterer Jensen Consultant, solvo it @jefutte Cloudpuzzles.net BRK3262
Learnings from customerprojects • Identity • Networking • Virtual Machines • Backup
Tools • Role Based Access Control • Define specific roles • Privileged Identity Management • Control access in an easy way • MFA • Because there is no reason not to! • Not just Azure access, Office 365, RDP, VPN etc.
Custom RBAC role { "Name": "Virtual Machine Operator", "Id": "88888888-8888-8888-8888-888888888888", "IsCustom": true, "Description": "Can monitor and restart virtual machines.", "Actions": [ "Microsoft.Storage/*/read", "Microsoft.Network/*/read", "Microsoft.Compute/*/read", "Microsoft.Compute/virtualMachines/start/action", "Microsoft.Compute/virtualMachines/restart/action", "Microsoft.Authorization/*/read", "Microsoft.Resources/subscriptions/resourceGroups/read", ], "AssignableScopes": [ "/subscriptions/{subscriptionId1}", "/subscriptions/{subscriptionId2}", "/subscriptions/{subscriptionId3}/resourceGroups/{resourceGroup1}" ] }
Azure AD Privileged Identity Management Who What Why When • Who need’s access? • Users • Groups • External consultants • What do they need access to? • Subscription • Resource Group • Resource • What are they doing? • Create/change • Read information • Delete • Why do they need access? • Project XYZ • Troubleshooting • Support Case #123456 • Change Request • Etc.. • For how long do they need access? • 1 hour • 8 hours • 12 hours • 24 hours • Find you own limits. • 8 hours = work day • 24 hours = critical issue
Multi Factor Authentication • Where to use? • Everywhere! • At least for youradmins! • It’sfree for Global Admins • NPS Extension opens up a lot of doors! • RDS • Client VPN • Anything RADIUS
Azure AD: Global Admins • Theycan do everything! • Azure AD • Office 365 • Azure subscriptions – withoutsubscriptionownerknowledge!
Just in time VM Access • Azure Security Center feature • Time limitedaccess to a specific port on a specific VM • RBAC enabled
Network and Application Security Groups • NSG + ASG = Secure infrastructure • ASG’s are just a logicalgroup of servers • NSG rulesareapplied to all servers in an ASG
ARM: Create ASG { "comments": "Application Security Group", "name": "[variables('asgName')]", "type": "Microsoft.Network/applicationSecurityGroups", "apiVersion": "2018-02-01", "location": "[parameters('location')]", "properties": {} }
ARM: Attach ASG to NIC { "name": "[concat(parameters('vmName'),'-NIC')]", "type": "Microsoft.Network/networkInterfaces", "location": "[parameters('location')]", "apiVersion": "2017-09-01", "properties": { "ipConfigurations": [ { "name": "ipconfig1", "properties": { "privateIPAllocationMethod": "Dynamic", "subnet": { "id": "[variables('subnet2Id')]" }, "applicationSecurityGroups": [ { "id": "[variables('asg1Id')]" }, { "id": "[variables('asg2Id')]" } ] } } ] } }
ARM: NSG rules { "name": "AllowRDP", "properties": { "description": "Allow RDP traffic", "sourceAddressPrefix": "*", "sourcePortRange": "*", "direction": "Inbound", "access": "Allow", "priority": 200, "protocol": "Tcp", "destinationPortRange": "3389", "destinationApplicationSecurityGroups": [ { "id": "[variables('asgId')]" } ] } }
Demo: Application Security Groups Jesper Fütterer Jensen
Disk Encryption • Supported for • Windows Server 2008 R2 and later • Windows 8 & 10 • Ubuntu, RHEL, CentOS, openSUSE, SLES • Easy to getstarted with Azure PowerShell • ADEPrereqScript.ps1 • Set-AzureRmVmDiskEncryptionExtension -ResourceGroupName ”RG" -VMName ”VM" ` -DiskEncryptionKeyVaultId ”KeyVaultID" -DiskEncryptionKeyVaultUrl ”KeyVaultUrl"
VM Extensions • Extensions can do stuffinsideVMs - privileged • Wouldyou trust everyone with thisaccess? • At leastuse PIM with approval • Example: Azure Automation DSC • Applyconfig to create new user (local or domain) • Change security settings (firewalls etc) • Traceablethrough audit logs
DSC – Create User xADUserMadAdmin { DomainName = 'company.com' UserName = 'MadAdmin' Password = 'SecurePw123' Ensure = 'Present' } xADGroupDomainAdmins { GroupName = 'Domain Admins' MembersToInclude = 'MadAdmin' }
Azure Backup Security features • These features areenabled by default on new vaults • Works with MARS agent, MABS & DPM • Extra Authentication • Pin required for critical actions • Alerting • Subscription ownersarealertedthroughemail • Recovery • Deleted data is kept for 14 days
Secure Backups Jesper Fütterer Jensen
Please evaluate this sessionYour feedback is important to us! Please evaluate this session through MyEvaluations on the mobile appor website. Download the app:https://aka.ms/ignite.mobileApp Go to the website: https://myignite.techcommunity.microsoft.com/evaluations