From fd70eb3ff14166d35705f70aa33c5a0a77180f5e Mon Sep 17 00:00:00 2001 From: Aboli Bhangale Date: Wed, 8 Jun 2022 10:57:45 +0530 Subject: [PATCH 1/2] Exclude storages with only NFS File Shares from remediation --- ...eEncryptionInTransitForStorageAccounts.ps1 | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/Scripts/RemediationScripts/Remediate-EnableEncryptionInTransitForStorageAccounts.ps1 b/Scripts/RemediationScripts/Remediate-EnableEncryptionInTransitForStorageAccounts.ps1 index 26184ce6..08af3648 100644 --- a/Scripts/RemediationScripts/Remediate-EnableEncryptionInTransitForStorageAccounts.ps1 +++ b/Scripts/RemediationScripts/Remediate-EnableEncryptionInTransitForStorageAccounts.ps1 @@ -338,6 +338,27 @@ function Enable-StorageEncryptionInTransit Write-Host "Total Storage Account(s) for remediation: [$(($storageAccounts | Measure-Object).Count)]" -ForegroundColor $([Constants]::MessageType.Update) Write-Host "$([Constants]::DoubleDashLine)" + $storageAccounts | ForEach-Object { + if($_.Kind -eq "FileStorage"){ + $fileshares=@() + $fileshares= Get-AzRMStorageShare -StorageAccountName $_.StorageAccountName -ResourceGroupName $_.ResourceGroupName + if(($fileshares|Measure-Object).Count -gt 0) + { + $SMBFileShares = @() + $NFSFileShares = @() + $SMBFileShares = $fileshares|Where-Object{$_.EnabledProtocols -contains "SMB"} + $NFSFileShares = $fileshares|Where-Object{$_.EnabledProtocols -contains "NFS"} + if($NFSFileShares.Count -gt 0 -and $SMBFileShares.Count -eq 0) + { + $storagewithOnlyNFSShares = $_.StorageAccountName + Write-Host "Excluding Storage Accounts $($_.StorageAccountName) with type FileStorage and having only NFS fileshares" + $storageAccounts=$storageAccounts|Where-Object{$_.StorageAccountName -ne $storagewithOnlyNFSShares} + } + } + } + } + + try { #Storage Account with enabled Https only @@ -609,6 +630,26 @@ function Disable-StorageEncryptionInTransit $remediatedResourceLog | ForEach-Object { try { + $res = Get-AzStorageAccount -ResourceGroupName $_.ResourceGroupName -Name _.StorageAccountName + if($_.Kind -eq "FileStorage"){ + $fileshares=@() + $fileshares= Get-AzRMStorageShare -StorageAccountName $_.StorageAccountName -ResourceGroupName $_.ResourceGroupName + if(($fileshares|Measure-Object).Count -gt 0) + { + $SMBFileShares = @() + $NFSFileShares = @() + $SMBFileShares = $fileshares|Where-Object{$_.EnabledProtocols -contains "SMB"} + $NFSFileShares = $fileshares|Where-Object{$_.EnabledProtocols -contains "NFS"} + if($NFSFileShares.Count -gt 0 -and $SMBFileShares.Count -eq 0) + { + $storagewithOnlyNFSShares = $_.StorageAccountName + Write-Host "Excluding Storage Accounts $($_.StorageAccountName) with type FileStorage and having only NFS fileshares" + continue + } + } + } + + $output = Set-AzStorageAccount -ResourceGroupName $_.ResourceGroupName -Name $_.StorageAccountName -EnableHttpsTrafficOnly $false -ErrorAction SilentlyContinue if($output -ne $null) { From b2c88f88aaaac3918e295dbf8d1b08727b3bfc96 Mon Sep 17 00:00:00 2001 From: Aboli-msft Date: Wed, 29 Jun 2022 09:57:33 +0530 Subject: [PATCH 2/2] adding zip folder for updated remediation script --- ...eEncryptionInTransitForStorageAccounts.ps1 | 38 ++++++++---------- TemplateFiles/RemediationScripts.zip | Bin 149642 -> 163575 bytes 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/Scripts/RemediationScripts/Remediate-EnableEncryptionInTransitForStorageAccounts.ps1 b/Scripts/RemediationScripts/Remediate-EnableEncryptionInTransitForStorageAccounts.ps1 index 08af3648..f6041361 100644 --- a/Scripts/RemediationScripts/Remediate-EnableEncryptionInTransitForStorageAccounts.ps1 +++ b/Scripts/RemediationScripts/Remediate-EnableEncryptionInTransitForStorageAccounts.ps1 @@ -338,27 +338,6 @@ function Enable-StorageEncryptionInTransit Write-Host "Total Storage Account(s) for remediation: [$(($storageAccounts | Measure-Object).Count)]" -ForegroundColor $([Constants]::MessageType.Update) Write-Host "$([Constants]::DoubleDashLine)" - $storageAccounts | ForEach-Object { - if($_.Kind -eq "FileStorage"){ - $fileshares=@() - $fileshares= Get-AzRMStorageShare -StorageAccountName $_.StorageAccountName -ResourceGroupName $_.ResourceGroupName - if(($fileshares|Measure-Object).Count -gt 0) - { - $SMBFileShares = @() - $NFSFileShares = @() - $SMBFileShares = $fileshares|Where-Object{$_.EnabledProtocols -contains "SMB"} - $NFSFileShares = $fileshares|Where-Object{$_.EnabledProtocols -contains "NFS"} - if($NFSFileShares.Count -gt 0 -and $SMBFileShares.Count -eq 0) - { - $storagewithOnlyNFSShares = $_.StorageAccountName - Write-Host "Excluding Storage Accounts $($_.StorageAccountName) with type FileStorage and having only NFS fileshares" - $storageAccounts=$storageAccounts|Where-Object{$_.StorageAccountName -ne $storagewithOnlyNFSShares} - } - } - } - } - - try { #Storage Account with enabled Https only @@ -370,6 +349,23 @@ function Enable-StorageEncryptionInTransit $storageAccounts | ForEach-Object { if ($_.EnableHttpsTrafficOnly) { + if($_.Kind -eq "FileStorage"){ + $fileshares=@() + $fileshares= Get-AzRMStorageShare -StorageAccountName $_.StorageAccountName -ResourceGroupName $_.ResourceGroupName + if(($fileshares|Measure-Object).Count -gt 0) + { + $SMBFileShares = @() + $NFSFileShares = @() + $SMBFileShares = $fileshares|Where-Object{$_.EnabledProtocols -contains "SMB"} + $NFSFileShares = $fileshares|Where-Object{$_.EnabledProtocols -contains "NFS"} + if($NFSFileShares.Count -gt 0 -and $SMBFileShares.Count -eq 0) + { + $storagewithOnlyNFSShares = $_.StorageAccountName + Write-Host "Excluding Storage Accounts $($_.StorageAccountName) with type FileStorage and having only NFS fileshares" + $storageAccounts=$storageAccounts|Where-Object{$_.StorageAccountName -ne $storagewithOnlyNFSShares} + } + } + } $stgWithEnableHTTPS += $_ } else diff --git a/TemplateFiles/RemediationScripts.zip b/TemplateFiles/RemediationScripts.zip index d23df741d5c50ab6536c4b210347a75e418c4487..6a380efd0447b1d388741da4c76fe08c53b42bad 100644 GIT binary patch delta 21094 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 P;VGg300dn@gs=YrK};M( delta 7044 zcmZXZ2QZx9_y2cS??f+A5{uQs>NSKYK@e-z=)FbntQLesXY~ZJD_V$NqW2b}*XYq( z2toL*@8|n3pZPt{%rkfI``mNxIrq%$%zd5zC5TBRAk|XC!lnWM0Qdkub9bFeQg>|Z zyFpb1whQo|(QlkzI9UFv)yaEAURVk`IaOA~2^?7Rn87(z0tZVPE>a~V?u~=>r9iE! zRHls;t324g>Xiv0EtX_*a#f($OL8m^_v$L=EGQENTWU3|x$uQ};5`69(hC5PMG8^^ zS*u3t(D(ic_GsgXlHzUyL!rYhrSt$md;|a>_K%g;pHX@&4Rd(iLrUNf6_!DAa$UR( za7UP;AWsc;dtN1dMgst7hX4TTclI2}3U?qc!ehSP`-f2SZOA}wWsc#HV*q;X>#WH% z{7Ys}T(7(6a2Nd}4S5>InDvd$IML%ryHPhEZ(iqy;}MWAtEJ`a4|VVL++%5L_j@0X zwS~C7LfkZtHOK^?UX0=T`Di3NzF*pt30C}&GyFH@qseM7eW<42GctTh*@34IQ_V|kc9#oA;AeeGTo|dVIUW5EQAq;Z3 z!k*U|aU*k{r`5Q4YC{8%*WM1L)d?BG;;sfVU;J5C1{zDk6L(-TySWv@8 z`%6d@QY}(Vo|^R9K=C&=SuJj`4Q zJh{bC>Z6R3ug_dITkyEBjYnSMPEKgj3w@Ln;dk%N zJMg+alsW`1rwYMqBWW+(4bqmpjYT|cs00BX$_?9b$g=Bh;FBoI7~pABY;*e+yLSpc z)(%;){ubaN)|?Nqi-0_R>*@}8|ME&Z7kBWb5<@*uzq5h$b_X9ThGkAQ(%nX$F06xJ zPq0?L$2=3<5T*BmDJA$dvrutg?1W>8K~po6l9)MpgU-hN`-QL0vX}%p$4C$w93F(l z4-4&M$V0Q2nKlh*&;gq78%>RE6J-}~*PNi)N+y@E0iKQle}$NJ>J z4-(zsw2jOG?QyTQx8!9*OUn>rdOj3*!i#e_kp%gSqzbA+%d8eLowu5q1_Fd%RnDw? zx6N=q-tZ@02E2h$(fBp!vd`T2B-~M&qQ=ro8+w~RIw*^NhE~kn%iD5>se3aK8fiv4 zpw}RN9CJrJ)p<9nqEKn|G_)TVRnf=Wo$O-GeR-7D+dQ|yMpVV1MkS(T%PuKYiZ)5u zbIp_4nhe^%;;5y;$?y9ZFW~2)PUgp-S8jn@HV1#^`#i!io$c{-X=GCSyT|Mpj(1QV zB5D7+yNdSP`^Nz{C#$ojxqo*h-V>Zt;OzahFl1>Xp;U@)Dl)rLf&8LEf4w>rQZAC>w3@5Pu{ z;QD7qu-VA^+Hq5IzwZkZi(tu%5g}1+zDtYX<1ib6S=Pd)<*<-s5=}li0&#B1oX)ZJ zWzRr&(O{qExLj+pwS=cGTeIj4M(m=91y@ylWr7cHm5XBSGQ*QUgbT~c`XNw5zr+b4 z@wsergavQAf{CdRt=Er^*fU;PwSQPzYdW{B<>xz0w8y?(W+hlqe}XNU<)J*t_dpoi zY~YC&O-TbpX*QVd=TN`<%9%vHQrL>8meOql!t=x%W+IVsZD9-CD6CssyB!Vv`9m}~ zv3c`Rh!J|H`$ zhNZxZxJu4HD8v@cmfw7OY4{rsD0W)AVgk{_gyGox8+?JtiejA^<_ zbhKA`t;|Aqa&`PzG})MDAb5?sxKC3jDQa|m*$>OHNf3hV?X7h~E>w{KSX5uK=7;9qwpVyE)t=XXLBxGH z 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 CuEKKw