public SecurityDescriptorTargetViewModel(SecurityDescriptorTarget model, SecurityDescriptorTargetViewModelDisplaySettings displaySettings, INotificationChannelSelectionViewModelFactory notificationChannelFactory, IFileSelectionViewModelFactory fileSelectionViewModelFactory, IAppPathProvider appPathProvider, ILogger <SecurityDescriptorTargetViewModel> logger, IDialogCoordinator dialogCoordinator, IModelValidator <SecurityDescriptorTargetViewModel> validator, IDirectory directory, IDomainTrustProvider domainTrustProvider, IDiscoveryServices discoveryServices, ILocalSam localSam, IObjectSelectionProvider objectSelectionProvider, ScriptTemplateProvider scriptTemplateProvider, IAmsLicenseManager licenseManager, IShellExecuteProvider shellExecuteProvider)
        {
            this.directory                  = directory;
            this.Model                      = model;
            this.logger                     = logger;
            this.dialogCoordinator          = dialogCoordinator;
            this.notificationChannelFactory = notificationChannelFactory;
            this.Validator                  = validator;
            this.domainTrustProvider        = domainTrustProvider;
            this.discoveryServices          = discoveryServices;
            this.localSam                   = localSam;
            this.displaySettings            = displaySettings ?? new SecurityDescriptorTargetViewModelDisplaySettings();
            this.objectSelectionProvider    = objectSelectionProvider;
            this.scriptTemplateProvider     = scriptTemplateProvider;
            this.licenseManager             = licenseManager;
            this.shellExecuteProvider       = shellExecuteProvider;

            this.Script = fileSelectionViewModelFactory.CreateViewModel(model, () => model.Script, appPathProvider.ScriptsPath);
            this.Script.DefaultFileExtension = "ps1";
            this.Script.Filter           = "PowerShell script|*.ps1";
            this.Script.NewFileContent   = this.scriptTemplateProvider.GetAuthorizationResponse;
            this.Script.ShouldValidate   = false;
            this.Script.PropertyChanged += Script_PropertyChanged;
            this.Initialization          = this.Initialize();
        }
Exemplo n.º 2
0
 public JitAccessProvider(IDirectory directory, ILogger <JitAccessProvider> logger, IOptionsSnapshot <JitConfigurationOptions> options, IDiscoveryServices discoveryServices)
 {
     this.directory         = directory;
     this.logger            = logger;
     this.options           = options.Value;
     this.discoveryServices = discoveryServices;
 }
 /// <summary>
 /// Create handler
 /// </summary>
 /// <param name="discovery"></param>
 /// <param name="processor"></param>
 /// <param name="logger"></param>
 public DiscoveryRequestHandler(IDiscoveryServices discovery,
                                ITaskProcessor processor, ILogger logger)
 {
     _logger    = logger ?? throw new ArgumentNullException(nameof(logger));
     _discovery = discovery ?? throw new ArgumentNullException(nameof(discovery));
     _processor = processor ?? throw new ArgumentNullException(nameof(processor));
 }
Exemplo n.º 4
0
 public ActiveDirectoryGroup(DirectoryEntry directoryEntry, IDiscoveryServices discoveryServices)
 {
     directoryEntry.ThrowIfNotObjectClass("group");
     this.de = directoryEntry;
     this.de.RefreshCache(PropertiesToGet);
     this.discoveryServices = discoveryServices;
 }
Exemplo n.º 5
0
 public AuthorizationContextProvider(IOptions <AuthorizationOptions> options, ILogger <AuthorizationContextProvider> logger, IDiscoveryServices discoveryServices)
 {
     this.logger            = logger;
     this.options           = options.Value;
     this.discoveryServices = discoveryServices;
     this.domainCache       = new ConcurrentDictionary <SecurityIdentifier, AuthorizationContextDomainDetails>();
 }
Exemplo n.º 6
0
 public void TestInitialize()
 {
     this.env = new Mock <IAppPathProvider>();
     this.env.SetupGet(t => t.AppPath).Returns(Environment.CurrentDirectory);
     this.discoveryServices = new DiscoveryServices(Mock.Of <ILogger <DiscoveryServices> >());
     this.directory         = new ActiveDirectory(discoveryServices);
     this.resolver          = new JitAccessGroupResolver(directory, discoveryServices);
 }
Exemplo n.º 7
0
 public ComputerPrincipalProviderBitLocker(IDiscoveryServices discoveryServices, ILogger <ComputerPrincipalProviderBitLocker> logger)
 {
     this.logger                  = logger;
     this.discoveryServices       = discoveryServices;
     this.ComputerPropertiesToGet = new List <string> {
         "objectSid", "ntSecurityDescriptor"
     };
 }
Exemplo n.º 8
0
 public void TestInitialize()
 {
     encryptionProvider     = new EncryptionProvider();
     this.discoveryServices = new DiscoveryServices(Mock.Of <ILogger <DiscoveryServices> >());
     directory           = new ActiveDirectory(discoveryServices);
     certificateProvider = new CertificateProvider(Mock.Of <ILogger <CertificateProvider> >(), discoveryServices);
     provider            = new LithnetAdminPasswordProvider(Mock.Of <ILogger <LithnetAdminPasswordProvider> >(), encryptionProvider, certificateProvider);
 }
Exemplo n.º 9
0
 public AuthorizationContextDomainDetails(SecurityIdentifier sid, string domainDnsName, IDiscoveryServices discoveryServices)
 {
     this.SecurityIdentifier  = sid;
     this.discoveryServices   = discoveryServices;
     this.DomainDnsName       = domainDnsName;
     this.IsInCurrentForest   = this.GetIsInCurrentForest();
     this.IsRemoteOneWayTrust = this.GetIsOneWayTrust();
 }
Exemplo n.º 10
0
 public JitGroupMappingViewModelFactory(Func <IModelValidator <JitGroupMappingViewModel> > validator, IObjectSelectionProvider objectSelectionProvider, ILogger <JitGroupMappingViewModel> logger, IDialogCoordinator dialogCoordinator, IDiscoveryServices discoveryServices)
 {
     this.objectSelectionProvider = objectSelectionProvider;
     this.validator         = validator;
     this.logger            = logger;
     this.dialogCoordinator = dialogCoordinator;
     this.discoveryServices = discoveryServices;
 }
Exemplo n.º 11
0
 public ComputerPrincipalProviderLaps(IDiscoveryServices discoveryServices, ILogger <ComputerPrincipalProviderLaps> logger)
 {
     this.logger                  = logger;
     this.discoveryServices       = discoveryServices;
     this.ComputerPropertiesToGet = new List <string>()
     {
         "objectSid", "ntSecurityDescriptor", "msDS-PrincipalName"
     };
 }
 public JitGroupMappingViewModel(JitGroupMapping model, ILogger <JitGroupMappingViewModel> logger, IDialogCoordinator dialogCoordinator, IModelValidator <JitGroupMappingViewModel> validator, IDiscoveryServices discoveryServices, IObjectSelectionProvider objectSelectionProvider)
 {
     this.logger                  = logger;
     this.dialogCoordinator       = dialogCoordinator;
     this.Model                   = model;
     this.objectSelectionProvider = objectSelectionProvider;
     this.Validator               = validator;
     this.discoveryServices       = discoveryServices;
 }
Exemplo n.º 13
0
 public ActiveDirectoryForestSchemaViewModel(Forest forest, ILogger <ActiveDirectoryForestSchemaViewModel> logger, IDiscoveryServices discoveryServices)
 {
     this.Forest            = forest;
     this.logger            = logger;
     this.discoveryServices = discoveryServices;
     this.LithnetAccessManagerSchemaPresentText = "Checking...";
     this.LithnetSchemaLookupInProgress         = true;
     this.MsLapsSchemaPresentText      = "Checking...";
     this.MsLapsSchemaLookupInProgress = true;
 }
Exemplo n.º 14
0
        public void TestInitialize()
        {
            this.discoveryServices = new DiscoveryServices(Global.LogFactory.CreateLogger <DiscoveryServices>());
            directory = new ActiveDirectory(discoveryServices);
            options   = new JitConfigurationOptions
            {
                DynamicGroupMappings = new List <JitDynamicGroupMapping>()
            };

            logger = Global.LogFactory.CreateLogger <JitAccessProvider>();
        }
        public void TestInitialize()
        {
            this.discoveryServices = new DiscoveryServices(Mock.Of <ILogger <DiscoveryServices> >());
            directory     = new ActiveDirectory(discoveryServices);
            psLogger      = Global.LogFactory.CreateLogger <PowerShellSecurityDescriptorGenerator>();
            sessionLogger = Global.LogFactory.CreateLogger <CachedPowerShellSessionProvider>();

            var provider = new TestPathProvider();
            var sessionp = new CachedPowerShellSessionProvider(provider, sessionLogger);

            generator = new PowerShellSecurityDescriptorGenerator(psLogger, sessionp);
        }
 public ImportWizardImportContainerViewModel(ILogger <ImportWizardImportContainerViewModel> logger, IDialogCoordinator dialogCoordinator, IModelValidator <ImportWizardImportContainerViewModel> validator, IObjectSelectionProvider objectSelectionProvider, IDiscoveryServices discoveryServices, IDirectory directory, IWindowsServiceProvider windowsServiceProvider, IShellExecuteProvider shellExecuteProvider)
 {
     this.logger                  = logger;
     this.dialogCoordinator       = dialogCoordinator;
     this.discoveryServices       = discoveryServices;
     this.objectSelectionProvider = objectSelectionProvider;
     this.directory               = directory;
     this.Validator               = validator;
     this.windowsServiceProvider  = windowsServiceProvider;
     this.shellExecuteProvider    = shellExecuteProvider;
     this.Initialization          = this.Initialize();
 }
 /// <summary>
 /// Create controller with service
 /// </summary>
 /// <param name="supervisor"></param>
 /// <param name="browse"></param>
 /// <param name="discover"></param>
 /// <param name="activator"></param>
 /// <param name="nodes"></param>
 /// <param name="historian"></param>
 /// <param name="publisher"></param>
 public SupervisorMethodsController(ISupervisorServices supervisor,
                                    IDiscoveryServices discover, IActivationServices <string> activator,
                                    INodeServices <EndpointModel> nodes, IHistoricAccessServices <EndpointModel> historian,
                                    IBrowseServices <EndpointModel> browse, IPublishServices <EndpointModel> publisher)
 {
     _supervisor = supervisor ?? throw new ArgumentNullException(nameof(supervisor));
     _browse     = browse ?? throw new ArgumentNullException(nameof(browse));
     _historian  = historian ?? throw new ArgumentNullException(nameof(historian));
     _nodes      = nodes ?? throw new ArgumentNullException(nameof(nodes));
     _publisher  = publisher ?? throw new ArgumentNullException(nameof(publisher));
     _discover   = discover ?? throw new ArgumentNullException(nameof(discover));
     _activator  = activator ?? throw new ArgumentNullException(nameof(activator));
 }
Exemplo n.º 18
0
        public JitGroupWorker(ILogger <JitGroupWorker> logger, IOptions <JitConfigurationOptions> options, IJitAccessGroupResolver groupResolver, IDirectory directory, IDiscoveryServices discoveryServices)
        {
            this.logger            = logger;
            this.options           = options.Value;
            this.groupResolver     = groupResolver;
            this.directory         = directory;
            this.discoveryServices = discoveryServices;
            this.fullSyncInterval  = Math.Max(1, this.options.FullSyncInterval ?? 60);
            this.deltaSyncInterval = Math.Max(0, this.options.DeltaSyncInterval ?? 1);

            if (this.deltaSyncInterval >= this.fullSyncInterval)
            {
                this.deltaSyncInterval = 0;
            }

            this.timerInterval = this.deltaSyncInterval <= 0 ? this.fullSyncInterval : this.deltaSyncInterval;
        }
Exemplo n.º 19
0
 public SecurityDescriptorTargetViewModelFactory(IDialogCoordinator dialogCoordinator, IAppPathProvider appPathProvider, INotificationChannelSelectionViewModelFactory channelSelectionViewModelFactory, IFileSelectionViewModelFactory fileSelectionViewModelFactory, ILogger <SecurityDescriptorTargetViewModel> logger, IDiscoveryServices discoveryServices, IDomainTrustProvider domainTrustProvider, IDirectory directory, ILocalSam localsam, IObjectSelectionProvider objectSelectionProvider, Func <IModelValidator <SecurityDescriptorTargetViewModel> > validator, ScriptTemplateProvider scriptTemplateProvider, IAmsLicenseManager licenseManager, IShellExecuteProvider shellExecuteProvider)
 {
     this.dialogCoordinator = dialogCoordinator;
     this.appPathProvider   = appPathProvider;
     this.channelSelectionViewModelFactory = channelSelectionViewModelFactory;
     this.fileSelectionViewModelFactory    = fileSelectionViewModelFactory;
     this.logger                  = logger;
     this.directory               = directory;
     this.discoveryServices       = discoveryServices;
     this.domainTrustProvider     = domainTrustProvider;
     this.localSam                = localsam;
     this.objectSelectionProvider = objectSelectionProvider;
     this.validator               = validator;
     this.scriptTemplateProvider  = scriptTemplateProvider;
     this.licenseManager          = licenseManager;
     this.shellExecuteProvider    = shellExecuteProvider;
 }
Exemplo n.º 20
0
        public void TestInitialize()
        {
            this.discoveryServices = new DiscoveryServices(Mock.Of <ILogger <DiscoveryServices> >());
            directory  = new ActiveDirectory(discoveryServices);
            cache      = new AuthorizationInformationMemoryCache();
            logger     = Global.LogFactory.CreateLogger <AuthorizationInformationBuilder>();
            powershell = Mock.Of <IPowerShellSecurityDescriptorGenerator>();
            var mockLicenseManager = new Mock <IAmsLicenseManager>();

            mockLicenseManager.Setup(l => l.IsEnterpriseEdition()).Returns(true);
            mockLicenseManager.Setup(l => l.IsFeatureCoveredByFullLicense(It.IsAny <LicensedFeatures>())).Returns(true);
            mockLicenseManager.Setup(l => l.IsFeatureEnabled(It.IsAny <LicensedFeatures>())).Returns(true);
            this.licenseManager = mockLicenseManager.Object;

            targetDataProvider           = new ComputerTargetProvider(directory, new TargetDataProvider(new TargetDataCache(), Global.LogFactory.CreateLogger <TargetDataProvider>()), Global.LogFactory.CreateLogger <ComputerTargetProvider>());
            authorizationContextProvider = new AuthorizationContextProvider(Mock.Of <IOptions <AuthorizationOptions> >(), Global.LogFactory.CreateLogger <AuthorizationContextProvider>(), discoveryServices);
        }
Exemplo n.º 21
0
        protected override void BeginProcessing()
        {
            this.logFactory            = Microsoft.Extensions.Logging.Abstractions.NullLoggerFactory.Instance;
            this.discoveryServices     = new DiscoveryServices(logFactory.CreateLogger <DiscoveryServices>());
            this.certificateProvider   = new CertificateProvider(logFactory.CreateLogger <CertificateProvider>(), discoveryServices);
            this.encryptionProvider    = new EncryptionProvider();
            this.adminPasswordProvider = new LithnetAdminPasswordProvider(logFactory.CreateLogger <LithnetAdminPasswordProvider>(), encryptionProvider, certificateProvider);
            this.directory             = new ActiveDirectory(discoveryServices);

            if (this.PfxCertificateFile != null)
            {
                this.certificate = new X509Certificate2(this.PfxCertificateFile, this.PfxCertificateFilePassword);
            }
            else
            {
                this.certificate = null;
            }
        }
Exemplo n.º 22
0
        public JitConfigurationViewModel(JitConfigurationOptions jitOptions, IDialogCoordinator dialogCoordinator, IJitGroupMappingViewModelFactory groupMappingFactory, INotifyModelChangedEventPublisher eventPublisher, IJitDomainStatusViewModelFactory jitDomainStatusFactory, IWindowsServiceProvider windowsServiceProvider, IShellExecuteProvider shellExecuteProvider, IDomainTrustProvider domainTrustProvider, IDiscoveryServices discoveryServices, IObjectSelectionProvider objectSelectionProvider, IScriptTemplateProvider scriptTemplateProvider)
        {
            this.shellExecuteProvider    = shellExecuteProvider;
            this.dialogCoordinator       = dialogCoordinator;
            this.jitOptions              = jitOptions;
            this.groupMappingFactory     = groupMappingFactory;
            this.jitDomainStatusFactory  = jitDomainStatusFactory;
            this.windowsServiceProvider  = windowsServiceProvider;
            this.eventPublisher          = eventPublisher;
            this.domainTrustProvider     = domainTrustProvider;
            this.discoveryServices       = discoveryServices;
            this.objectSelectionProvider = objectSelectionProvider;
            this.scriptTemplateProvider  = scriptTemplateProvider;

            this.DisplayName   = "Just-in-time access";
            this.GroupMappings = new BindableCollection <JitGroupMappingViewModel>();
            this.Domains       = new BindableCollection <JitDomainStatusViewModel>();
        }
Exemplo n.º 23
0
        public LapsConfigurationViewModel(IDialogCoordinator dialogCoordinator, ICertificateProvider certificateProvider, IX509Certificate2ViewModelFactory certificate2ViewModelFactory, IWindowsServiceProvider windowsServiceProvider, ILogger <LapsConfigurationViewModel> logger, IShellExecuteProvider shellExecuteProvider, IDomainTrustProvider domainTrustProvider, IDiscoveryServices discoveryServices, IScriptTemplateProvider scriptTemplateProvider, ICertificatePermissionProvider certPermissionProvider, DataProtectionOptions dataProtectionOptions, INotifyModelChangedEventPublisher eventPublisher)
        {
            this.shellExecuteProvider         = shellExecuteProvider;
            this.certificateProvider          = certificateProvider;
            this.certificate2ViewModelFactory = certificate2ViewModelFactory;
            this.dialogCoordinator            = dialogCoordinator;
            this.windowsServiceProvider       = windowsServiceProvider;
            this.logger = logger;
            this.domainTrustProvider    = domainTrustProvider;
            this.discoveryServices      = discoveryServices;
            this.scriptTemplateProvider = scriptTemplateProvider;
            this.dataProtectionOptions  = dataProtectionOptions;
            this.eventPublisher         = eventPublisher;

            this.Forests = new List <Forest>();
            this.AvailableCertificates  = new BindableCollection <X509Certificate2ViewModel>();
            this.DisplayName            = "Local admin passwords";
            this.certPermissionProvider = certPermissionProvider;
        }
Exemplo n.º 24
0
        public HostingViewModel(HostingOptions model, IDialogCoordinator dialogCoordinator, IWindowsServiceProvider windowsServiceProvider, ILogger <HostingViewModel> logger, IModelValidator <HostingViewModel> validator, IAppPathProvider pathProvider, INotifyModelChangedEventPublisher eventPublisher, ICertificateProvider certProvider, IShellExecuteProvider shellExecuteProvider, IEventAggregator eventAggregator, IDirectory directory, IScriptTemplateProvider scriptTemplateProvider, ICertificatePermissionProvider certPermissionProvider, IRegistryProvider registryProvider, ISecretRekeyProvider rekeyProvider, IObjectSelectionProvider objectSelectionProvider, IDiscoveryServices discoveryServices, IAmsLicenseManager licenseManager, IApplicationUpgradeProvider appUpgradeProvider, IHttpSysConfigurationProvider certificateBindingProvider, IFirewallProvider firewallProvider)
        {
            this.logger                     = logger;
            this.pathProvider               = pathProvider;
            this.OriginalModel              = model;
            this.certProvider               = certProvider;
            this.dialogCoordinator          = dialogCoordinator;
            this.windowsServiceProvider     = windowsServiceProvider;
            this.shellExecuteProvider       = shellExecuteProvider;
            this.eventAggregator            = eventAggregator;
            this.Validator                  = validator;
            this.directory                  = directory;
            this.scriptTemplateProvider     = scriptTemplateProvider;
            this.certPermissionProvider     = certPermissionProvider;
            this.registryProvider           = registryProvider;
            this.rekeyProvider              = rekeyProvider;
            this.objectSelectionProvider    = objectSelectionProvider;
            this.discoveryServices          = discoveryServices;
            this.licenseManager             = licenseManager;
            this.appUpgradeProvider         = appUpgradeProvider;
            this.certificateBindingProvider = certificateBindingProvider;
            this.firewallProvider           = firewallProvider;

            this.WorkingModel        = this.CloneModel(model);
            this.Certificate         = this.certificateBindingProvider.GetCertificate();
            this.OriginalCertificate = this.Certificate;
            this.ServiceAccount      = this.windowsServiceProvider.GetServiceAccountSid();
            this.ServiceStatus       = this.windowsServiceProvider.Status.ToString();
            this.DisplayName         = "Web hosting";

            this.licenseManager.OnLicenseDataChanged += delegate
            {
                this.NotifyOfPropertyChange(nameof(this.IsEnterpriseEdition));
                this.NotifyOfPropertyChange(nameof(this.IsStandardEdition));
            };

            eventPublisher.Register(this);
        }
Exemplo n.º 25
0
 public void TestInitialize()
 {
     sam = new LocalSam(Mock.Of <ILogger <LocalSam> >());
     this.discoveryServices = new DiscoveryServices(Mock.Of <ILogger <DiscoveryServices> >());
     directory = new ActiveDirectory(discoveryServices);
 }
Exemplo n.º 26
0
 public JitAccessGroupResolver(IDirectory directory, IDiscoveryServices discoveryServices)
 {
     this.directory         = directory;
     this.discoveryServices = discoveryServices;
 }
Exemplo n.º 27
0
 public ActiveDirectory(IDiscoveryServices discoveryServices)
 {
     this.discoveryServices = discoveryServices;
 }
Exemplo n.º 28
0
 public void TestInitialize()
 {
     this.discoveryServices = new DiscoveryServices(Mock.Of <ILogger <DiscoveryServices> >());
     dummyLogger            = new Mock <ILogger>();
     this.directory         = new ActiveDirectory(this.discoveryServices);
 }
Exemplo n.º 29
0
 /// <summary>
 /// Create controller with service
 /// </summary>
 /// <param name="discover"></param>
 public DiscoveryMethodsController(IDiscoveryServices discover)
 {
     _discover = discover ?? throw new ArgumentNullException(nameof(discover));
 }
 public ObjectSelectionProvider(IDiscoveryServices discoveryServices, IDomainTrustProvider domainTrustProvider)
 {
     this.discoveryServices   = discoveryServices;
     this.domainTrustProvider = domainTrustProvider;
 }