Pomerium is a popular open-source identity-aware access proxy that enables secure access to internal applications through a globally available gateway. It can be installed on various platforms including Linux, macOS, and Windows. In this guide, we will show you how to install Pomerium on MX Linux Latest.
Before we begin with the installation of Pomerium on MX Linux, there are some prerequisites that you need to complete. Ensure that you have:
It is always a good practice to ensure that your system is up-to-date before installing any new package. To update the system, open the terminal and run the following command:
sudo apt update && sudo apt upgrade -y
Type your password when prompted and press Enter to execute the command.
To install Pomerium on MX Linux, follow the steps below:
https://www.pomerium.io/downloads/pomerium-
Replace the <version> in the above URL with the version of Pomerium that you want to download.
cd
command. For example, if the file was saved in the Downloads folder, use the following command:cd ~/Downloads/
tar -xvf pomerium-<version>.tar.gz
Replace the <version> with the version of Pomerium that you downloaded.
sudo mv pomerium-<version> /usr/local/pomerium
pomerium
binary using the following command:sudo chmod +x /usr/local/pomerium/pomerium
.bashrc
file located in your home directory using a text editor of your choice by running the following command:nano ~/.bashrc
Add the following line at the end of the file:
export PATH="$PATH:/usr/local/pomerium"
Save and close the file by pressing Ctrl + X
, then Y
, and finally Enter
.
To verify that Pomerium was installed successfully, run the following command in the terminal:
pomerium -h
If installation was successful, you should see the usage commands of Pomerium, as shown below:
Usage of ./pomerium:
-config config_file_path string
Path to configuration or the configuration YAML string to use, overriding any defaults. (default "pomerium.yaml")
-cpuprofile file_path string
Write cpu profile to file.
-debug
Enable debug logging level
-version
Print the version and exit.
To use Pomerium, you need to create a configuration file that specifies how Pomerium is to be configured. You can create the configuration file by running the following command:
sudo nano /usr/local/pomerium/pomerium.yaml
Customize the configuration file to fit your needs. You can get a sample configuration file from the Pomerium documentation. Here is an example of what your Pomerium configuration file may look like:
# The shared secret is used to encrypt cookie/headers.
shared_secret: "secret"
# The cookie name of the Authenticated User.
cookie_name: "_pomerium_proxy_auth_user"
# Autogenerated identifier used for ServiceAccountID and ClientID.
idp_provider: "https://accounts.google.com"
client_id: "pomerium"
client_secret: "pomerium-secret"
# HTTP timeout for a request to a proxied application.
timeout: 301
# Identity provider `client_id` -> [allowed redirect domains].
# Used to ensure redirect URLs match and prevent open redirects.
client_id_redirect_uris:
pomerium:
- "https://dev.pomerium.io/oauth2/callback"
# Global HTTP header to set on all proxied requests.
headers:
X-Content-Type-Options: ["nosniff"]
X-Frame-Options: ["SAMEORIGIN"]
Content-Security-Policy: ["default-src 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self'; style-src 'self';"]
# Forward auth information headers as additional headers.
pass_identity_headers: true
# Raw forward auth URL.
authorize_url: "https://accounts.google.com/o/oauth2/auth"
# HTTP path to sign out of the identity provider.
sign_out_url: "https://accounts.google.com/logout"
# Redirect URL to trigger a local logout.
sign_out_redirect_url: "https://www.google.com/accounts/Logout?continue=https://appengine.google.com/_ah/logout?continue=https://dev.pomerium.io"
# OIDC required scopes.
scopes:
- "openid"
- "profile"
- "email"
# OIDC provider URL.
issuer: "https://accounts.google.com"
# Custom claim mapping. See documentation for additional options.
jwt_claim_mappings:
email: ["email"]
groups: ["groups"]
Congratulations! You have successfully installed Pomerium on MX Linux. Now that Pomerium is installed, you can use it to securely access internal applications through a globally available gateway.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!