Candyサーバを使用したShinyProxyのセキュリティー保護


byPeter Solymos
あなたのカスタムドメインのTLS証明書を取得し、ShinyProxyと安全に光沢のあるアプリを提供するためにキャディーサーバを使用してください.
前の投稿ではadd a custom domain and HTTPS to your ShinyProxy server using Nginx , とCertbotで証明書の自動更新を設定する方法.それは本当に長いポストでした、そして、セットアップは多くのステップを含みました.
しばらくして、私はまたCaddy server to secure a Shiny Server instance . そのプロセスは、はるかに少ない可動部分と非常に簡単だった.それが下で描かれるように、我々がShinyProxyのために同じことをすることができるかどうか見ましょう.
Cocdyサーバを使用したShinyProxyの設定.

必要条件
Ubuntu 20.04仮想マシンを起動し、introductory ShinyProxy post サーバーを利用可能にするhttp://$HOST:8080 つのデモアプリケーションで.
のためにLet's Encrypt certificate , あなたは完全に登録されたドメイン名とメールアドレスが必要です.私はexample.com ここでは、ドメイン名を置き換えなければなりません.追加するA レコードexample.com サーバーのパブリックIPアドレスを指します.

キャディーインストール
いくつかのキーを追加し、更新apt ソースとしてCaddyをインストールします.
apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo apt-key add -
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list

sudo apt update
sudo apt install caddy
Caddyfileを追加する/etc/caddy/Caddyfile 次のコンテンツでは、グローバル設定ブロックで電子メールを交換します(いくつかの課題と通知を暗号化するにはメールが必要ですが、このブロックは省略可能です).
{
        email [email protected]
}

example.com {
        reverse_proxy 127.0.0.1:8080
}
キャディーを再起動するsystemctl reload caddy .

ファイアウォールを設定する
SSH、HTTP、HTTPSポート以外のすべてのファイアウォールをオフにすることができます.
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow http
ufw allow https
ufw --force enable
それです.今すぐ訪問できますhttps://$HOST ShinyProxyのログインページをセキュアロックアイコンで表示するには、次の手順に従います.

あなたの仮想マシンを破壊することを決定する場合は、カスタムドメインのDNSレコードを削除することを忘れないでくださいhostile subdomain takeover .

結論
このポストの簡潔さは、CaddyでカスタムドメインとHTTPSを加えることが微風として簡単であると十分確信していなければなりません.キャディーは、証明書更新の世話をするでしょう.
それはあなたのアプリは、機密情報を公開していないことを確認するあなたの仕事であることを忘れないでくださいDocker best practices あなたのユーザーに危険を最小にするために.

更なる読書
  • ShinyProxy documentation: security
  • ShinyProxy configuration examples
  • Caddy server documentation
  • Should you use HTTPS?