ウェブサイト検索

Linuxでソフトウェアを安全にダウンロードする5つの方法


あなたのLinuxマシンでもウイルスやマルウェアに対して脆弱です。どこからソフトウェアをダウンロードすべきかを知っていない限りは。

Linuxにはウイルスが存在しないというのは一般的な誤解です。実際には、ウイルスは存在します。プログラムファイルをチェックして感染したファイルを見つけることは可能ですが、Linuxシステムが侵害されたことに気づくまでに数か月かかることもあります。

信頼は繊細なものであり、簡単に与えてはいけません。インターネット上で何かが提供されているからといって、それを信頼できるわけではありません。あなたのOSと自分自身を守るために、特定の手段を講じる必要があります。

無視のセキュリティリスクは、情報の盗難やウイルス感染から始まり、Linuxマシンへの未承認のユーザーアクセスまでさまざまです。したがって、この記事ではLinuxでソフトウェアを安全にダウンロードする方法をリストアップしています。

1. ハッシュ値を確認する

ハッシュ値(またはチェックサム)は、データが暗号化関数を通過する際に生成される文字と数字の組み合わせの文字列です。それはあなたのファイルのデジタル署名として機能します。

壊れたファイルをダウンロードしていないことを確認するために、いくつかのオープンソースサイトは通常、ファイルのダウンロードが完了した後に得られるべき期待されるハッシュを提供しています。例を見てみましょう。

あなたが人気のあるウェブサーバーであるTomcat 10をダウンロードしているとしましょう。Tomcatバージョン10.0.6のハッシュ値は次のとおりです:

3d39b086b6fec86e354aa4837b1b55e6c16bfd5ec985a82a5dd71f928e3fab5370b2964a
5a1098cfe05ca63d031f198773b18b1f8c7c6cdee6c90aa0644fb2f2 *apache-tomcat-10.0.6.tar.gz

セクション*apache-tomcat-10.0.6.tar.gzは単なるファイル名です。3d39...2f2からの値がハッシュ値を構成します。

この値を取得するには、アーカイブファイルをダウンロードしたディレクトリに移動し、次のコマンドを実行する必要があります:

sha512sum apache-tomcat-10.0.6.tar.gz

上記のハッシュ値を取得する必要があります。異なる値が得られた場合は、ダウンロードが破損していることを意味し、すぐに削除する必要があります。

この特定の例では、我々が使用したハッシュ関数はsha512です。これは、Apache Tomcat財団がダウンロードの整合性を保護するために使用することを決定した関数だからです。

他のサイトでは、一般的なsha256やsha384関数など、異なるハッシュ関数を使用する場合があります。

ウェブサイトが他のハッシュ関数を使用している場合は、コマンドの名前をハッシュ関数に置き換えるだけで済みます。

sha256sum filename-of-download
sha384sum filename-of-download

私たちが使用したファイルはTARファイル(すなわちアーカイブファイル)であることも注目に値します。しかし、代わりにバイナリファイルをダウンロードした場合はどうでしょうか?良いニュースは、Linuxではファイルタイプにかかわらず同じハッシュ結果が得られるということです。

Linuxのハッシュ関数のデフォルトモードはテキストです。したがって、バイナリモードに切り替えるには、次のように-bオプションを使用します:

sha256sum -b filename

2. 安全なサイトを使用する

安全なサイトからダウンロードを行うことで、マルウェアを入手するリスクを大幅に減少させることができます。基本的なルールとして、ダウンロードしたいソフトウェアの公式ダウンロードサイトを常に使用するべきです。もし何らかの理由で公式ウェブサイトを見つけられない場合は、信頼できるサイトの使用を検討してください。

FileHorseやSourceForgeのようなダウンロードサイトは、訪れることができる信頼できるサイトの例です。これらのサイトは長い間存在しており、ユーザーの信頼を得ています。

3. 自分でソースコードをコンパイルする

オープンソースコミュニティが存在する最大の理由の一つは、大手ソフトウェア会社に信頼を置かず、彼らがあなたのPCで不正なことをしていないことを願う必要がないからです。

バイナリファイルをダウンロードすると、コードをコンパイルした人にある程度の力を与えてしまいます。しかし、ソースコードにアクセスできる場合、自分の手にその力を取り戻すことができます。

オープンソースを使用すると、ソフトウェアが作者の言う通りに正確に動作するかどうかを独自に確認できます。ただし、これには平均以上のプログラミングスキルが必要です。また、特定の分野について十分な知識を持っている必要があります。

戦略的に決定し、重要なファイルのみをチェックすることもできます。

例えば、GitHubリポジトリからクローンしたCソースコードがあるとします。以下は、それを自分でコンパイルする方法です。

以下のコマンドを実行して、build-essentialパッケージをインストールしてください。このパッケージには、Linux上でソフトウェアをビルドする際に必要な重要なツールが含まれています。

sudo apt-get install build-essential

今、gccコンパイラを使用してCコードをコンパイルしてください。

gcc program-name.c -o program-name

コンパイル後、次のように入力してプログラムを実行できます:

./program-name

4. 公式パッケージマネージャーを使用する

ソフトウェアをインストール、更新、アンインストールする最も簡単な方法は、パッケージマネージャーを使用することです。pacman、dpkg、DNF、APTなどのいくつかの種類があります。パッケージマネージャーは、公式ソフトウェアリポジトリおよびアプリストアと直接連携します。

パッケージマネージャーは、あなたのために多くの重労働を行います。彼らは、ソフトウェアが必要とする依存関係の管理、ダウンロードの整合性と信頼性の確認、バージョン管理などの標準的な操作を処理します。

もう一つ良い点は、あなたのディストリビューションには通常、パッケージマネージャーがプリインストールされていることです。例えば、Debian 10にはAPTが、Archベースのシステムにはpacmanが付属しています。

個人研究

ソフトウェアの世界は常に変化しており、セキュリティのトレンドを把握することは自分自身を守る上で重要な要素です。さまざまなシナリオに応じて選択できるいくつかのインストールオプションがあります。たとえば、仮想マシンにソフトウェアをインストールすることや、アプリのコンテナ化を使用することです。

アプリのコンテナ化は、異なる実行環境でアプリが同じように動作することを保証するため、特に魅力的なトレンドです。

ソフトウェアコアと依存関係の実行を基盤となるインフラストラクチャから切り離すことができることは、前例のないセキュリティを提供します。例えば、依存関係のセキュリティを確認することを一度だけ気にすれば、異なる環境でこれが響くことを期待できます。

ソフトウェアレビューを見たり、GitHubでの議論をフォローしたりすることも良い習慣です。ソフトウェアレビューは、ダウンロード後に期待すべきことや、ユーザーが観察した予期しない挙動、さらに彼らの推奨事項について良いイメージを与えてくれます。

GitHubのディスカッションは、ソフトウェアのインストール後やその最中にどのような積極的な対策を講じるべきかについても気づかせてくれます。また、公式ドキュメントには含まれていない他の多くのセキュリティに関する考慮事項も得ることができます。

GitHubで多くの貢献者がいるフォークにも注意を払うべきです。プロトコルの変更が行われる可能性があり、これらの更新についていけないと、あなたのセキュリティが危険にさらされることになります。

推奨事項と良い実践

重大なソフトウェアをダウンロードする前に、まずシステムのパッケージとリポジトリのリストを更新することは常に良い作法です。たとえば、Arch Linuxのpacmanなど、すべてのパッケージマネージャーは、パッケージのインストール、更新、および削除のオプションを提供します。

インストールされたパッケージが最新であることを確認した後、必要なソフトウェアをダウンロードすることができます。可能な限り、パッケージマネージャを使用してパッケージをダウンロードできる場合は、そうしてください。これがLinuxでソフトウェアをインストールおよび更新する最も簡単で安全な方法です。

関連記事: