API Reference
SmbSecurityChecker
Validates SMB configuration on domain controllers.
Inheritance
- Object
- SmbSecurityChecker
Constructors
public SmbSecurityChecker(Func<String, Boolean> signingRequired = null, Func<String, Boolean> smb1Enabled = null, Func<IEnumerable<String>> enumerateDcs = null, Func<String, Boolean> policySigningRequired = null, Func<String, Boolean> policySmb1Enabled = null, Func<String, Boolean> encryptionRequired = null, Func<String, Int32> minVersion = null, Func<String, Boolean> policyEncryptionRequired = null, Func<String, Int32> policyMinVersion = null, Func<String, IReadOnlyList<SmbProtocolVersion>> supportedVersions = null, Func<String, IReadOnlyList<SmbProtocolVersion>> policySupportedVersions = null) #Initializes a new instance of the SmbSecurityChecker class.
Parameters
- signingRequired System.Func{System.String,System.Boolean} = null
- Function determining if SMB signing is required.
- smb1Enabled System.Func{System.String,System.Boolean} = null
- Function determining if SMBv1 is enabled.
- enumerateDcs System.Func{System.Collections.Generic.IEnumerable{System.String}} = null
- Function enumerating domain controllers.
- policySigningRequired System.Func{System.String,System.Boolean} = null
- Function determining if policy requires signing.
- policySmb1Enabled System.Func{System.String,System.Boolean} = null
- Function determining if policy enables SMBv1.
- encryptionRequired System.Func{System.String,System.Boolean} = null
- Function determining if SMB encryption is required.
- minVersion System.Func{System.String,System.Int32} = null
- Function retrieving minimum SMB version.
- policyEncryptionRequired System.Func{System.String,System.Boolean} = null
- Function determining if policy requires encryption.
- policyMinVersion System.Func{System.String,System.Int32} = null
- Function retrieving policy minimum SMB version.
- supportedVersions System.Func{System.String,System.Collections.Generic.IReadOnlyList{ADPlayground.DomainControllers.SmbProtocolVersion}} = null
- Function retrieving supported SMB versions.
- policySupportedVersions System.Func{System.String,System.Collections.Generic.IReadOnlyList{ADPlayground.DomainControllers.SmbProtocolVersion}} = null
- Function retrieving policy supported SMB versions.
Methods
public virtual Int32 GetMinVersion(String dcName) #Int32Gets the minimum SMB protocol version allowed on the specified domain controller.
Parameters
- dcName System.String
- Domain controller name.
Returns
Protocol version number.
public virtual SmbPolicyDifferences GetPolicyDifferences(String dcName) #SmbPolicyDifferencesComputes differences between current SMB settings and policy for the specified domain controller.
Parameters
- dcName System.String
- Domain controller name.
Returns
Summary of mismatched settings.
public virtual Int32 GetPolicyMinVersion(String dcName) #Int32Gets the policy minimum SMB protocol version for the specified domain controller.
Parameters
- dcName System.String
- Domain controller name.
Returns
Protocol version number.
public virtual SmbPolicyStatus GetPolicyStatus(String dcName) #SmbPolicyStatusGets policy SMB settings for the specified domain controller.
Parameters
- dcName System.String
- Domain controller name.
Returns
Policy security status information.
public virtual IEnumerable<SmbPolicyStatus> GetPolicyStatusReport() #IEnumerable<SmbPolicyStatus>Gets policy SMB security status for all discovered domain controllers.
public virtual IReadOnlyList<SmbProtocolVersion> GetPolicySupportedVersions(String dcName) #IReadOnlyList<SmbProtocolVersion>Gets policy supported SMB protocol versions on the specified domain controller.
Parameters
- dcName System.String
- Domain controller name.
Returns
List of supported protocol versions.
public virtual SmbSecurityStatus GetStatus(String dcName) #SmbSecurityStatusGets SMB signing and SMBv1 status for the specified domain controller.
Parameters
- dcName System.String
- Domain controller name.
Returns
Security status information.
public virtual IEnumerable<SmbSecurityStatus> GetStatusReport() #IEnumerable<SmbSecurityStatus>Gets SMB security status for all discovered domain controllers.
public virtual IReadOnlyList<SmbProtocolVersion> GetSupportedVersions(String dcName) #IReadOnlyList<SmbProtocolVersion>Gets supported SMB protocol versions on the specified domain controller.
Parameters
- dcName System.String
- Domain controller name.
Returns
List of supported protocol versions.
public virtual Boolean IsEncryptionRequired(String dcName) #BooleanDetermines whether SMB encryption is required on the specified domain controller.
Parameters
- dcName System.String
- Domain controller name.
Returns
true when encryption is required.
public virtual Boolean IsPolicyEncryptionRequired(String dcName) #BooleanDetermines whether policy requires SMB encryption on the specified domain controller.
Parameters
- dcName System.String
- Domain controller name.
Returns
true when required by policy.
public virtual Boolean IsPolicySigningRequired(String dcName) #BooleanDetermines whether policy requires SMB signing on the specified domain controller.
Parameters
- dcName System.String
- Domain controller name.
Returns
true when required by policy.
public virtual Boolean IsPolicySmb1Enabled(String dcName) #BooleanDetermines whether policy enables SMBv1 on the specified domain controller.
Parameters
- dcName System.String
- Domain controller name.
Returns
true when SMBv1 is enabled by policy.
public virtual Boolean IsSigningRequired(String dcName) #BooleanDetermines whether SMB signing is required on the specified domain controller.
Parameters
- dcName System.String
- Domain controller name.
Returns
true when required.
public virtual Boolean IsSmb1Enabled(String dcName) #BooleanDetermines whether SMBv1 is enabled on the specified domain controller.
Parameters
- dcName System.String
- Domain controller name.
Returns
true when SMBv1 is enabled.
public virtual Void ValidateAll() #VoidValidates SMB settings for all domain controllers returned by the enumerator.
public virtual Void ValidateDc(String dcName) #VoidValidates SMB settings for a single domain controller and logs warnings.
Parameters
- dcName System.String
- Domain controller name.