デジタル署名を使用してLinuxソフトウェアの信頼性を検証する方法
インターネットからソフトウェアをダウンロードするときは、開発者のプログラムが悪意のあるものではないことを信頼する必要があります。ただし、ハッカーについても心配する必要があります。攻撃者がWebサイトをハッキングし、ソフトウェアをバックドアバージョンに置き換えることで得られるものはたくさんあります。
ビットコインウォレットユーティリティをホストしているサイトについて考えてみてください。攻撃者が正当なバージョンを悪意のあるバージョンに置き換えることに成功した場合、攻撃者は数万人のユーザーからお金を盗む可能性があります。バックドアのもう1つの貴重なターゲットは、オペレーティングシステムです。これは過去にLinuxMintで発生しました。
それで、あなたはそれについて何ができますか?
ハッシュと署名
セキュリティを重視する開発者は、多くの場合、セットアップファイルまたはアーカイブを検証可能なチェックサムとバンドルします。 WindowsまたはLinuxでそれらを検証する方法を読むことができます。ただし、これらのハッシュの問題は、ハッカーがWebサイト上のファイルを置き換える場合、ハッカーも簡単にハッシュを置き換えることができることです。これにより、特にプログラムが存在するのと同じサーバーでハッシュがホストされている場合、ハッシュ自体はほとんど役に立たなくなります。
これらのチェックサムを便利にするために、開発者は公開鍵と秘密鍵のペアを使用してデジタル署名することもできます。この秘密鍵を所有している人だけが署名を作成できます。これらは、インターネット上で公開されている対応する公開鍵でのみ確認できます。検証に合格すると、(ほとんどの場合)秘密鍵の所有者が自分のソフトウェアに署名したことを確認できます。
ハッカーがこのセキュリティメカニズムを回避するには、秘密鍵をなんとかして盗む必要があります。これは、所有者が秘密を保持するための適切な対策を講じている場合、はるかに困難です。また、鍵が盗まれた場合でも、所有者は鍵を取り消して発表することで無効にすることができます。これが発生した場合、彼/彼女の公開鍵をダウンロードし、それを使用して署名を検証しようとすると、これが取り消されたことが通知されます。
GnuPG(GPG)を使用して署名を検証する方法
gpgユーティリティは通常、すべてのディストリビューションにデフォルトでインストールされます。何らかの理由で見つからない場合は、以下のコマンドを使用してインストールできます。一部のディストリビューションでは、「 gpg:dirmngr‘/ usr / bin / dirmngr’の開始に失敗しました:そのようなファイルまたはディレクトリはありません」のようなエラーが発生した場合 」dirmngr
をインストールする必要があります 同様に。
Debian、Ubuntu、またはDebianベースのディストリビューションでは、次のコマンドを実行します:
sudo apt install gnupg dirmngr
RedHat / CentOSの場合:
sudo yum install gnupg dirmngr
およびFedora:
sudo dnf install gnupg dirmngr
以下の例に従って、Debian9.8.0インストーラーISOを検証する方法をテストできます。
「SHA256SUMS」、「SHA256SUMS.sign」、「debian-9.8.0-amd64-netinst.iso」をダウンロードしてください。 Webブラウザで最初の2つのファイルを右クリックし、[名前を付けてリンクを保存]または同等のものを選択する必要がある場合があります。そうしないと、それらをクリックすると、自動的にダウンロードされるのではなく、コンテンツが表示されるだけの場合があります。
ターミナルエミュレータを開き、ダウンロードが配置されているディレクトリに移動します。
cd Downloads/
チェックサムの確認
ISOのダウンロードが完了するのを待ちます。次に、SHA256チェックサムを確認します。
sha256sum -c SHA256SUMS
チェックサムが正常である場合、ファイルの名前の後に「OK」メッセージが表示されます。他のタイプのチェックサムを確認するには、次のコマンドがあります:sha1sum
、sha512sum
、md5sum
。ただし、可能な場合は、少なくともSHA256以上の合計を使用することをお勧めします。
一部のサイトでは、SHA256SUMSのようなファイルを提供していません。このファイルでは、ファイル名とチェックサムがグループ化されており、簡単に確認できます。サイトに合計を表示するだけの場合は、次のようなコマンドを使用してファイルのハッシュを確認します。
sha256sum debian-9.8.0-amd64-netinst.iso
GPGを使用して署名されたチェックサムを検証する
この例では、Debianチームは秘密鍵を使用して「SHA256SUMS」ファイルに署名し、「SHA256SUMS.sign」ファイルに保存しました。次のコマンドで署名を確認します:
gpg --verify SHA256SUMS.sign SHA256SUMS
次のメッセージが表示されます:
gpg: Signature made Sun 17 Feb 2019 05:10:29 PM EET gpg: using RSA key DF9B9C49EAA9298432589D76DA87E80D6294BE9B gpg: Can't check signature: No public key
これは、コンピュータに公開鍵がないことを意味します。これは正常なことです。キーサーバーからインポートする必要があります。
gpg --keyserver keyring.debian.org --recv-keys DF9B9C49EAA9298432589D76DA87E80D6294BE9B
キーサーバーがダウンしている場合は、別のキーサーバーを使用できます。たとえば、keyring.debian.org
を置き換えることができます keyserver.ubuntu.com
を使用 。
しかし、このキーが正当であることをどうやって知るのでしょうか?残念ながら、絶対に確実にするために、信頼のウェブと呼ばれるものを構築する必要があります。明らかに、現時点ではありません。しかし、できることがいくつかあります。
キーのフィンガープリントをGoogleで検索します(DF9B9C49EAA9298432589D76DA87E80D6294BE9B)。何も見つからない場合は、最後の8文字(6294BE9B)のみをGoogleで検索してみてください。正当なキーは、同様のソフトウェアに関して多くのWebサイトで言及されます。さらに、安全に保護されたキーが長期間使用されるため、投稿は通常何年にもわたって行われます。
本当にパラノイアの場合は、BitTorrentイメージをダウンロードしてから、チェックサムと署名を確認してください。トレントの仕組みでは、何百人もの異なるユーザーによってアップロードされたファイルを置き換えることは不可能です。さらに、BitTorrentには、ダウンロードするデータのすべてのチャンクの整合性を検証する独自のメカニズムもあります。
公開鍵を入手したので、最終的に署名を確認できます。
gpg --verify SHA256SUMS.sign SHA256SUMS
「良好な署名」が表示されている場合は、すべてがチェックアウトされていることを意味します。警告について心配する必要はありません。前述のように、公開鍵に対する信頼の確立されたWebがないため、これは正常です。
結論
ご存知かもしれませんが、インターネットでは何も確かではありません。ただし、予防措置を講じる方が確かに安全です。ダウンロードしたファイルのデジタル署名を確認することで、悪意のあるソフトウェアを回避できます。ユーザーがバックドアオペレーティングシステムやビットコインウォレットソフトウェアをダウンロードした場合、署名が改ざんされていないため、署名を確認すれば問題を回避できたはずです。
-
LinuxでGPGキーを生成する方法
非表示にしておきたいファイルやメッセージはありますか?それらを安全に保つために、GPG暗号化キーを使用する必要があります。 Linuxを実行している場合、GnuPGがインストールされている限り、GPGを使用してファイルを暗号化するのは簡単です。 いくつかの簡単なターミナルコマンドを使用して、LinuxでGPGキーを生成する方法は次のとおりです。 GnuPGのインストール 最初にGnuPGをインストールすることから始める必要があります。 DebianまたはUbuntuベースのディストリビューションの場合は、ターミナルを開いて次のコマンドを実行します。 sudo apt install gnu
-
MicrosoftOneDriveをLinuxと同期する方法
最近では、適切な製品を使用する必要がある場合があります。オープンソース愛好家はクラウドベースのストレージ施設を望んでいますが、Google、Amazon、Dropbox、Microsoftなどの企業がクラウドストレージ市場を追い詰めているという事実は変わりません。彼らは信頼できる製品を無料で提供します、そしてこれはそうです、彼らは法的な要求に応じるために、または広告を提供するためにあなたのファイルをスキャンまたは読み取ることを意味します。それは人生の事実ですが、これはあなたがそれらを使うべきではないという意味ではありません。 OneDriveは、Microsoftのクラウドベースのストレージ