LFCA –データとLinuxを保護するための便利なヒント–パート18


Linuxは、90年代初頭にリリースされて以来、その安定性、汎用性、カスタマイズ性、および24時間体制でバグ修正と改善を提供するオープンソース開発者の大規模なコミュニティのおかげで、テクノロジーコミュニティの称賛を獲得してきました。オペレーティング·システム。概して、Linuxは、パブリッククラウド、サーバー、およびスーパーコンピューターに最適なオペレーティングシステムであり、インターネットに接続された運用サーバーの75%近くがLinuxで実行されています。

Linuxは、インターネットを強化するだけでなく、デジタルの世界への道を見つけ、それ以来衰えることはありません。これは、Androidスマートフォン、タブレット、スマートウォッチ、スマートディスプレイなど、さまざまなスマートガジェットに電力を供給します。

Linuxは安全ですか?

Linuxはそのトップレベルのセキュリティで有名であり、それがエンタープライズ環境で人気のある選択肢となる理由の1つです。しかし、これが事実です。100%安全なオペレーティングシステムはありません。多くのユーザーは、Linuxは絶対確実なオペレーティングシステムであると信じていますが、これは誤った仮定です。実際、インターネットに接続されているオペレーティングシステムは、潜在的な侵害やマルウェア攻撃の影響を受けやすくなっています。

Linuxは初期の頃、技術中心の人口統計がはるかに小さく、マルウェア攻撃に苦しむリスクはほとんどありませんでした。現在、Linuxはインターネットの大部分を支えており、これが脅威の展望の成長を後押ししています。マルウェア攻撃の脅威はかつてないほど現実的です。

Linuxシステムに対するマルウェア攻撃の完璧な例は、韓国のWebホスティング会社であるNAYANAの153台近くのLinuxサーバーに影響を与えたファイル暗号化マルウェアであるErebusランサムウェアです。

このため、オペレーティングシステムをさらに強化して、データを保護するために非常に望まれるセキュリティを提供することが賢明です。

Linuxサーバーの強化のヒント

Linuxサーバーの保護は、思ったほど複雑ではありません。システムのセキュリティを強化し、データの整合性を維持するために実装する必要のある最高のセキュリティポリシーのリストをまとめました。

Equifax違反の初期段階では、ハッカーはEquifaxの顧客苦情Webポータルで広く知られている脆弱性であるApacheStrutsを利用しました。

Apache Strutsは、ApacheFoundationによって開発された最新のエレガントなJavaWebアプリケーションを作成するためのオープンソースフレームワークです。財団は2017年3月7日に脆弱性を修正するパッチをリリースし、その旨の声明を発表しました。

Equifaxはこの脆弱性について通知を受け、アプリケーションにパッチを適用するようにアドバイスされましたが、残念ながら、この脆弱性は同じ年の7月までパッチが適用されていませんでした。攻撃者は会社のネットワークにアクセスし、データベースから何百万もの機密の顧客レコードを盗み出すことができました。 Equifaxが何が起こっているのかを知るまでに、すでに2か月が経過していました。

では、これから何を学ぶことができますか?

悪意のあるユーザーやハッカーは、常にサーバーを調査して、システムを侵害するために利用できる可能性のあるソフトウェアの脆弱性を探します。安全のため、ソフトウェアを常に現在のバージョンに更新して、既存の脆弱性にパッチを適用してください。

UbuntuまたはDebianベースのシステムを実行している場合、最初のステップは通常、図のようにパッケージリストまたはリポジトリを更新することです。

$ sudo apt update

利用可能なアップデートを含むすべてのパッケージを確認するには、次のコマンドを実行します。

$ sudo apt list --upgradable

次に示すように、ソフトウェアアプリケーションを現在のバージョンにアップグレードします。

$ sudo apt upgrade

図のように、これら2つを1つのコマンドに連結できます。

$ sudo apt update && sudo apt upgrade

RHELおよびCentOSの場合、次のコマンドを実行してアプリケーションをアップグレードします。

$ sudo dnf update ( CentOS 8 / RHEL 8 )
$ sudo yum update ( Earlier versions of RHEL & CentOS )

もう1つの実行可能なオプションは、CentOS/RHELの自動更新をセットアップすることです。

無数のリモートプロトコルをサポートしているにもかかわらず、rlogin、telnet、TFTP、FTPなどのレガシーサービスは、システムに大きなセキュリティ問題を引き起こす可能性があります。これらは古く、時代遅れで、データがプレーンテキストで送信される安全でないプロトコルです。これらが存在する場合は、図のように削除することを検討してください。

Ubuntu/Debianベースのシステムの場合、以下を実行します。

$ sudo apt purge telnetd tftpd tftpd-hpa xinetd rsh-server rsh-redone-server

RHEL/CentOSベースのシステムの場合、以下を実行します。

$ sudo yum erase xinetd tftp-server telnet-server rsh-server ypserv

安全でないサービスをすべて削除したら、サーバーをスキャンして開いているポートを探し、ハッカーがエントリポイントとして使用する可能性のある未使用のポートをすべて閉じることが重要です。

UFWファイアウォールのポート7070をブロックするとします。このためのコマンドは次のようになります。

$ sudo ufw deny 7070/tcp

次に、変更を有効にするためにファイアウォールをリロードします。

$ sudo ufw reload

Firewalldの場合、次のコマンドを実行します。

$ sudo firewall-cmd --remove-port=7070/tcp  --permanent

そして、ファイアウォールをリロードすることを忘れないでください。

$ sudo firewall-cmd --reload

次に、次のようにファイアウォールルールをクロスチェックします。

$ sudo firewall-cmd --list-all

SSHプロトコルは、ネットワーク上のデバイスに安全に接続できるようにするリモートプロトコルです。安全であると見なされていますが、デフォルト設定では不十分であり、悪意のあるユーザーがシステムを侵害するのをさらに防ぐために、いくつかの追加の調整が必要です。

SSHプロトコルを強化する方法に関する包括的なガイドがあります。主なハイライトは次のとおりです。

  • パスワードなしのSSHログインを構成し、秘密/公開鍵認証を有効にします。
  • SSHリモートルートログインを無効にします。
  • パスワードが空のユーザーからのSSHログインを無効にします。
  • パスワード認証を完全に無効にし、SSH秘密/公開鍵認証に固執します。
  • 特定のSSHユーザーへのアクセスを制限します。
  • パスワードの試行の制限を設定します。

Fail2banは、ブルートフォース攻撃からサーバーを保護するオープンソースの侵入防止システムです。ログイン試行回数が多すぎるなどの悪意のあるアクティビティを示すIPを禁止することにより、Linuxシステムを保護します。箱から出して、Apache Webサーバー、vsftpd、SSHなどの一般的なサービス用のフィルターが付属しています。

SSHプロトコルをさらに強化するためにFail2banを構成する方法に関するガイドがあります。

パスワードを再利用したり、弱くて単純なパスワードを使用したりすると、システムのセキュリティが大幅に損なわれます。パスワードポリシーを適用し、pam_cracklibを使用してパスワード強度要件を設定または構成します。

PAMモジュールを使用して、/ etc/pam.d/system-authファイルを編集することでパスワード強度を定義できます。たとえば、パスワードの複雑さを設定し、パスワードの再利用を防ぐことができます。

ウェブサイトを運営している場合は、SSL/TLS証明書を使用してドメインを保護し、ユーザーのブラウザとウェブサーバー間で交換されるデータを暗号化してください。

サイトを暗号化したら、弱い暗号化プロトコルを無効にすることも検討してください。このガイドを書いている時点で、最新のプロトコルはTLS 1.3です。これは、最も一般的で広く使用されているプロトコルです。 TLS 1.0、TLS 1.2、SSLv1からSSLv3などの以前のバージョンは、既知の脆弱性に関連付けられています。

[あなたも好きかもしれません:ApacheとNginxでTLS1.3を有効にする方法]

これは、Linuxシステムのデータセキュリティとプライバシーを確保するために実行できるいくつかの手順の要約です。