Search Results for

    Show / Hide Table of Contents

    Ports, Protocols, & Security Guide

    Last updated on August 3, 2021.

    Last Reviewed and Approved on PENDING REVIEW

    Ports and Protocols

    RPS uses various ports and protocols for operation. Some ports are configurable as part of the RPS deployment and configuration, and some are outside the management of RPS and/or not configurable. The table below shows these RPS components (where * indicates port is configurable via RPS).

    Component Description Ports Protocols
    RPS API Direct management of configuration data in PostgreSQL Server. 5432 TCP
    RPS Sync Plugin Synchronize Data and Static Files between RPS Nodes and managed RPS Targets. 777* HTTPS
    DFSR Transfers files between nodes within a domain. 445, 135 RPC, TCP
    BITS Transfers files between nodes on different domains. 80, 443 HTTP/S
    RPS Web Administrative Website for RPS. 8080* HTTPS
    RPS Provisioning Service Bare-metal/iPXE Service via the specific DNS name rpsprovisioning. 443* HTTPS
    TER Reader Trust Element Repository – Reader (DCA) 3443 TCP
    TER Writer Trust Element Repository – Writer (DCA) 5443 TCP
    WinRM Windows Remote Management 5985/5986 HTTP/HTTPS
    SMB File Sharing 445 SMB/HTTPS
    ICMP Device Availability ICMP
    DHCP Dynamic Host Configuration Protocol 67-69 UDP
    DNS Domain Name Server 53 UDP/TCP

    Table 1: RPS Ports and Protocols

    The Host-Based Security System (HBSS) uses some common ports (e.g., ports 80, 443, 1433, etc.), though it requires additional ports be used for full operation. Please see the HBSS documentation, at https://kc.mcafee.com/corporate/index?page=content&id=KB66797.

    Service Accounts

    The following RPS accounts are used by RPS for the setup and maintenance of RPS nodes.

    RPS Account Roles: Domain Accounts

    Account (Role) Description Permissions
    DomainAdmin Has full control of the domain. Administrator rights on all domain controllers and member servers. AD: Domain Admin¹
    DomainJoinAdmin Used to join computers to the domain. Rights are scoped specifically for that purpose. AD: Force change password Read/Write Computers
    ProvisioningServiceAccount Provisioning Website App Pool Identity SQL: Service Permissions²
    GuiServiceAccount RPS Website App Pool Identity AD: Domain Admin¹
    RPS: Master Key Encryption
    SqlServiceAccount SQL Server Service AD: Log on as a Service
    CdnServiceAccount Has Access to the CDN folder. CDN Folder, BITS Message Queue
    DFSAdmin Has minimum required permissions in Active Directory to manage DFSR. AD: DFSR Management
    MasterKeyEncryption Users with this role will be granted read permissions to the MasterKey certificate private key. Read Only
    PluginClientAuth Users with this role will get the RPS Web API client authentication certificates installed in their certificate store.
    WebApiServiceAccount Account used to run the Web API service and Sync. AD: Domain Admin¹
    SQL: Service Permissions²
    FileTransferServiceAccount Account used to transfer files from ContentStore. ContentStore NTFS permissions
    DhcpServiceAccount Account used to authorize DHCP. DHCP Admin
    DomainSchemaAdmin Account used to extent the AD Schema and move domain controllers to different AD site. AD: Schema Administrator, Domain Admin¹
    DomainUser Account used to export certificates from Root and CA local machine certificate store (ClientPki.ps1). Logon Permissions
    TaskManagementServiceAccount Domain level service account authorized to execute runbooks across the RPS domain. AD: Domain Admin¹
    ServerAdmin Push certificates and settings; manage DSC configuration; pull files from content store. AD: Domain Admin¹

    Table 2: Domain Accounts

    ¹ Domain Administrator membership is required to create a new Domain Controller. After initial creation, the account should be removed from this group, but should still retain permissions to manage AD Users, Computers, Groups, and OUs.

    ² Service SQL permissions are scoped to the RpsDb only and include Execute, Select, Insert, Update, Delete, and SyncHistory change tracking view permissions.

    RPS Account Roles: Server Accounts

    Account (Role) Description Permissions
    LocalAdmin Manage machine settings for non-domain joined computer. Local Admin
    FileTransferServiceAccount Account used to transfer files from ContentStore. ContentStore NTFS permissions
    VMWareAdmin Account used for VMWare configuration. VMWare Administrator
    LocalAdminProvisioningOnly Local Admin account, but only used for provisioning. Local Admin

    Table 3: Server Accounts

    RPS Account Roles: Other

    Account (Role) Description Permissions
    PostgreSqlSuperAccount PostgreSQL administrative account. SQL
    DatabaseAccount PostgreSQL account used by RPS to connect to the database. SQL
    DomainSafeModeAdmin Account that credentials are used to create the Domain Controller DSRM password; only used in ADSitesAndSubnets.

    Table 4: Other Accounts

    Security

    Partial Configurations

    All RPS partial configurations must define the following parameters:

    • IPAddress - Accessible IP Address of the computer we will publish DSC Configuration to.
    • DSCEncryptionCertificate - Information about the certificate used to encrypt the MOF (configuration). The LCM is set to use this certificate and any partials that are not secured will not run on a target.
    • OutputPath - Location to temporarily store the MOF file once it is compiled.

    For additional information, refer to the RPS article Authoring RPS DSC Partial Configurations.

    RPS Runbooks

    Many RPS PowerShell runbooks will need to connect to the Target (Computer) to perform their duty. To connect, you must get the appropriate credential and then establish a secure connection.

    Runbooks use the Get-RpsCredential or Get-AdminRoleCredential cmdlet to load the right credential for the target, then uses New-SecureSession from Rps-Api to make the connection.

    For additional information, refer to the RPS article Authoring RPS Runbooks.

    Patching

    Patch Management in RPS requires communication via HTTPS. The certificate authority (CA) that signed the web server's certificate must be trusted by the Linux client or patches will not be downloaded. This is done by installing the public certificate of the CA.

    For additional information, refer to RPS Patching.

    Certificates

    The RPS Solution uses certificates for a variety of functions, including:

    • Website SSL binding for HTTPS encrypted transport between server (e.g., RPS Website) and client.
    • RPS Sync Service for client/server authentication between subscriber (e.g., RPS Sync Service on Region) and distributor (e.g., RPS Sync Service on Master) nodes. The certificate thumbprints for all trusted nodes are whitelisted in the RPS CMDB.
    • RPS Sync Service for HTTPS encrypted transport between server and client.
    • DSC MOF file credentials encryption (by default, DSC encrypts the entire MOF file).
    • Client Authentication for the DSC Pull Server.
    • WinRM for HTTPS encrypted transport between server and client.
    • SQL for HTTPS encrypted transport between server and client.
    • Provisioning SSL binding for HTTPS encrypted transport between server (e.g., RPS Provisioning) and client.
    • Encryption of secrets in the database (protected properties).
    • Encryption of XML configurations.

    Each certificate must be derived from a trusted root certificate that resides in the Trusted Root Certification Authorities store in Certificate Manager on the RPS server(s).

    Role Distribution Key Usages Purpose
    DscEncryption Per VM Key Encipherment, Data Encipherment (30) MOF credential encryption.
    DscPullServer Per VM DigitalSignature, Client Authentication DSC Pull Server Client Authentication
    ProvisioningSSL APP Master Key Encipherment, Data Encipherment HTTPS support for Provisioning Website.
    RpsClientCdn Per VM Client Authentication Patching Certificate Authentications.
    RpsGuiSSL Per APP VM Digital Signature, Non-Repudiation, Key Encipherment (e0) HTTPS support for RPS GUI Website.
    iPxeSSL Per APP VM Digital Signature, Non-Repudiation, Key Encipherment (e0) HTTPS support for iPXE Website.
    MasterKeyEncryption Per Node Document Encryption, Key Encipherment, Data Encipherment Protecting the Master Key.
    NodeEncryption Per APP VM Document Encryption, Key Encipherment, Data Encipherment Encrypting node configuration.
    RpsRoot Per VM Certificate Signing, Off-line CRL Signing, CRL Signing (06) Deriving other certificates.
    RpsSync Per APP VM Client Authentication Allowing Sync to occur between nodes.
    RpsSyncSSL Per APP VM Key Encipherment, Digital Signature, Non-Repudiation Data-in-transit encryption for node sync.
    SqlSSL Per APP VM Server Authentication Data-in-transit encryption for SQL data.
    WinRM Per VM Server Authentication, Key Encipherment Secure Connections to Targets.
    CertificateApi Per VM Client Authentication Certificate Manager API REST Certificate Client Authentication.
    CertificateManager Per VM Client Authentication Certificate API REST Certificate Client Authentication.
    RpsAPi Per VM Client Authentication RPS API REST Certificate Client Authentication.
    RpsWebAPiSSL Per APP VM Digital Signature, Non-Repudiation, Key Encipherment (e0) HTTPS Support for RPS Web API Host.
    WindowActivation All Digital Signature CA Chain to Activate Office and Windows.
    WindowsActivationCA All Digital Signature, Certificate Signing, Offline CRL Signing, CRL Signing CA Chain to Activate Office and Windows.

    Table 5: Certificates

    Master Key

    The Master Key (MK) is used to protect secrets in the database (i.e., credential/certificate passwords). Since the MK is high value, it is encrypted using the public key of a certificate. Appropriate users are given access to the private key of the Master Key Encryption Certificate (MKEC) so that they may access the MK and decrypt protected properties in the database.

    The same MK should be used for all nodes that will share secrets. The default boundary for secrets is an Active Directory domain since domain accounts will likely need access to all domain computers. This implementation is fungible; however, any changes to the default implementation made by the customer/integrator may risk customer data.

    Accounts that are preconfigured with the MasterKeyEncryption role during setup will have permissions to manipulate protected properties in the target environment. In order to give this permission to new users once RPS is installed, the role should be added to the appropriate account in the CMDB and DSC should be republished (at minimum, the RpsCertificate partial).

    When a protected property is retrieved or set, access is determined by retrieving the MasterKeyCertThumbprint property on the node. If the user has access to the corresponding certificate private key in the LocalMachine\My store, they are granted access to the MK. If the user does not have rights to the MKEC, access to protected properties will be denied.

    In This Article
    Back to top Generated by DocFX