OpenSnitch:このLinuxプログラムファイアウォールがどのように機能するかを学ぶ

Linuxベースのオペレーティングシステムには、攻撃を軽減し、特権の昇格、およびこのオペレーティングシステムに対するその他の非常に一般的な攻撃を防ぐための多数の保護があります。 Linuxは適切に構成されていれば非常に安全ですが、脅威が存在し続けるため、オペレーティングシステムの管理を完全に停止するべきではありません。 現在、いくつかのLinuxファイアウォールが利用可能であり、これらをインストールして使用することで、Linuxシステムの安全性と信頼性を高めることができます。 今日は、ファイアウォールに含まれるツールのXNUMXつであり、非常に有望な将来のOpenSnitchを紹介します。

OpenSnitchとは何ですか?

OpenSnitch   ファイアウォール GNU / Linuxベースのオペレーティングシステム用にPythonで記述されたアプリケーションであるため、原則として、GNU / Linuxベースのオペレーティングシステムはすべてこのプログラムと互換性があり、セキュリティが強化されます。

OpenSnitch

OpenSnitchの操作方法は、オペレーティングシステムにインストールされているすべてのアプリケーションによって行われたすべてのインターネット接続要求をチェックすることです。 このプログラムを使用すると、コンピューターまたはLinuxサーバーにインストールしたさまざまなアプリケーションに特定のルールを作成できます。これらのルールは、インターネットアクセスを要求したときに許可または拒否します。 ルールを作成していないアプリケーションがインターネットにアクセスしようとすると、その時点でテキストボックスが表示され、接続を許可するか拒否するかを選択できます。特定のアプリケーションに対してXNUMXつのルールを作成します。

他の利用可能なオプションは、特定のアプリケーションがインターネットアクセスを必要とする次回のリストに残るように、ルールとして決定を保存する可能性です。アクセスしようとしているドメインの正確なURLにルールを適用できます。 。 また、一時的に許可する可能性もあり、サーバーまたはコンピューターを再起動すると、この追加されたルールは表示されなくなります。

OpenSnitchで作成したすべてのルールはJSONファイル(OpenSnitchのみが処理できるファイルのタイプ)として保存されるため、必要に応じて後で手動で変更できます。 OpenSnitchには、非常に直感的なグラフィカルユーザーインターフェイスがあり、その時点でインターネットにアクセスしているアプリケーション、機器で使用されているIPアドレス、システムとOpenSnitch自体の両方を使用しているユーザー、および使用されているポートを確認できます。中古。 そのすべてに使用します。

OpenSnitchのもうXNUMXつの非常に便利なオプションは、すべての情報を含むCSV形式のレポートを作成することです。ここでは、ファイアウォールの構成と保存されているすべてのアプリケーションを確認できます。

LinuxへのOpenSnitchのインストール

インストールに使用するすべてのコマンドがDebianまたはDebianを対象としていることがわかるので、OpenSnitchのインストールを続行します。 Ubuntu そのため、別のディストリビューションを使用している場合は、チームにインストールしたディストリビューションに合わせてコマンドを調整する必要があります。

まず、さまざまなLinuxディストリビューションの公式リポジトリにOpensnitchがないため、GoやGitなど、OpenSnitchが機能するために必要なすべてのものをインストールします。どちらも正しくインストールするために必要です。 それ以外の場合は、オペレーティングシステムにrootとしてログインするか、リポジトリを介してインストールコマンドの前にコマンド「sudo」を実行する必要があります。 いくつかの手順を実行していくつかのプログラムをインストールする必要があるため、人気のある「sudo su」でログインして、スーパーユーザー権限を既に取得し、各コマンドの前で「sudo」を実行する必要がないようにすることをお勧めします。

sudo apt-get install protobuf-compiler libpcap-dev libnetfilter-queue-dev python3-pip golang git

github.com/golang/protobuf/protoc-gen-goを取得します

get -u github.com/golang/dep/cmd/depに移動します

python3 -m pip install –user grpcio-tools

次に、OpenSnitchリポジトリのクローンを作成する必要があります。 起動時に、インストールでGoファイルが見つからなかったことを示すメッセージが返される可能性があります。 このメッセージは無視しますが、別のメッセージがgitを紛失していると私たちに攻撃した場合は、インストールを停止する必要があります。 デフォルトでは、「GOPATH」は/ home / user / goにあります

go get github.com/evilsocket/opensnitch

cd $GOPATH/src/github.com/evilsocket/opensnitch

Status $GOPATH 環境変数が正しく設定されていない場合、上記のコマンドで「このフォルダが見つかりませんでした」というエラーが表示されます。 これを解決するために、 cd システムインストールで直列に接続されていたフォルダー「/home/usuario/go/src/github.com/evilsocket/opensnitch」の場所に移動するコマンド。 ここで、通常の方法でインストールします。

make

sudo make install

正しくインストールされたら、次のように有効にします。

sudo systemctl enable opensnitchd

sudoサービスopensnitchdstart

オープンニッチUI

そして、この素晴らしいプログラムで実行できるすべての情報とアクションが表示されるグラフィカルユーザーインターフェイスにアクセスします。

OpenSnitchでの経験を使用する

このプログラムは、さまざまなアプリケーション、Webブラウザ、FTPクライアント、次のようなプログラムのネットワークトラフィックを許可または拒否するのに非常に役立ちます。 Skype, Googleドライブ 動作するためにインターネット接続を必要とするプログラム。 OpenSnitchを使用すると、すべての接続を詳細に制御し、Debianベースのオペレーティングシステムにデフォルトで組み込まれている一般的なiptablesまたはnftablesファイアウォールの場合のように、IPアドレスやポートレベルではなく、アプリケーションレベルですべてを許可または拒否できます。

アプリケーションがインターネットにアクセスしようとしたことを示すメッセージが最初に数十件ある可能性がありますが、これは最初は完全に正常です。すべてのアプリケーションがプログラムで特別に許可されている必要があるため、可能な限り最高のセキュリティが確保されます。制限モードで構成されているためです。 デフォルトでは、アプリケーションファイアウォールで特に許可されているものを除いて、すべてがブロックされます。

最後に、特定の時間に作成されたすべてのルールをJSON形式で簡単にエクスポートして、別のLinuxオペレーティングシステムにインポートできること、つまり、ローカルまたは仮想マシンでテストを実行し、後でコピーできることを示したいと思います。本番環境のサーバー上のこのJSONファイルは、何の問題もありません。

OpenSnitchの優れた機能のおかげで、私たちは私たちの機器にあるすべてのプログラムのすべてのアクセスを制御することができます。アプリケーションレベルで完全なファイアウォールが必要な場合、このソフトウェアはあなたにとって理想的です。