OpenBSDでSpipedを使用してSSHアクセスを保護する

SSHアクセスはサーバーを管理するための最も重要なエントリポイントであるため、広く使用されている攻撃ベクトルになっています。

SSHを保護するための基本的な手順には、ルートアクセスの無効化、パスワード認証の完全な無効化(および代わりにキーの使用)、およびポートの変更(一般的なポートスキャナーとログスパムを最小限に抑えること以外はセキュリティとはほとんど関係ありません)があります。

次のステップは、接続追跡を備えたPFファイアウォールソリューションです。このソリューションは、接続状態を管理し、接続が多すぎるIPをブロックします。これはうまく機能し、PFを使用して簡単に実行できますが、SSHデーモンはまだインターネットに公開されています。

外部からSSHに完全にアクセスできないようにするのはどうですか?これがspipedの出番です。ホームページから:

Spiped(「ess-pipe-dee」と発音)は、ソケットアドレス間で対称的に暗号化および認証されたパイプを作成するためのユーティリティです。これにより、あるアドレス(たとえば、localhost上のUNIXソケット)に接続し、別のアドレスに透過的に接続を確立できます。アドレス(たとえば、別のシステムのUNIXソケット)。これは「ssh -L」機能に似ていますが、SSHを使用せず、事前共有対称鍵が必要です。

すごい!幸いなことに、このパッケージには高品質のOpenBSDパッケージが含まれており、すべての準備作業が行われるため、まずはインストールすることから始められます。

sudo pkg_add spiped

これにより、素敵なinitスクリプトもインストールされるので、先に進んで有効にできます。

sudo rcctl enable spiped

そして最後にそれを開始します:

sudo rcctl start spiped

initスクリプトは、キーが作成されていることを確認します(ローカルコンピューターで少し必要になります)。

ここで必要なのはsshd、パブリックアドレスでのリッスンを無効にし、ポート22をブロックし、ポート8022を許可することです(これはデフォルトでspiped initスクリプトで使用されます)。

/etc/ssh/sshd_configファイルを開きListenAddress、読み取る行を変更(およびコメント解除)します127.0.0.1

ListenAddress 127.0.0.1

ポートのブロックにPFルールを使用している場合は、ポート8022を渡すようにしてください(ポート22はブロックしたままにできます)。たとえば、次のようにします。

pass in on egress proto tcp from any to any port 8022

ルールを再ロードしてアクティブにします。

sudo pfctl -f /etc/pf.conf

ここで必要なのは、生成されたスパイキー()をサーバーからローカルマシンにコピーし/etc/spiped/spiped.keySSH構成を次のように調整することだけです。

Host HOSTNAME
ProxyCommand spipe -t %h:8022 -k ~/.ssh/spiped.key

もちろんspipe/spiped、ローカルマシンにもインストールする必要があります。キーをコピーして名前/パスを調整した場合はProxyCommand~/.ssh/configファイル内のその行に接続できるはずです。

機能していることを確認したらsshd、サーバーで再起動できます。

sudo rcctl restart sshd

以上です!これで、1つの大きな攻撃ベクトルが完全に排除され、パブリックインターフェイスでリッスンするサービスが1つ少なくなりました。これで、SSH接続がlocalhostから行われたように見えるはずです。次に例を示します。

username    ttyp0    localhost                Thu Nov 06 07:58   still logged in

Vultrを使用する利点は、各Vultr VPSが、誤って自分をロックアウトした場合に使用できる素晴らしいオンラインVNCタイプのクライアントを提供することです。離れて実験してください!



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。