{"id":18515,"date":"2024-10-08T21:57:24","date_gmt":"2024-10-08T21:57:24","guid":{"rendered":"https:\/\/www.directimpactsolutions.com\/?page_id=18515"},"modified":"2024-10-08T21:57:26","modified_gmt":"2024-10-08T21:57:26","slug":"server-configuration-zero-trust","status":"publish","type":"page","link":"https:\/\/www.directimpactsolutions.com\/en\/server-configuration-zero-trust\/","title":{"rendered":"Server Configuration Zero Trust"},"content":{"rendered":"<div class=\"wp-block-uagb-container uagb-block-914104b9 alignfull uagb-is-root-container\"><div class=\"uagb-container__shape uagb-container__shape-bottom uagb-container__invert\" data-negative=\"false\"><svg xmlns=\"https:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1000 100\" preserveAspectRatio=\"none\"><path class=\"uagb-container__shape-fill\" d=\"M500,98.9L0,6.1V0h1000v6.1L500,98.9z\"><\/path><\/svg><\/div><div class=\"uagb-container-inner-blocks-wrap\"><div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<h2 class=\"wp-block-heading has-ast-global-color-1-color has-text-color has-link-color wp-elements-6e33bf4c60ff36005264ffde9dd54622\">Server Configuration for a Zero Trust Solution<\/h2>\n\n<p class=\"has-ast-global-color-1-color has-text-color has-link-color wp-elements-127b48fc62d093162b88d48de6c9f4c6\" style=\"font-size:16px\">Steps for configuring servers in a Zero Trust solution<\/p>\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div><\/div><\/div><div style=\"height:80px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div><p>Here are the steps for configuring the Zero Trust solution:<\/p><h2 class=\"wp-block-heading\" id=\"[hardBreak]Boundary-Server-at-AWS\">Boundary Server at AWS<\/h2><p>1. Deploy an Ubuntu Server 24.04 LTS instance according to <a href=\"https:\/\/developer.hashicorp.com\/boundary\/docs\/install-boundary\/architecture\/system-requirements\">HashiCorp&#8217;s recommendations<\/a>. <\/p><p>In the following example, we&#8217;ll be deploying an m6i.large instance, which meets the requirements of a small-scale deployment. If you&#8217;re deploying on Azure or GCP, the recommended instance types are also mentioned in the link.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"789\" height=\"892\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/d21bb486-5ec8-4518-a7d2-6beb6e978c78-1.png\" alt=\"\" class=\"wp-image-18519\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/d21bb486-5ec8-4518-a7d2-6beb6e978c78-1.png 789w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/d21bb486-5ec8-4518-a7d2-6beb6e978c78-1-265x300.png 265w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/d21bb486-5ec8-4518-a7d2-6beb6e978c78-1-768x868.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/d21bb486-5ec8-4518-a7d2-6beb6e978c78-1-600x678.png 600w\" sizes=\"auto, (max-width: 789px) 100vw, 789px\" \/><\/figure><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"796\" height=\"531\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/6fec2c50-73ca-4d0e-845f-7c433bf48562.png\" alt=\"\" class=\"wp-image-18522\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/6fec2c50-73ca-4d0e-845f-7c433bf48562.png 796w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/6fec2c50-73ca-4d0e-845f-7c433bf48562-300x200.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/6fec2c50-73ca-4d0e-845f-7c433bf48562-768x512.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/6fec2c50-73ca-4d0e-845f-7c433bf48562-600x400.png 600w\" sizes=\"auto, (max-width: 796px) 100vw, 796px\" \/><\/figure><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"795\" height=\"567\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/2a01de93-e9ff-4417-8ab6-20e4cafa04dc.png\" alt=\"\" class=\"wp-image-18525\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/2a01de93-e9ff-4417-8ab6-20e4cafa04dc.png 795w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/2a01de93-e9ff-4417-8ab6-20e4cafa04dc-300x214.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/2a01de93-e9ff-4417-8ab6-20e4cafa04dc-768x548.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/2a01de93-e9ff-4417-8ab6-20e4cafa04dc-600x428.png 600w\" sizes=\"auto, (max-width: 795px) 100vw, 795px\" \/><\/figure><p><\/p><p>2. Make sure that the security group associated with the instance has ports 80 (http), 443 (https), 8200 (Vault) and 9202 (Boundary Worker) open for all IPs, as well as 9201 and 9203 (Remote Boundary Worker) at your office IP address, and of course that you have SSH access to the instance from your workstation only.<\/p><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"2046\" height=\"719\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/1bc61a64-fc69-4988-8808-6293e6c1e310.png\" alt=\"\" class=\"wp-image-18528\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/1bc61a64-fc69-4988-8808-6293e6c1e310.png 2046w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/1bc61a64-fc69-4988-8808-6293e6c1e310-300x105.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/1bc61a64-fc69-4988-8808-6293e6c1e310-1024x360.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/1bc61a64-fc69-4988-8808-6293e6c1e310-768x270.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/1bc61a64-fc69-4988-8808-6293e6c1e310-1536x540.png 1536w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/1bc61a64-fc69-4988-8808-6293e6c1e310-600x211.png 600w\" sizes=\"auto, (max-width: 2046px) 100vw, 2046px\" \/><\/figure><p><\/p><p>3. Assign a static IP (Elastic IP address at AWS) and create a DNS entry at your registrar to use a domain name to connect to the instance.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1762\" height=\"209\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/68cae3d5-c90e-4774-b411-b6e02efa34c5.png\" alt=\"\" class=\"wp-image-18531\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/68cae3d5-c90e-4774-b411-b6e02efa34c5.png 1762w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/68cae3d5-c90e-4774-b411-b6e02efa34c5-300x36.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/68cae3d5-c90e-4774-b411-b6e02efa34c5-1024x121.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/68cae3d5-c90e-4774-b411-b6e02efa34c5-768x91.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/68cae3d5-c90e-4774-b411-b6e02efa34c5-1536x182.png 1536w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/68cae3d5-c90e-4774-b411-b6e02efa34c5-600x71.png 600w\" sizes=\"auto, (max-width: 1762px) 100vw, 1762px\" \/><\/figure><p><\/p><p>4. Connect to the instance via SSH once deployed to start software installation.<\/p><h2 class=\"wp-block-heading\" id=\"Install-Boundary-Controller-and-Worker-on-AWS-Instance\">Install Boundary Controller and Worker on AWS Instance<\/h2><p>5. The Boundary controller requires Postgres SQL, so start by installing it:<\/p><pre class=\"wp-block-code\"><code>sudo apt install postgresql postgresql-contrib\nsudo systemctl start postgresql.service\nsudo systemctl enable postgresql.service<\/code><\/pre><p>6. You then need to create a boundary database and a user to connect to it. Since Postgres version 15, you also need to add an additional permission to be able to create tables in the newly created database.<\/p><pre class=\"wp-block-code\"><code>sudo -i -u postgres\npsql\ncreate database boundarydb;\ncreate user boundary with password 'password';\ngrant all privileges on database boundarydb to boundary;\n\\c boundarydb;\nGRANT ALL ON SCHEMA public TO boundary;\nexit\nexit<\/code><\/pre><p>7. We can now move on to the Boundary installation stage. Here&#8217;s the procedure for Ubuntu, but Boundary is also available for macOS, Windows and several Linux variants.<\/p><pre class=\"wp-block-code\"><code>wget -O- https:\/\/apt.releases.hashicorp.com\/gpg | sudo gpg --dearmor -o \/usr\/share\/keyrings\/hashicorp-archive-keyring.gpg\necho \"deb &#91;signed-by=\/usr\/share\/keyrings\/hashicorp-archive-keyring.gpg] https:\/\/apt.releases.hashicorp.com $(lsb_release -cs) main\" | sudo tee \/etc\/apt\/sources.list.d\/hashicorp.list\nsudo apt update &amp;&amp; sudo apt install boundary<\/code><\/pre><p>8. Then create a controller.hcl file in the Boundary folder.<\/p><pre class=\"wp-block-code\"><code>sudo vi \/etc\/boundary.d\/controller.hcl<\/code><\/pre><p>9. And insert the necessary information. Here&#8217;s an example file. At the very least, you need to adjust the database url section if you&#8217;ve used a user or password other than those mentioned above, as well as the domain name or public IP address of your Boundary server in the public_cluster_addr section.<\/p><pre class=\"wp-block-code\"><code># Disable memory lock: https:\/\/www.man7.org\/linux\/man-pages\/man2\/mlock.2.html\ndisable_mlock = true\n\n# Controller configuration block\ncontroller {\n  # This name attr must be unique across all controller instances if running in HA mode\n  name = \"controller-1\"\n  public_cluster_addr=\"boundary.yourdomain.com\"\n  description = \"First controller\"\n\n  # After receiving a shutdown signal, Boundary will wait 10s before initiating the shutdown process.\n  graceful_shutdown_wait_duration = \"10s\"\n\n  # Database URL for postgres. This can be a direct \"postgres:\/\/\"\n  # URL, or it can be \"file:\/\/\" to read the contents of a file to\n  # supply the url, or \"env:\/\/\" to name an environment variable\n  # that contains the URL.\n  database {\n      url = \"postgresql:\/\/boundary:password@127.0.0.1:5432\/boundarydb\"\n  }\n}\n\n# API listener configuration block\nlistener \"tcp\" {\n  # Should be the address of the NIC that the controller server will be reached on\n  address = \"0.0.0.0\"\n  # The purpose of this listener block\n  purpose = \"api\"\n\n  tls_disable = true\n\n  # Uncomment to enable CORS for the Admin UI. Be sure to set the allowed origin(s)\n  # to appropriate values.\n  #cors_enabled = true\n  #cors_allowed_origins = &#91;\"https:\/\/yourcorp.yourdomain.com\", \"serve:\/\/boundary\"]\n}\n\n# Data-plane listener configuration block (used for worker coordination)\nlistener \"tcp\" {\n  # Should be the IP of the NIC that the worker will connect on\n  address = \"0.0.0.0:9201\"\n  # The purpose of this listener\n  purpose = \"cluster\"\n}\n\nlistener \"tcp\" {\n  # Should be the address of the NIC where your external systems'\n  # (eg: Load-Balancer) will connect on.\n  address = \"0.0.0.0:9203\"\n  # The purpose of this listener block\n  purpose = \"ops\"\n\n  tls_disable = true\n}\n\n# Root KMS configuration block: this is the root key for Boundary\n# Use a production KMS such as AWS KMS in production installs\nkms \"aead\" {\n  purpose = \"root\"\n  aead_type = \"aes-gcm\"\n  key = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"\n  key_id = \"global_root\"\n}\n\n# Worker authorization KMS\n# Use a production KMS such as AWS KMS for production installs\n# This key is the same key used in the worker configuration\nkms \"aead\" {\n  purpose = \"worker-auth\"\n  aead_type = \"aes-gcm\"\n  key = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"\n  key_id = \"global_worker-auth\"\n}\n\n# Recovery KMS block: configures the recovery key for Boundary\n# Use a production KMS such as AWS KMS for production installs\nkms \"aead\" {\n  purpose = \"recovery\"\n  aead_type = \"aes-gcm\"\n  key = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXX\"\n  key_id = \"global_recovery\"\n}<\/code><\/pre><p>10. As we will also be using this server as a Worker, we also need to create a worker file or modify the existing one.<\/p><pre class=\"wp-block-code\"><code>sudo vi \/etc\/boundary.d\/worker.hcl<\/code><\/pre><p>11. Make sure that the following information is correctly configured. Be sure to enter the DNS you&#8217;ve created in the public_addr section, and to include information in the tags section that will allow you to differentiate between different workers.<\/p><pre class=\"wp-block-code\"><code># # Note that this is an example systemd file and is not intended to be functional as-is.\n# # Full configuration options can be found at https:\/\/www.boundaryproject.io\/docs\/configuration\/worker\n\n listener \"tcp\" {\n     purpose = \"proxy\"\n     tls_disable = true\n     address = \"0.0.0.0\"\n }\n\nworker {\n#   # Name attr must be unique across workers\n   name = \"worker-aws\"\n#   description = \"A default worker created demonstration\"\n\n#   # Workers must be able to reach controllers on :9201\n   controllers = &#91;\n     \"127.0.0.1\",\n#     \"10.0.0.2\",\n#     \"10.0.0.3\",\n   ]\n\n   public_addr = \"worker-aws.yourdomain.com\"\n\n   tags {\n     type   = &#91;\"prod\", \"aws\"]\n     region = &#91;\"ca-central-1\"]\n   }\n }\n\n# # must be same key as used on controller config# \n kms \"aead\" {\n     purpose = \"worker-auth\"\n     aead_type = \"aes-gcm\"\n     key = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"\n     key_id = \"global_worker-auth\"\n }<\/code><\/pre><p>12. The first time we start the controller, we need to initialize the database. This will create an account that allows access to the web interface. Enter the following command and be sure to take note of the information displayed:<\/p><pre class=\"wp-block-code\"><code>sudo boundary database init -config \/etc\/boundary.d\/controller.hcl<\/code><\/pre><p>13. Now we need to start the controller and the worker. If you don&#8217;t want to have to restart them every time the server is restarted, you can create services. Here&#8217;s how to create the controller:<\/p><pre class=\"wp-block-code\"><code>sudo vi \/etc\/systemd\/system\/boundarycontroller.service<\/code><\/pre><p>14. Enter the following information in the file:<\/p><pre class=\"wp-block-code\"><code>&#91;Unit]\nDescription=Boundary Controller\n\n&#91;Service]\nType=simple\nUser=root\nExecStart=\/usr\/bin\/boundary server -config=\/etc\/boundary.d\/controller.hcl\nRestart=always\n\n&#91;Install]\nWantedBy=multi-user.target<\/code><\/pre><p>15. We need to create a second one for the worker.<\/p><pre class=\"wp-block-code\"><code>sudo vi \/etc\/systemd\/system\/boundaryworker.service<\/code><\/pre><p>16. Enter the following information in the file :<\/p><pre class=\"wp-block-code\"><code>&#91;Unit]\nDescription=Boundary Worker\n\n&#91;Service]\nType=simple\nUser=root\nExecStart=\/usr\/bin\/boundary server -config=\/etc\/boundary.d\/worker.hcl\nRestart=always\n\n&#91;Install]\nWantedBy=multi-user.target<\/code><\/pre><p>17. All that remains is to start them up and activate them on reboot.<\/p><pre class=\"wp-block-code\"><code>sudo systemctl start boundarycontroller\nsudo systemctl status boundarycontroller\nsudo systemctl enable boundarycontroller\nsudo systemctl start boundaryworker\nsudo systemctl status boundaryworker\nsudo systemctl enable boundaryworker<\/code><\/pre><p>18. Boundary uses its own port, but if we want to secure the connection with an SSL certificate, it&#8217;s possible to deploy a web server in front of it. To do this, we&#8217;ll use Apache combined with <a href=\"https:\/\/certbot.eff.org\/instructions?ws=apache&amp;os=ubuntufocal\">Certbot<\/a> to generate a free SSL certificate, but it would also be possible to use <a href=\"https:\/\/nginx.org\/en\/\">Nginx<\/a> with a purchased certificate as well.<\/p><pre class=\"wp-block-code\"><code>sudo apt install apache2<br>sudo a2enmod proxy_http<br>sudo apt install certbot python3-certbot-apache<\/code><\/pre><p>19. Once Apache has been installed, the default configuration file must be modified or a new one created before the SSL certificate can be installed and connected to Boundary.<\/p><pre class=\"wp-block-code\"><code>sudo vi \/etc\/apache2\/sites-enabled\/000-default.conf<\/code><\/pre><p>20. Be sure to modify the ServerName section to reflect your domain name and to replace\/deactivate the DocumentRoot section with the Proxy values.<\/p><pre class=\"wp-block-code\"><code>&lt;VirtualHost *:80>\n        # The ServerName directive sets the request scheme, hostname and port that\n        # the server uses to identify itself. This is used when creating\n        # redirection URLs. In the context of virtual hosts, the ServerName\n        # specifies what hostname must appear in the request's Host: header to\n        # match this virtual host. For the default virtual host (this file) this\n        # value is not decisive as it is used as a last resort host regardless.\n        # However, you must set it for any further virtual host explicitly.\n        #ServerName www.example.com\nProxyPreserveHost On\nProxyRequests Off\nServerName boundary.yourdomain.com\nProxyPass \/ http:\/\/localhost:9200\/\nProxyPassReverse \/ http:\/\/localhost:9200\/\n#       ServerAdmin webmaster@localhost\n#       DocumentRoot \/var\/www\/html\n\n        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,\n        # error, crit, alert, emerg.\n        # It is also possible to configure the loglevel for particular\n        # modules, e.g.\n        #LogLevel info ssl:warn\n\n        ErrorLog ${APACHE_LOG_DIR}\/error.log\n        CustomLog ${APACHE_LOG_DIR}\/access.log combined\n        \n        # For most configuration files from conf-available\/, which are\n        # enabled or disabled at a global level, it is possible to\n        # include a line for only one particular virtual host. For example the\n        # following line enables the CGI configuration for this host only\n        # after it has been globally disabled with \"a2disconf\".\n        #Include conf-available\/serve-cgi-bin.conf\n&lt;\/VirtualHost>\n\n# vim: syntax=apache ts=4 sw=4 sts=4 sr noet<\/code><\/pre><p>21. Now all that&#8217;s left to do is restart apache and generate the SSL certificate:<\/p><pre class=\"wp-block-code\"><code>sudo systemctl restart apache2\nsudo certbot --apache<\/code><\/pre><p>22. Once you&#8217;ve answered the various questions, you should have a generated SSL certificate.<\/p><p>23. Now it&#8217;s time to validate that your Boundary installation is up and running before moving on to the next step. Use your web browser to connect to the domain name you used to generate the SSL certificate. If the SSL certificate installation has been completed successfully, you should now have access to the Boundary page, which asks you to identify yourself.<\/p><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"2044\" height=\"996\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/569b8073-f0d6-44d2-bb1f-ee3d7b95bde5.png\" alt=\"\" class=\"wp-image-18534\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/569b8073-f0d6-44d2-bb1f-ee3d7b95bde5.png 2044w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/569b8073-f0d6-44d2-bb1f-ee3d7b95bde5-300x146.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/569b8073-f0d6-44d2-bb1f-ee3d7b95bde5-1024x499.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/569b8073-f0d6-44d2-bb1f-ee3d7b95bde5-768x374.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/569b8073-f0d6-44d2-bb1f-ee3d7b95bde5-1536x748.png 1536w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/569b8073-f0d6-44d2-bb1f-ee3d7b95bde5-600x292.png 600w\" sizes=\"auto, (max-width: 2044px) 100vw, 2044px\" \/><\/figure><p><\/p><p>24. Log in using the admin account created during the database initiation stage.<\/p><p>25. When the database was created, Boundary created an organization by default. You can delete it and create a new one later. For now, make sure your worker is connected by clicking on the \u201cWorkers\u201d section.<\/p><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"2047\" height=\"610\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/86b950ac-a78d-4a75-9081-ede76b0cc6e3.png\" alt=\"\" class=\"wp-image-18537\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/86b950ac-a78d-4a75-9081-ede76b0cc6e3.png 2047w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/86b950ac-a78d-4a75-9081-ede76b0cc6e3-300x89.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/86b950ac-a78d-4a75-9081-ede76b0cc6e3-1024x305.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/86b950ac-a78d-4a75-9081-ede76b0cc6e3-768x229.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/86b950ac-a78d-4a75-9081-ede76b0cc6e3-1536x458.png 1536w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/86b950ac-a78d-4a75-9081-ede76b0cc6e3-600x179.png 600w\" sizes=\"auto, (max-width: 2047px) 100vw, 2047px\" \/><\/figure><p><\/p><h2 class=\"wp-block-heading\" id=\"Installing-Boundary-Worker-on-a-Hyper-V-virtual-machine\">Installing Boundary Worker on a Hyper-V Virtual Machine<\/h2><p>We&#8217;ll assume that you already have a physical server running Windows Server 2019 and the Hyper-V role. This server is configured inside your company network. It would be possible to do the same deployment with another hypervisor, regardless of whether it&#8217;s type 1 or type 2, as long as it&#8217;s on a different network from your Boundary controller.<\/p><p>1. Retrieve the <a href=\"https:\/\/ubuntu.com\/download\/server\">Ubuntu Server<\/a> 24.04 LTS installation file if you don&#8217;t already have it on your physical server.<\/p><p>2. Create a new virtual machine with at least a 2-core processor, 8 GB of memory and 50 GB of disk space.<\/p><p>3. Start the virtual machine and follow the steps to install Ubuntu Server. Be sure to enable OpenSSH Server installation during installation and ideally assign it a static IP address or make a reservation on your DHCP server.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"639\" height=\"402\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/7cc38bc6-a695-4dca-98d9-c7206e71e37d.png\" alt=\"\" class=\"wp-image-18540\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/7cc38bc6-a695-4dca-98d9-c7206e71e37d.png 639w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/7cc38bc6-a695-4dca-98d9-c7206e71e37d-300x189.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/7cc38bc6-a695-4dca-98d9-c7206e71e37d-600x377.png 600w\" sizes=\"auto, (max-width: 639px) 100vw, 639px\" \/><\/figure><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1025\" height=\"772\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/92b95cf7-aca6-43af-9a22-26698de1c149.png\" alt=\"\" class=\"wp-image-18543\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/92b95cf7-aca6-43af-9a22-26698de1c149.png 1025w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/92b95cf7-aca6-43af-9a22-26698de1c149-300x226.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/92b95cf7-aca6-43af-9a22-26698de1c149-768x578.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/92b95cf7-aca6-43af-9a22-26698de1c149-600x452.png 600w\" sizes=\"auto, (max-width: 1025px) 100vw, 1025px\" \/><\/figure><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1026\" height=\"773\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/308b5b32-f1ff-4a95-8944-516a067f7bd1.png\" alt=\"\" class=\"wp-image-18546\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/308b5b32-f1ff-4a95-8944-516a067f7bd1.png 1026w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/308b5b32-f1ff-4a95-8944-516a067f7bd1-300x226.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/308b5b32-f1ff-4a95-8944-516a067f7bd1-1024x771.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/308b5b32-f1ff-4a95-8944-516a067f7bd1-768x579.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/308b5b32-f1ff-4a95-8944-516a067f7bd1-600x452.png 600w\" sizes=\"auto, (max-width: 1026px) 100vw, 1026px\" \/><\/figure><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1026\" height=\"770\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/9b1f8347-a498-4eeb-a85c-32a46f7e887e.png\" alt=\"\" class=\"wp-image-18549\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/9b1f8347-a498-4eeb-a85c-32a46f7e887e.png 1026w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/9b1f8347-a498-4eeb-a85c-32a46f7e887e-300x225.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/9b1f8347-a498-4eeb-a85c-32a46f7e887e-1024x768.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/9b1f8347-a498-4eeb-a85c-32a46f7e887e-768x576.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/9b1f8347-a498-4eeb-a85c-32a46f7e887e-600x450.png 600w\" sizes=\"auto, (max-width: 1026px) 100vw, 1026px\" \/><\/figure><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1021\" height=\"768\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/e73b9514-d7e2-4d40-89c3-4cf4b9e3b3a8.png\" alt=\"\" class=\"wp-image-18552\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/e73b9514-d7e2-4d40-89c3-4cf4b9e3b3a8.png 1021w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/e73b9514-d7e2-4d40-89c3-4cf4b9e3b3a8-300x226.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/e73b9514-d7e2-4d40-89c3-4cf4b9e3b3a8-768x578.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/e73b9514-d7e2-4d40-89c3-4cf4b9e3b3a8-600x451.png 600w\" sizes=\"auto, (max-width: 1021px) 100vw, 1021px\" \/><\/figure><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1026\" height=\"771\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/c334a76d-9247-446d-b74f-a92072e4dd46.png\" alt=\"\" class=\"wp-image-18555\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/c334a76d-9247-446d-b74f-a92072e4dd46.png 1026w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/c334a76d-9247-446d-b74f-a92072e4dd46-300x225.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/c334a76d-9247-446d-b74f-a92072e4dd46-1024x769.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/c334a76d-9247-446d-b74f-a92072e4dd46-768x577.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/c334a76d-9247-446d-b74f-a92072e4dd46-600x451.png 600w\" sizes=\"auto, (max-width: 1026px) 100vw, 1026px\" \/><\/figure><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"769\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/bb831f62-bf04-4575-aad1-dac8a3b769d5.png\" alt=\"\" class=\"wp-image-18558\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/bb831f62-bf04-4575-aad1-dac8a3b769d5.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/bb831f62-bf04-4575-aad1-dac8a3b769d5-300x225.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/bb831f62-bf04-4575-aad1-dac8a3b769d5-768x577.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/bb831f62-bf04-4575-aad1-dac8a3b769d5-600x451.png 600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1027\" height=\"770\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/f175ad66-7c84-46b9-bc27-1797e902459a.png\" alt=\"\" class=\"wp-image-18561\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/f175ad66-7c84-46b9-bc27-1797e902459a.png 1027w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/f175ad66-7c84-46b9-bc27-1797e902459a-300x225.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/f175ad66-7c84-46b9-bc27-1797e902459a-1024x768.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/f175ad66-7c84-46b9-bc27-1797e902459a-768x576.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/f175ad66-7c84-46b9-bc27-1797e902459a-600x450.png 600w\" sizes=\"auto, (max-width: 1027px) 100vw, 1027px\" \/><\/figure><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"770\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/678d88a1-fc66-448a-9bce-445789a7f3b3.png\" alt=\"\" class=\"wp-image-18564\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/678d88a1-fc66-448a-9bce-445789a7f3b3.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/678d88a1-fc66-448a-9bce-445789a7f3b3-300x226.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/678d88a1-fc66-448a-9bce-445789a7f3b3-768x578.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/678d88a1-fc66-448a-9bce-445789a7f3b3-600x451.png 600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"599\" height=\"228\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/5eadfa08-d344-4af0-bf2d-7ec6b95875df.png\" alt=\"\" class=\"wp-image-18567\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/5eadfa08-d344-4af0-bf2d-7ec6b95875df.png 599w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/5eadfa08-d344-4af0-bf2d-7ec6b95875df-300x114.png 300w\" sizes=\"auto, (max-width: 599px) 100vw, 599px\" \/><\/figure><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1025\" height=\"770\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/d2b8a100-47e2-4a06-ab58-1a84cdf96297.png\" alt=\"\" class=\"wp-image-18570\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/d2b8a100-47e2-4a06-ab58-1a84cdf96297.png 1025w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/d2b8a100-47e2-4a06-ab58-1a84cdf96297-300x225.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/d2b8a100-47e2-4a06-ab58-1a84cdf96297-768x577.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/d2b8a100-47e2-4a06-ab58-1a84cdf96297-600x451.png 600w\" sizes=\"auto, (max-width: 1025px) 100vw, 1025px\" \/><\/figure><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1025\" height=\"772\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/b3eb74ec-0af6-4743-9c0e-33d1a715d78d.png\" alt=\"\" class=\"wp-image-18573\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/b3eb74ec-0af6-4743-9c0e-33d1a715d78d.png 1025w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/b3eb74ec-0af6-4743-9c0e-33d1a715d78d-300x226.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/b3eb74ec-0af6-4743-9c0e-33d1a715d78d-768x578.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/b3eb74ec-0af6-4743-9c0e-33d1a715d78d-600x452.png 600w\" sizes=\"auto, (max-width: 1025px) 100vw, 1025px\" \/><\/figure><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1025\" height=\"768\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/1b221cf6-2dd7-4794-9cd4-964129560fe8.png\" alt=\"\" class=\"wp-image-18576\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/1b221cf6-2dd7-4794-9cd4-964129560fe8.png 1025w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/1b221cf6-2dd7-4794-9cd4-964129560fe8-300x225.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/1b221cf6-2dd7-4794-9cd4-964129560fe8-768x575.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/1b221cf6-2dd7-4794-9cd4-964129560fe8-600x450.png 600w\" sizes=\"auto, (max-width: 1025px) 100vw, 1025px\" \/><\/figure><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1027\" height=\"770\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/d4d98bda-ac5e-4694-a62f-3090ffad1985.png\" alt=\"\" class=\"wp-image-18579\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/d4d98bda-ac5e-4694-a62f-3090ffad1985.png 1027w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/d4d98bda-ac5e-4694-a62f-3090ffad1985-300x225.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/d4d98bda-ac5e-4694-a62f-3090ffad1985-1024x768.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/d4d98bda-ac5e-4694-a62f-3090ffad1985-768x576.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/d4d98bda-ac5e-4694-a62f-3090ffad1985-600x450.png 600w\" sizes=\"auto, (max-width: 1027px) 100vw, 1027px\" \/><\/figure><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1025\" height=\"770\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/16ff8917-cf4e-4ba1-bb0e-d42d226b031d.png\" alt=\"\" class=\"wp-image-18582\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/16ff8917-cf4e-4ba1-bb0e-d42d226b031d.png 1025w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/16ff8917-cf4e-4ba1-bb0e-d42d226b031d-300x225.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/16ff8917-cf4e-4ba1-bb0e-d42d226b031d-768x577.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/16ff8917-cf4e-4ba1-bb0e-d42d226b031d-600x451.png 600w\" sizes=\"auto, (max-width: 1025px) 100vw, 1025px\" \/><\/figure><p><\/p><p>4. Connect to your virtual machine via SSH once it has been rebooted.<\/p><p>5. Install Boundary as follows:<\/p><pre class=\"wp-block-code\"><code>wget -O- https:\/\/apt.releases.hashicorp.com\/gpg | sudo gpg --dearmor -o \/usr\/share\/keyrings\/hashicorp-archive-keyring.gpg\necho \"deb &#91;signed-by=\/usr\/share\/keyrings\/hashicorp-archive-keyring.gpg] https:\/\/apt.releases.hashicorp.com $(lsb_release -cs) main\" | sudo tee \/etc\/apt\/sources.list.d\/hashicorp.list\nsudo apt update &amp;&amp; sudo apt install boundary<\/code><\/pre><p>6. Create a worker file:<\/p><pre class=\"wp-block-code\"><code>sudo vi \/etc\/boundary.d\/worker.hcl<\/code><\/pre><p>7. Instead of connecting it to 127.0.0.1, you&#8217;ll need to connect it to the address of your AWS controller that you created earlier. You should also make sure to enter the DNS you created in the public_addr section, and to include information in the tags section that will allow you to differentiate between different workers.<\/p><pre class=\"wp-block-code\"><code># # Note that this is an example systemd file and is not intended to be functional as-is.\n# # Full configuration options can be found at https:\/\/www.boundaryproject.io\/docs\/configuration\/worker\n\n listener \"tcp\" {\n     purpose = \"proxy\"\n     tls_disable = true\n     address = \"0.0.0.0\"\n }\n\nworker {\n#   # Name attr must be unique across workers\n   name = \"worker-mainoffice\"\n#   description = \"A default worker created demonstration\"\n\n#   # Workers must be able to reach controllers on :9201\n   controllers = &#91;\n     \"X.X.X.X:9201\",\n#     \"10.0.0.2\",\n#     \"10.0.0.3\",\n   ]\n\n   public_addr = \"worker-mainoffice.yourdomain.com\"\n\n   tags {\n     type   = &#91;\"prod\", \"mainoffice\"]\n#     region = &#91;\"ca-central-1\"]\n   }\n }\n\n# # must be same key as used on controller config# \n kms \"aead\" {\n     purpose = \"worker-auth\"\n     aead_type = \"aes-gcm\"\n     key = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"\n     key_id = \"global_worker-auth\"\n }<\/code><\/pre><p>8. If we want to make sure we don&#8217;t have to restart it every time the server is restarted, we can create a service.<\/p><pre class=\"wp-block-code\"><code>sudo vi \/etc\/systemd\/system\/boundaryworker.service<\/code><\/pre><p>9. Enter the following information in the file:<\/p><pre class=\"wp-block-code\"><code>&#91;Unit]\nDescription=Boundary Worker\n\n&#91;Service]\nType=simple\nUser=root\nExecStart=\/usr\/bin\/boundary server -config=\/etc\/boundary.d\/worker.hcl\nRestart=always\n\n&#91;Install]\nWantedBy=multi-user.target<\/code><\/pre><p>10. Then all that&#8217;s left to do is start it up and activate it:<\/p><pre class=\"wp-block-code\"><code>sudo systemctl start boundaryworker\nsudo systemctl status boundaryworker\nsudo systemctl enable boundaryworker<\/code><\/pre><p>11. Now you just have to make sure that the 9202 is redirected to your Worker Boundary in your router.<\/p><p>12. Once this is done, you&#8217;ll be able to use it via the main Boundary server. If you return to the Boundary server web interface, you should now see 2 workers listed:<\/p><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"2049\" height=\"1004\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/01016c4c-1cf8-4a5a-9fd8-f1eae1aba428.png\" alt=\"\" class=\"wp-image-18586\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/01016c4c-1cf8-4a5a-9fd8-f1eae1aba428.png 2049w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/01016c4c-1cf8-4a5a-9fd8-f1eae1aba428-300x147.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/01016c4c-1cf8-4a5a-9fd8-f1eae1aba428-1024x502.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/01016c4c-1cf8-4a5a-9fd8-f1eae1aba428-768x376.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/01016c4c-1cf8-4a5a-9fd8-f1eae1aba428-1536x753.png 1536w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/01016c4c-1cf8-4a5a-9fd8-f1eae1aba428-600x294.png 600w\" sizes=\"auto, (max-width: 2049px) 100vw, 2049px\" \/><\/figure><p><\/p><p>13. You can deploy as many workers as you need, depending on the number of internal networks you need to connect to. If you have servers with different cloud providers or several physical offices in which you have servers to manage, you can deploy a worker in each of these locations and connect it to the main controller.<\/p><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"2042\" height=\"523\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/6e4c3341-42ab-417e-baf4-468da775a149.png\" alt=\"\" class=\"wp-image-18589\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/6e4c3341-42ab-417e-baf4-468da775a149.png 2042w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/6e4c3341-42ab-417e-baf4-468da775a149-300x77.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/6e4c3341-42ab-417e-baf4-468da775a149-1024x262.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/6e4c3341-42ab-417e-baf4-468da775a149-768x197.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/6e4c3341-42ab-417e-baf4-468da775a149-1536x393.png 1536w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/6e4c3341-42ab-417e-baf4-468da775a149-600x154.png 600w\" sizes=\"auto, (max-width: 2042px) 100vw, 2042px\" \/><\/figure><p><\/p><h2 class=\"wp-block-heading\" id=\"Installing-Vault\">Installing Vault<\/h2><p>1. If you are deploying Vault on an instance that already has Boundary installed, you can simply use the following command in SSH to install it:<\/p><pre class=\"wp-block-code\"><code>sudo apt install vault<\/code><\/pre><ol class=\"wp-block-list\"><\/ol><p>2. If, on the other hand, you prefer to deploy Vault on a separate instance, you can deploy an Ubuntu 24.04 Server LTS instance by referring to <a href=\"https:\/\/developer.hashicorp.com\/vault\/tutorials\/day-one-raft\/raft-reference-architecture\">what is recommended at HashiCorp<\/a>. Then simply follow these steps to install it:<\/p><pre class=\"wp-block-code\"><code>wget -O- https:\/\/apt.releases.hashicorp.com\/gpg | sudo gpg --dearmor -o \/usr\/share\/keyrings\/hashicorp-archive-keyring.gpg\necho \"deb &#91;signed-by=\/usr\/share\/keyrings\/hashicorp-archive-keyring.gpg] https:\/\/apt.releases.hashicorp.com $(lsb_release -cs) main\" | sudo tee \/etc\/apt\/sources.list.d\/hashicorp.list\nsudo apt update &amp;&amp; sudo apt install vault<\/code><\/pre><p>3. We will now modify the Vault configuration file. Vault allows you to store information in a variety of ways. In the following example, we&#8217;ll simply store it in text files on disk. If you&#8217;re thinking of deploying Vault in production, it would be wise to consider using another, more secure method.<\/p><pre class=\"wp-block-code\"><code>sudo vi \/etc\/vault.d\/vault.hcl<\/code><\/pre><p>4. Modify the information in the file to reflect the location of your SSL certificate and the name of your domain:<\/p><pre class=\"wp-block-code\"><code>ui = true\nstorage \"file\" {\n  path = \"\/opt\/vault\/data\"\n}\nlistener \"tcp\" {\n  address       = \"0.0.0.0:8200\"\n  tls_cert_file = \"\/etc\/letsencrypt\/live\/UrlOfYourServer.com\/fullchain.pem\"\n  tls_key_file  = \"\/etc\/letsencrypt\/live\/UrlOfYourServer.com\/privkey.pem\"\n}\napi_addr = \"https:\/\/UrlOfYourServer.com:8200\"<\/code><\/pre><p>5. We can then create a service:<\/p><pre class=\"wp-block-code\"><code>sudo vi \/etc\/systemd\/system\/vault.service<\/code><\/pre><p>6. Add the following information to the file:<\/p><pre class=\"wp-block-code\"><code>&#91;Unit]\nDescription=Vault\n \n&#91;Service]\nType=simple\nUser=root\nExecStart=\/usr\/bin\/vault server -config=\/etc\/vault.d\/vault.hcl\nRestart=always\n \n&#91;Install]\nWantedBy=multi-user.target<\/code><\/pre><p>7. Startup, validate that it starts correctly and activate the service:<\/p><pre class=\"wp-block-code\"><code>sudo systemctl start vault<br>sudo systemctl status vault<br>sudo systemctl enable vault<\/code><\/pre><p>8. You can now connect to the web page via port 8200 using the dns linked to the SSL certificate you used.<\/p><p>9. The first time you connect, you&#8217;ll need to enter a few details. Enter the number 5 in the \u201cKey shares\u201d section, 3 in the \u201cKey threshold\u201d section and download the JSON file that will be created once you press \u201cInitialize\u201d. To unlock Vault after each service restart, you&#8217;ll need to enter 3 of the 5 keys generated.<\/p><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"980\" height=\"595\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/0639c6bd-3014-4e2a-b52c-ee1410f1f08e.png\" alt=\"\" class=\"wp-image-18592\" style=\"width:600px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/0639c6bd-3014-4e2a-b52c-ee1410f1f08e.png 980w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/0639c6bd-3014-4e2a-b52c-ee1410f1f08e-300x182.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/0639c6bd-3014-4e2a-b52c-ee1410f1f08e-768x466.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/0639c6bd-3014-4e2a-b52c-ee1410f1f08e-600x364.png 600w\" sizes=\"auto, (max-width: 980px) 100vw, 980px\" \/><\/figure><p><\/p><p>10. Enter the root token you received in the JSON file to log in once you&#8217;ve set 3 of the 5 keys to unlock Vault.<\/p><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"896\" height=\"599\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/46f567c8-803a-4f70-b3c4-80035b785524.png\" alt=\"\" class=\"wp-image-18595\" style=\"width:600px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/46f567c8-803a-4f70-b3c4-80035b785524.png 896w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/46f567c8-803a-4f70-b3c4-80035b785524-300x201.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/46f567c8-803a-4f70-b3c4-80035b785524-768x513.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/46f567c8-803a-4f70-b3c4-80035b785524-600x401.png 600w\" sizes=\"auto, (max-width: 896px) 100vw, 896px\" \/><\/figure><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"847\" height=\"496\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/2bb8a853-98e7-4d21-b28b-5d4362ead253.png\" alt=\"\" class=\"wp-image-18598\" style=\"width:600px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/2bb8a853-98e7-4d21-b28b-5d4362ead253.png 847w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/2bb8a853-98e7-4d21-b28b-5d4362ead253-300x176.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/2bb8a853-98e7-4d21-b28b-5d4362ead253-768x450.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/2bb8a853-98e7-4d21-b28b-5d4362ead253-600x351.png 600w\" sizes=\"auto, (max-width: 847px) 100vw, 847px\" \/><\/figure><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"762\" height=\"462\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/b7ab2b9c-248b-4d31-a622-4c8e97a08b36.png\" alt=\"\" class=\"wp-image-18601\" style=\"width:600px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/b7ab2b9c-248b-4d31-a622-4c8e97a08b36.png 762w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/b7ab2b9c-248b-4d31-a622-4c8e97a08b36-300x182.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/b7ab2b9c-248b-4d31-a622-4c8e97a08b36-600x364.png 600w\" sizes=\"auto, (max-width: 762px) 100vw, 762px\" \/><\/figure><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"878\" height=\"565\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/48356fd2-96aa-4b9e-b257-95f006098597.png\" alt=\"\" class=\"wp-image-18604\" style=\"width:600px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/48356fd2-96aa-4b9e-b257-95f006098597.png 878w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/48356fd2-96aa-4b9e-b257-95f006098597-300x193.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/48356fd2-96aa-4b9e-b257-95f006098597-768x494.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/48356fd2-96aa-4b9e-b257-95f006098597-600x386.png 600w\" sizes=\"auto, (max-width: 878px) 100vw, 878px\" \/><\/figure><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1989\" height=\"1001\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/60dfcb10-8bf3-4160-bf8e-3e0a91df443f.png\" alt=\"\" class=\"wp-image-18607\" style=\"width:800px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/60dfcb10-8bf3-4160-bf8e-3e0a91df443f.png 1989w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/60dfcb10-8bf3-4160-bf8e-3e0a91df443f-300x151.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/60dfcb10-8bf3-4160-bf8e-3e0a91df443f-1024x515.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/60dfcb10-8bf3-4160-bf8e-3e0a91df443f-768x387.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/60dfcb10-8bf3-4160-bf8e-3e0a91df443f-1536x773.png 1536w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/60dfcb10-8bf3-4160-bf8e-3e0a91df443f-600x302.png 600w\" sizes=\"auto, (max-width: 1989px) 100vw, 1989px\" \/><\/figure><p><\/p><p>11. Vault installation is complete.<\/p><h2 class=\"wp-block-heading\" id=\"Installing-a-Windows-Server-2019-Virtual-Machine\">Installing a Windows Server 2019 Virtual Machine<\/h2><p>Here, we&#8217;ll assume that you already have a physical server running Windows Server 2019 in the Hyper-V role. This server is configured inside your company network and already has at least one Windows Server virtual machine configured as a domain controller.<\/p><p>1. Create a virtual machine running Windows Server 2019. You could also use Windows 11 or any other version of Windows you have available.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"703\" height=\"532\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/1e979b48-79af-4c9e-8f73-da0057563447.png\" alt=\"\" class=\"wp-image-18610\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/1e979b48-79af-4c9e-8f73-da0057563447.png 703w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/1e979b48-79af-4c9e-8f73-da0057563447-300x227.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/1e979b48-79af-4c9e-8f73-da0057563447-600x454.png 600w\" sizes=\"auto, (max-width: 703px) 100vw, 703px\" \/><\/figure><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"704\" height=\"534\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/9c8a8461-fcc5-4ab6-9a6b-a00ec8d097de.png\" alt=\"\" class=\"wp-image-18613\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/9c8a8461-fcc5-4ab6-9a6b-a00ec8d097de.png 704w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/9c8a8461-fcc5-4ab6-9a6b-a00ec8d097de-300x228.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/9c8a8461-fcc5-4ab6-9a6b-a00ec8d097de-600x455.png 600w\" sizes=\"auto, (max-width: 704px) 100vw, 704px\" \/><\/figure><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"706\" height=\"535\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/9ca98e79-d5b2-4e58-996f-0ac2036370bf.png\" alt=\"\" class=\"wp-image-18616\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/9ca98e79-d5b2-4e58-996f-0ac2036370bf.png 706w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/9ca98e79-d5b2-4e58-996f-0ac2036370bf-300x227.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/9ca98e79-d5b2-4e58-996f-0ac2036370bf-600x455.png 600w\" sizes=\"auto, (max-width: 706px) 100vw, 706px\" \/><\/figure><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"702\" height=\"530\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/b9d478ed-946b-4fa7-9a11-f302ed489c13.png\" alt=\"\" class=\"wp-image-18619\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/b9d478ed-946b-4fa7-9a11-f302ed489c13.png 702w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/b9d478ed-946b-4fa7-9a11-f302ed489c13-300x226.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/b9d478ed-946b-4fa7-9a11-f302ed489c13-600x453.png 600w\" sizes=\"auto, (max-width: 702px) 100vw, 702px\" \/><\/figure><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"706\" height=\"534\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/7184f87b-159c-49cb-8619-f78eb9b4d0b7.png\" alt=\"\" class=\"wp-image-18622\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/7184f87b-159c-49cb-8619-f78eb9b4d0b7.png 706w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/7184f87b-159c-49cb-8619-f78eb9b4d0b7-300x227.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/7184f87b-159c-49cb-8619-f78eb9b4d0b7-600x454.png 600w\" sizes=\"auto, (max-width: 706px) 100vw, 706px\" \/><\/figure><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"701\" height=\"534\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/e8a9bb6a-c43c-482a-abdd-ecf98835bc06.png\" alt=\"\" class=\"wp-image-18625\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/e8a9bb6a-c43c-482a-abdd-ecf98835bc06.png 701w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/e8a9bb6a-c43c-482a-abdd-ecf98835bc06-300x229.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/e8a9bb6a-c43c-482a-abdd-ecf98835bc06-600x457.png 600w\" sizes=\"auto, (max-width: 701px) 100vw, 701px\" \/><\/figure><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"704\" height=\"533\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/2a86bac6-8ff4-42c5-8da4-f30c7539c5c2.png\" alt=\"\" class=\"wp-image-18628\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/2a86bac6-8ff4-42c5-8da4-f30c7539c5c2.png 704w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/2a86bac6-8ff4-42c5-8da4-f30c7539c5c2-300x227.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/2a86bac6-8ff4-42c5-8da4-f30c7539c5c2-600x454.png 600w\" sizes=\"auto, (max-width: 704px) 100vw, 704px\" \/><\/figure><p><\/p><p>2. Install the operating system<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"474\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/6dca7aad-d059-40f3-8f15-33a2784b6f4a.png\" alt=\"\" class=\"wp-image-18631\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/6dca7aad-d059-40f3-8f15-33a2784b6f4a.png 640w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/6dca7aad-d059-40f3-8f15-33a2784b6f4a-300x222.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/6dca7aad-d059-40f3-8f15-33a2784b6f4a-600x444.png 600w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1001\" height=\"741\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/4389b6c5-acd3-4430-a824-09222717d439.png\" alt=\"\" class=\"wp-image-18634\" style=\"width:600px\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/4389b6c5-acd3-4430-a824-09222717d439.png 1001w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/4389b6c5-acd3-4430-a824-09222717d439-300x222.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/4389b6c5-acd3-4430-a824-09222717d439-768x569.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/4389b6c5-acd3-4430-a824-09222717d439-600x444.png 600w\" sizes=\"auto, (max-width: 1001px) 100vw, 1001px\" \/><\/figure><p><\/p><p>3. Make sure you connect the virtual machine to your domain and enable the RDP connection.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"407\" height=\"462\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/3a468de6-77db-49ff-b0a2-139cf9713a6c.png\" alt=\"\" class=\"wp-image-18637\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/3a468de6-77db-49ff-b0a2-139cf9713a6c.png 407w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/3a468de6-77db-49ff-b0a2-139cf9713a6c-264x300.png 264w\" sizes=\"auto, (max-width: 407px) 100vw, 407px\" \/><\/figure><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"283\" height=\"151\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/04f14c3b-bff3-41ff-8909-103c999cb6a9.png\" alt=\"\" class=\"wp-image-18640\"\/><\/figure><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"356\" height=\"187\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/3f5746af-11e8-40f5-8483-0791875fc5b6.png\" alt=\"\" class=\"wp-image-18643\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/3f5746af-11e8-40f5-8483-0791875fc5b6.png 356w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/3f5746af-11e8-40f5-8483-0791875fc5b6-300x158.png 300w\" sizes=\"auto, (max-width: 356px) 100vw, 356px\" \/><\/figure><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"403\" height=\"467\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/4780c1ac-ef8a-4d61-964f-fdd30a21f44e.png\" alt=\"\" class=\"wp-image-18646\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/4780c1ac-ef8a-4d61-964f-fdd30a21f44e.png 403w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/4780c1ac-ef8a-4d61-964f-fdd30a21f44e-259x300.png 259w\" sizes=\"auto, (max-width: 403px) 100vw, 403px\" \/><\/figure><p><\/p><p>4. Your virtual machine configuration is now complete.<\/p><h2 class=\"wp-block-heading\">Create an Ubuntu Server 24.04 LTS Instance at AWS<\/h2><p>1. Deploy an Ubuntu Server 24.04 LTS instance at AWS in the same subnet as your Boundary server, or in a subnet that your Boundary server is ideally able to connect to via the AWS internal network and not via the public network. We&#8217;re going to use a t3a.medium instance here, but if you intend to use it as a web server or similar, it&#8217;s up to you to use the type of instance that suits you best.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"807\" height=\"1111\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/4c672a5d-d650-4610-9db0-5c3b81a4769c.png\" alt=\"\" class=\"wp-image-18649\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/4c672a5d-d650-4610-9db0-5c3b81a4769c.png 807w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/4c672a5d-d650-4610-9db0-5c3b81a4769c-218x300.png 218w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/4c672a5d-d650-4610-9db0-5c3b81a4769c-744x1024.png 744w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/4c672a5d-d650-4610-9db0-5c3b81a4769c-768x1057.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/4c672a5d-d650-4610-9db0-5c3b81a4769c-600x826.png 600w\" sizes=\"auto, (max-width: 807px) 100vw, 807px\" \/><\/figure><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"824\" height=\"1136\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/13db8db7-50c0-42d8-ab4e-3e0ae072b93e.png\" alt=\"\" class=\"wp-image-18655\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/13db8db7-50c0-42d8-ab4e-3e0ae072b93e.png 824w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/13db8db7-50c0-42d8-ab4e-3e0ae072b93e-218x300.png 218w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/13db8db7-50c0-42d8-ab4e-3e0ae072b93e-743x1024.png 743w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/13db8db7-50c0-42d8-ab4e-3e0ae072b93e-768x1059.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/10\/13db8db7-50c0-42d8-ab4e-3e0ae072b93e-600x827.png 600w\" sizes=\"auto, (max-width: 824px) 100vw, 824px\" \/><\/figure><p><\/p><p>2. Make sure you use a security rule that allows both your workstations to connect via SSH to this instance and the internal IP address of your Boundary server.<\/p><p>3. Since we only need to have SSH access to this instance, the configuration is completed.<\/p><ol class=\"wp-block-list\"><\/ol><ol class=\"wp-block-list\"><\/ol>","protected":false},"excerpt":{"rendered":"<p>Server Configuration for a Zero Trust Solution Steps for configuring servers in a Zero Trust solution Here are the steps for configuring the Zero Trust solution: Boundary Server at AWS 1. Deploy an Ubuntu Server 24.04 LTS instance according to HashiCorp&#8217;s recommendations. In the following example, we&#8217;ll be deploying an m6i.large instance, which meets the &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.directimpactsolutions.com\/en\/server-configuration-zero-trust\/\"> <span class=\"screen-reader-text\">Server Configuration Zero Trust<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","footnotes":""},"class_list":["post-18515","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"woocommerce_thumbnail":false,"woocommerce_single":false,"woocommerce_gallery_thumbnail":false},"uagb_author_info":{"display_name":"Eleanor Fulton","author_link":"https:\/\/www.directimpactsolutions.com\/en\/author\/eleanor-fulton\/"},"uagb_comment_info":0,"uagb_excerpt":"Server Configuration for a Zero Trust Solution Steps for configuring servers in a Zero Trust solution Here are the steps for configuring the Zero Trust solution: Boundary Server at AWS 1. Deploy an Ubuntu Server 24.04 LTS instance according to HashiCorp&#8217;s recommendations. In the following example, we&#8217;ll be deploying an m6i.large instance, which meets the&hellip;","_links":{"self":[{"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/pages\/18515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/comments?post=18515"}],"version-history":[{"count":4,"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/pages\/18515\/revisions"}],"predecessor-version":[{"id":18660,"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/pages\/18515\/revisions\/18660"}],"wp:attachment":[{"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/media?parent=18515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}