Web プロフェッショナルがオープンソース環境でアプリを保護する方法
公開: 2023-06-23テクノロジーが急速に進歩し、業務をオンラインに移行する企業が増えるにつれ、オープンソース環境でアプリを開発することが Web プロフェッショナルにとって人気の選択肢となり、柔軟性とカスタマイズ性が提供され、コストも節約されます。 開発者の 90% 以上が独自のアプリケーションでオープンソース コンポーネントに依存しているため、ソフトウェア コミュニティ全体が団結して、開発中の最新システムに貢献できる絶好の機会であることは否定できません。
ただし、これらのシステムにも脆弱性が存在する可能性があり、オープンソース ソフトウェアは、特に開発中のアプリの保護に関して、独特のセキュリティ上の課題を引き起こします。
システムの悪用から人為的ミスに至るまで、アプリが安全であるだけでなく完全に機能することを保証するには、多くの注意が必要です。
ここでは、Fasthosts のリード アーキテクトである Mark O'Hare が、この種のソフトウェアを使用するメリットを享受しながら、オープンソース環境でアプリを保護することの重要性について説明し、アプリを確実に保護するために適用できるベスト プラクティスの例をいくつか紹介します。適切に保護されています。
オープンソース ソフトウェアとは、一般に無料で公開されているソフトウェアであり、そのソース コードには誰でもアクセスして変更できます。 これは、誰でもソフトウェアをレビュー、変更、改善できることを意味し、その結果、より迅速なイノベーションとより協力的な開発が可能になります。
ただし、このオープンなアプローチには特有のセキュリティ リスクも伴います。 実際、データ[1]は、オープンソースのサーバーレス アプリの 5 つに 1 つに重大なセキュリティ脆弱性があることを示しています。
誰でもソフトウェアにアクセスして変更できるため、悪意のある攻撃者がバックドア、脆弱性、またはその他の種類のマルウェアを挿入するリスクが高くなります。 さらに、このソフトウェアは無料で利用できるため、既知の脆弱性を悪用しようとする攻撃者にとって人気の標的になる可能性があります。
現在ソフトウェアを開発している人は皆、何らかの形でオープンソースを使用しています。 オープンソース ソフトウェアの要素を使用するだけでなく、オペレーティング システムの構築からクラウドでの製品の提供に至るまで、あらゆるものに適用されます。
Web プロフェッショナルとして、クライアントのデータを保護し、信頼を維持するために、オープンソース環境でアプリを保護することが重要です。 オープンソース ソフトウェアの使用には多くの利点がありますが、対処する必要がある特有のセキュリティ上の課題も生じます。
ここでは、ますます不安定になる環境においてアプリの安全性を確保するための重要な手順をいくつか紹介します。
ソフトウェアを賢く選択する
より広範なオープンソース コミュニティ (GitHub スターなど) によって承認され、多くのダウンロードで広く使用されているコンポーネントを探してください。 ソフトウェアのサプライチェーン内で問題が発生した場合、その問題に注目すればするほど、迅速に発見される可能性が高くなります。
また、ソフトウェアは、セキュリティ上の懸念事項に対応する活発なコミュニティによって適切に保守される必要があるため、ソフトウェア プロジェクトには多くの貢献者がおり、リリースが定期的に行われていることを確認してください。 優れたドキュメントと高いテストカバレッジはすべて、ソフトウェア コンポーネントが適切に構築されていることを示すものであるため、これらに注意してください。
定期的なソフトウェアアップデート
オープンソース環境でアプリを保護する最も効果的な方法の 1 つは、ソフトウェアを常に最新の状態に保つことです。 これらのアップデートを実行すると、ソフトウェアの脆弱性などが確実に特定され、対処されるため、アップデートが入手可能になったらすぐにインストールすることが重要です。
そうしないと、アプリが攻撃に対して脆弱になる可能性があります。 このアクティビティの自動化に役立つ、dependabot や renovatebot などのオープンソース ツールがあります。
アプリケーションを定期的にスキャンする
セキュリティの脆弱性の問題を検出する効果的な方法は、構築されたソフトウェアに対して定期的にスキャンを実行することです。 これにより、アプリケーションに含まれるすべてのコンポーネントを特定し、一般的な脆弱性と危険性 (CVE) を正確に特定できます。
このツールはスコアを提供するため、最も重要な問題に集中できます。 ここでも、Docker Desktop、Trivy、Grype などのオープンソース ツールが役に立ちます。
強力なパスワードの使用
強力なパスワードの使用は、アプリの保護に役立つ基本的なセキュリティ対策です。 弱いパスワードは推測されやすく、ハッカーによって解読される可能性が高く、その結果、ハッカーがアプリとその中のすべてのデータにアクセスできるようになります。
大文字、小文字、数字、記号を組み合わせた、推測が困難な強力なパスワードを使用すると、この問題が発生する可能性が低くなります。 複数のアカウントに同じパスワードを使用しないようにすることも重要です。
二要素認証の適用
2 要素認証 (2FA) を実装すると、元のパスワードに加えて、電話に送信されるコードなどの 2 番目のタイプの認証をユーザーに要求するセキュリティ対策を追加することになります。 これにより、ハッカーがパスワードを推測したり盗んだりした場合でも、アプリへの不正アクセスのリスクを大幅に軽減できます。
暗号化
機密データの安全性を確保し、データをストレージに配置するときに強力なキーとアルゴリズム (bcrypt など) を使用します。 データベースなど。 セキュリティを強化するために、可能であれば、データを一方向暗号化 (つまりハッシュ) で保存します。
つまり、顧客だけが秘密を知っているため、失うものが少なくなります。 盗聴を防ぐには、TLS を使用して安全なネットワーク上ですべての通信を暗号化する必要があります。
データのバックアップ
アプリが侵害された場合に備えて、データをバックアップすることが重要です。 定期的なバックアップは、データを回復し、セキュリティ侵害による被害を最小限に抑えるのに役立ちます。 盗難や破損を防ぐために、バックアップをオフサイトの安全な場所に保存します。
ユーザーアクセスを制限する
ユーザーのアクセスを制限することも、アプリを保護するための重要なセキュリティ対策です。 ユーザーにはタスクを実行するために必要なアクセス権のみを付与し、不要になったアクセス権は削除する必要があります。 これにより、アプリへの不正アクセスを防止し、データ侵害のリスクを軽減できます。
オープンソース環境でアプリを保護することは、クライアントのデータを保護し、信頼を維持するために非常に重要です。 これらのベスト プラクティスに従うことで、オープンソース環境内で作業するメリットを享受しながら、セキュリティ侵害のリスクを軽減し、アプリのセキュリティを確保できます。
[1] 2023 年の最も驚くべきオープンソース ソフトウェアの統計と傾向 • GITNUX