Security

BSN.Cloud Network Security

27min
for a cloud based content management and distribution network, database security and server reliability are of the highest priority bsn cloud has been built with these principles in mind this section provides a general overview of security and recovery architecture for bsn cloud note that some specific information may be withheld for security purposes physical security all bsn cloud servers are hosted using amazon web services (aws) amazon strictly controls physical access to its platform infrastructure using military grade perimeter control, as well as state of the art surveillance and intrusion detection systems access to the amazon data centers is limited only to amazon employees with legitimate business needs, and each grant of access is revoked once an individual’s business need expires, even if the individual is still an employee of amazon all physical and electronic access to data centers by employees is logged and routinely audited physical assets used by brightsign employees are managed and classified by the vp of finance relevant asset changes are communicated to appropriate constituents on a regular basis virtual data center security all communication with bsn cloud is mediated by amazon route 53 all calls to bsn cloud domains are directed through route 53 access points and distributed across load functions to the proper nodes traffic is automatically guided to locations based on geographic location general disaster recovery each bsn cloud server has a backup server that can take over in case of unscheduled downtime the database server for the bsn cloud has both a mirror and a backup that frequently update to prevent data loss in event the production database goes offline incidents are managed on a case by case basis the recovery time objective (rto) is 30 minutes or less, while the recovery point objective (rpo) is to prevent loss of any customer data there are different thresholds for communicating impairments and outages to users, depending on whether the downtime is scheduled or unscheduled business continuity and disaster recovery (bcdr) tests are conducted quarterly additionally, a business impact analysis is conducted annually all server instances are turned on and off to test resilience of the system to outages protection against intrusion attacks quarterly scans are carried out to check for hacking and intrusion attempts white hat contractors are also employed to attempt breaching public facing web applications all server operating systems are also protected with industry standard virus detection software all bsn cloud account passwords are hashed and salted once a password is generated, it is impossible for even brightsign it personnel to obtain the password from the bsn cloud database furthermore, only a very limited subset of individuals at brightsign have the credentials for root access to the bsn cloud database the minimum password length for bsn cloud accounts is 8 characters and must contain the following character types lowercase letter, uppercase letter, digit (0 9), and special character (!@#$%^& ) there is no lockout enforcement logging and records activity logs of the bsn cloud servers is audited regularly by the devops team logs are retained for 6 months in an easily accessible form, and up to 2 years in archives a combination of operating system logs and application logs provide a history of successful/failed login attempts, password changes, and account modifications however, there is currently no ui for account administrators to retrieve this information data storage data is stored in both a database and a file system bsn cloud is a multi tenant service client content is segregated, but the database cluster contains the information of all tenants database backups are kept for 6 months in easily accessible form and up to 2 years in archives content is not retained in the backup cycle once it is deleted from the content store (by the client or a bsn cloud administrator) database backups do retain some account and network state information, but not content files or pii data sql queries against the database are used to retrieve/copy data without affecting the metadata administrative security information assets all bsn cloud software repositories and related confidential material are managed by relevant subject matter experts within the company there is no broad based access to this information within the company employee policies all newly hired employees at brightsign are required to sign a non disclosure agreement (nda) and anti corruption documents most brightsign employees don't have access to bsn cloud order administrator access is limited to technical support and order administrators; server access is limited to development operations engineers; and application level access (for configuration and code changes) is restricted to the automated release system only data handling the product and technical support groups within brightsign are responsible for privacy in terms of client information access to customer data is restricted to a subset of employees within the company, and these teams are trained to comply with the ndas that they sign when joining the company personally identifiable information (pii) is not required and not recommended with bsn cloud separate systems are in place to handle credit card information, shipping addresses, and other personal information all bsn cloud client data is sent and received electronically physical media is never used operating procedures all operating procedures related to bsn cloud servers and source code are generated and reviewed by management by management policy, server code is never pushed manually a mix of agile and waterfall sdlc processes is used to manage and update code for bsn cloud privacy policy the full brightsign privacy policy can be viewed here https //www brightsign biz/legal/privacy policy/ management reviews all code and configuration changes to ensure that they are in compliance with the privacy policy third parties all third parties used in conjunction with bsn cloud are audited annually hipaa compliance bsn cloud is not hipaa compliant and should not be used to store or transmit medical information application and communications security bsn cloud interacts with digital signage environments by communicating with brightsign devices, brightauthor\ connected software, and the bsn cloud api (i e , the browser based bsn cloud webui) players bsn cloud and brightsign players communicate with each other using https and wss, rather than http and ws bsn cloud requires a player to authenticate itself with a hashed and salted phrase before it can download content brightauthor\ connected brightauthor\ connected requires bsn cloud account authentication before affecting changes on the bsn cloud servers all communication between brightauthor\ connected and bsn cloud is carried out using https and wss bsn cloud api every api call requires account authentication before affecting changes on the bsn cloud servers or returning content from the database remote dws & websocket brightsign players running brightsignos 8 0 x and later maintain a persistent websocket connection to the brightsign websocket server this allows for bsn control functionality authorized users can view and modify player settings in real time over the internet server side security the brightsign websocket server implements a permissions model that ties each player to a single bsn cloud network (via the player serial number) only a person with the proper network credentials can perform remote dws calls through the websockets server credentials are validated using the same oauth 2 0 server as other bsn cloud applications the websocket server validates all client data before processing to prevent malicious attacks client side security communication between the websocket server and brightsign players is carried out using the secure websocket protocol ( "wss\ //" ) messages are encrypted to prevent man in the middle attacks against the player or server the authenticity of the client (player) is validated using the same oauth 2 0 server as other bsn cloud applications the brightsign player validates all server data before using it to affect player settings data from the websockets server can also be passed along to an internal udp port for processing by the client brightscript/javascript application operation block diagram all communication must be verified through oauth2 0 servers before it may be passed between brightauthor\ connected and a brightsign player brightauthor\ connected settings the network settings of a brightsign player are highly flexible and configurable as a result, the integrity of a player is the direct result of the publishing and network configuration specified during the player setup process some configurations are best for networks where security is of little importance, while other configurations give the player a significant amount of resilience to outside attacks tip brightsign players should not be connected directly to the internet but should always be behind a firewall that doesn't permit direct connections from the internet to the player there are four optional features in the brightauthor classic brightsign unit setup window that affect the overall security of the player a the diagnostic web server the diagnostic web server (dws) responds to requests sent to the ip address of the player, allowing a user who meets the username and password requirements to retrieve information about the player and send system commands to it (reboot, enter recovery mode, test video resolution, etc ) the diagnostic web server (dws) is enabled on new players by default the username is "admin" and the password is the player serial number to change the login credentials or disable the dws entirely, perform the player setup process important brightsignos versions before 6 2 147 9 have a cross site scripting vulnerability and a permissions issue that allowed authorized users to view hidden storage directories (see dws vulnerability docid\ agan xaaqi4cgzh3zdl0 for full details) these vulnerabilities are catalogued as cve 2017 17737, 17738, and 17739 we recommend updating to the current version of production os to patch these vulnerabilities b local web server the local web server responds to requests sent to the ip address of the player at port 8080 by default, this option also enables the device webpage at port 8008, which can optionally be disabled by navigating to file > presentation properties > variables the device webpage allows users on the local network to alter user variables, which are numerical values within the presentation that extend the interactive capabilities of a player c local file networking among the three networked methods for publishing content to a player, only local file networking can facilitate problems with network security a player configured to use simple file networking or the brightsign network will send content update requests to a remote server based on internal conditions and intervals that are specified during the setup process a player with one of these configurations will not respond to outside requests when fetching content updates a player that uses local file networking, on the other hand, is configured to respond to connection and content update requests from brightauthor classic or the local network d simple file networking – basic authentication if you configure a player for simple file networking with username and password authentication parameters, the player will use digest access authentication by default this will prevent replay attacks and other attempts by third parties to read authentication packet data sent to the server if you check the enable basic authentication box, the player will send the username and password as plaintext data this option makes the player compatible with certain server authentication systems, but credentials can easily be determined by anyone who can capture the packets from the network other network settings that are configurable during the player setup process—such as proxy setup, wireless configuration, dhcp vs manual ip—do not negatively affect the security of a player for a full description of all the options in the unit setup window, see the set up players docid\ ponedyexzfyg0oaruillz section high security follow these steps during the brightauthor classic unit setup process to ensure the player has a high level of resilience to outside attacks disable the diagnostic web server the password authentication system for the diagnostic web server is vulnerable to brute force dictionary attacks access to the diagnostic web server allows an intruder to copy, rename, and delete contents from the local storage, as well as reboot the player or force it into recovery mode enable the local web server with password protection the authentication system for the local web server is just as vulnerable to brute force hacking as the diagnostic web server, but the local web server does not grant access to critical system processes do not use local file networking a player set up for local file networking will listen for scheduling and publishing commands from a pc running brightauthor classic on the local network it may be possible for an attacker to use this responsiveness to gain access to system processes on the player if you would like to publish presentations over the network, use the brightsign network or a simple file network instead do not enable basic authentication if you would like to securely publish content using simple file networking, make sure to use a server that is compatible with digest access authentication do not enable the chromium web inspector see the advanced topics section below for more details basic security follow these steps during the brightauthor classic unit setup process to ensure the player has a basic level of protection against outside attacks diagnostic web server (dws) password protection doesn't apply to added rohttpserver instances that are located on a different port enable the diagnostic web server with password protection access to the diagnostic web server allows you to copy, rename, and delete contents from the local storage, as well as reboot the player or force it into recovery mode enabling password protection for this feature gives the player at least a basic level of security do not use local file networking a player set up for local file networking will listen for scheduling and publishing commands from a pc running brightauthor classic on the local network it may be possible for an attacker to use this responsiveness to gain access to system processes on the player if you would like to publish presentations over the network, use the brightsign network or a simple file network instead do not enable basic authentication if you would like to securely publish content using simple file networking, make sure to use a server that is compatible with digest access authentication do not enable the chromium web inspector see the advanced topics section below for more details test environment low security follow these steps to create the most feature rich player setup possible we recommend this setup only if a player is in a test environment or if security is not a concern enable the diagnostic web server without password protection, the diagnostic web server will be accessible by anyone on the local network at the player ip address enable the local web server anyone on the local network will be able to access the device webpage at port 8008 use local file networking you will be able to use brightauthor classic to publish presentations and update schedules on a player connected to the local network enable basic authentication if you are using simple file networking, you can enable basic authentication to have the player send the username and password credentials to the server as plaintext data this makes simple file networking compatible with a greater range of server configurations enable chromium web inspector if you need to debug html applications on brightsign players, you can enable the web inspector in a presentation see the advanced topics section below for more details advanced topics chromium web inspector you can use the web inspector to debug webpages on the brightsign chromium instance (see the html best practices docid\ gxctvnw8g46evdxookuku page for more details) this tool does not require authentication, so any party on the network can access and alter content on the brightsign player; therefore, the web inspector should be disabled in production environments linux security though the brightsign application runs on a linux stack, it is unlikely that conventional linux malware will be able to infect brightsign players a brightsign player will only execute a firmware image that has been cryptographically signed by brightsign also, during normal operation, the filesystem used on the player is read only java runtime environment brightsign players support a java runtime environment (jre) developers can load java applications using the rojre docid\ xqgfaor4ikbvwhjb2iucz brightscript object this functionality is not enabled by default and must be initialized by the autorun while network interfaces in brightscript are built to prioritize security, java code can generate any number of security vulnerabilities if you plan to load java applications on a brightsign player, we recommend testing the configuration thoroughly before deploying it in a production environment