はじめに
この投稿では、機密データやその他の危険なデータを安全に受信、送信、保存、処理するための安全なシステムを構築する方法について説明します。 現在、さまざまな人々や組織がインターネット自体とそのユーザーの両方の自由を抑えようとしていることは誰にとっても秘密ではなく、多くの場合成功します。 そのため、今度はコンピューターの内部に小さくても強力な要塞を建設しようとします。
「このようなシステムを使えば、国家の秘密を敵にマージできる」という挑発に対して、私はすぐに答えます。核ミサイルの助けを借りれば、世界を終わらせるだけでなく、地球を脅かす小惑星を追い払ったり、分裂させたりすることもできます。
何が必要ですか?
まず、 大量のRAMを備えた十分なパフォーマンスのコンピューターです 。 オペレーティングシステムは重要ではありません。インストールされているソフトウェアはクロスプラットフォームであるためです。 まあ、おそらく、エキゾチックまたは非常に古いOSを除いて。
第二に、 ソフトウェア 。 システムの構築に必要な順序でリストします。
- TrueCrypt
- VirtualBox(まだ公式サイトから急いではいけません)
- Ubuntu その時点では12.04がなかったため、バージョン11.10 x86を使用しました。 時間を無駄にしないために、今すぐ画像をスイングさせてください。 ディスクにカットする必要はありません。
- Tor
- I2P
上記のソフトウェアはすべてオープンソースであることに注意してください。 これらのプログラムはセキュリティの中核であり、独自のブックマークは非常に高価になる可能性があるため、 これは非常に重要です。
さあ始めましょう!
ハードドライブの直接キャプチャからデータを保護するには、それらを暗号化する必要があります。 このために、TrueCryptユーティリティを使用します。
これを使用して、ファイルに保存された暗号化ボリュームを作成します。 パーティション上に作成できますが、私の意見では、これはあまり便利ではありません。
隠しボリュームを作成しますか? 問題は議論の余地がある。 この機能は、PCの没収中にパスワードを発行できないこと自体が犯罪であるイングランドでの使用を目的としています。 同時に、ロシアにはそのような立法規範はなく、隠しパーティションを使用すると、使用可能なディスク容量が消費されます。 非表示セクションの作成を開始しませんでした。
裁量で選択するセクションのサイズ。 個人的には、50 GBを選択しました。
暗号化アルゴリズム-AESを選択しました。 第一に、彼は最高の秘密のハゲタカを保護するために米軍から信頼されています。第二に、それは新しいIntelプロセッサによって加速されるハードウェアであり、TrueCryptはこの加速をサポートします。
さらに、すべてが標準です。複雑で長いパスワードを考え出し、マウスをランダムに動かしてエントロピーを生成し、セクションを作成します。 パーティションには大きなファイルが格納されるため、パーティションの種類はNTFSである必要があります。
次に、仮想マシンが必要です。 保護するものはすべてそこに保存されます。
これは、次の事実によるものです。
- メインOSでの作業は、さまざまな場所にさまざまな痕跡を残します。
- メインOSがプロプライエタリである場合(指で指すことはありません)-ブックマークの存在を除外しません。
- メインOSのアプリケーションソフトウェアも以前の要件に該当します(EULAによりユーザーのハードドライブをスキャンできるPunkBusterを思い出してください)。
VirtualBoxを使用しますが、メインのディストリビューションではなく、 ポータブルです。 事前にマウントされた暗号化ディスクにインストーラーをダウンロードし、ユーティリティ自体を使用して、サポートされているBoxディストリビューションを実行およびダウンロードします。 次に、ユーティリティはそれを解凍し、移植性のために設定します。
Boxingに2つのハードドライブを備えたボックスを作成しましょう。1つは8〜10 GB用で、もう1つは残りのスペース用です。もちろん、両方を暗号化ドライブに配置します。 設定を確認して、ネットワークをNATに入れ、残りを好みに合わせて設定しましょう。特に重要なことは何もありません。 Ubunta(これは既にダウンロード済みです)のイメージをドライブとして接続します。
車を始動し、OSのインストールを開始します。 ディスクをパーティション分割するとき、次のようなことを行います。ルートを配置し、最初の小さなものにスワップし、大きなものに/ホームを置きます。 すべてのデータを/自宅に保存します。 したがって、システムとデータの分離は、Boxのハードドライブの異なるファイル間で発生します。 次に、お客様の好みに合わせてすべてを実行します。
設立されました! 次にセットアップを開始します。
ネットワークへの直接アクセスは、TORとI2Pルーターという選択された2つだけに任せるという考え方です。
最初に、 公式サイトの指示に従って、 TORを独自のリポジトリ(公式バージョンでは古くなっている可能性があります) から配置します 。 次に、開発者向けに独自のPPA-turnipからI2Pをインストールします。
TOR自体はSOCKS5プロキシのみを提供し、すべてのプログラムがそれをサポートするわけではないことに注意してください。 したがって、無料のHTTPプロキシであるPolipoをインストールします。
sudo apt-get install polipo
設定してください:
sudo nano /etc/polipo/config
行を追加します。
proxyPort = 8118
以下でコメントを外します(何か問題があれば修正します):
socksParentProxy = "localhost:9050"
socksProxyType = socks5
保存します。 polypを再起動します。
sudo service polipo restart
次に、I2Pを構成します。
sudo nano /etc/default/i2p
デーモンとしての起動をオンにします。
RUN_DAEMON="true"
同時に、ファイルにルーターが使用しているユーザーの名前が表示されます-i2psvcがあります
保存します。
実行:
sudo service i2p start
ここで、TORが機能するユーザーを見つけます。
lsof -c tor
このdebian-torがあります。
そして今-最もおいしい:TORでもI2Pでもないものすべてについて、ネットワークへのアクセスを遮断します。 もう一度、 すべて 。
完成したiptables-restoreスクリプトは、ユーザー名をもう一度確認するだけです。
一般的なポリシーはDROPです。外部ネットワークへのローカルホスト、I2P、TORへのアクセスは誰でも許可されます。
sudo nano /etc/iptables.up.rules
内容:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT DROP [0:0]
-A OUTPUT -d 127.0.0.1/32 -j ACCEPT
-A OUTPUT -m owner --uid-owner debian-tor -j ACCEPT
-A OUTPUT -m owner --uid-owner i2psvc -j ACCEPT
COMMIT
ネットワーク構成ファイルを開きます。
sudo nano /etc/network/interfaces
ルール読み込みコマンドを追加しましょう:
pre-up iptables-restore < /etc/iptables.up.rules
私にとってはこのように見えます:
auto lo
iface lo inet loopback
pre-up iptables-restore < /etc/iptables.up.rules
network-managerを介してネットワークを管理しているため、ファイルにeth0インターフェイスはありません。 バックバックを発生させるときにルールが規定されていますが、これらのルールはすべてのインターフェースで同じであるため、違いはありません。
ルールをiptablesにアップロードします。 ネットワークを再起動できますが、これを行います:
sudo iptables-restore < /etc/iptables.up.rules
できた! 要塞が建設され、堀が掘られ、壁に射手が露出しました。 しかし、私たちはまだ住民にパスを発行していません! 修正します。
外部インターネットにアクセスするには、HTTPインターフェイスがポート8118にあるTORを使用することをお勧めします。
nano ~/.bashrc
最後に追加:
export http_proxy="http://127.0.0.1:8118/"
今、ターミナルで
bash
同時に、シェルはその構成を再読み取りします。 しかし、ウブントでは誰もいない-水なしで(そして男も女もいない)、私はこの環境変数をくしゃみたいと思っていました。 要塞の客観的体制を個人的に彼に説明しましょう:
sudo nano /etc/apt/apt.conf.d/proxy
あるはずです:
Acquire::http::Proxy "http://127.0.0.1:8118/";
保存して閉じます。
まあ、それだけです。 ブラウザーを配置して(デフォルトのFoxyが気に入らない場合)、高速ではなく、すべてのサイドアクセスから保護された状態で使用を開始します。 繰り返しますが、仮想マシン内のプログラムには、少なくとも1000個のブックマークを詰め込むことができます。データをマージする場合がありますが、それらは匿名のみです。 誰も外部IPを計算できません。
ただし(追加についてはamaraoに感謝します )、 ルートから実行するプログラムに注意してください! 悪意のあるプログラムは、iptablesに悪意のある独自のルールを書き込むか、カーネルスパイウェアモジュールを実装するという2つの方法で保護を回避できます。 両方の手順にはルートが必要です。
既製のHow-Toに依存せずに、システムを完全に独力で構築しました(存在する場合、見つけることができませんでした)。 したがって、読者から改善の可能性と欠点の指摘を受け入れることを嬉しく思います。
ご清聴ありがとうございました! 少なくとも誰かが恩恵を受けていることを願っています。