こちらは、Linode documentで公開されている技術者ブログの要約記事です
Chat GPTで要約し、初心者の方でもわかりやすいように注釈を入れた紹介記事となります。
元記事:「Introduction to Server Security」Linode blog
https://www.linode.com/blog/security/introduction-to-server-security
目次
この記事の専門用語解説
- ポート:ネットワーク上でデータが出入りする場所。
- クライアント:サービスを利用するコンピュータやデバイス
- HTTPリクエスト:ウェブページを取得するためのリクエスト
- ドメイン名:ウェブサイトのアドレス
- ドメイン名サーバー(DNS):ドメイン名をIPアドレスに変換するサーバー
- HTTPレスポンス:サーバーがクライアントに送るデータ
- ボットネット:マルウェアに感染したデバイスのネットワーク
- ウェブルートディレクトリ:ウェブサーバーが公開するファイルが保存されているフォルダ
- ルートアカウント:サーバーの全権限を持つ特別なアカウント
- オペレーティングシステム:コンピュータを動かす基本的なソフトウェア
- SSL/TLS:インターネット上のデータを暗号化する技術
- 多要素認証:ログイン時に複数の確認方法を使うセキュリティ対策
- ファイアウォール:ネットワークへの不正なアクセスを防ぐ仕組み
- 侵入検知システム:サーバーへの不正アクセスを検知・防止する仕組み
- マルウェア: 悪意のあるソフトウェアのこと
記事要約
この記事では、サーバーを保護する方法について説明しています。
サーバーのセキュリティ確保
ウェブアプリを実行するサーバーの保護は重要です。サーバーは特定のポートを通じて外部接続を受け入れ、ポートはネットワークトラフィックを識別します。
サーバー脆弱性の理解
通信が行われる場所を考えることで、サーバーの脆弱性を理解できます。
- クライアント(ウェブブラウザ)がサーバーにリクエストを送信。
- サーバーがリクエストを受信して処理。
- ドメイン名がサーバーで照会される。
- サーバーがコンテンツを取得し、クライアントにレスポンスを送信。
- クライアントがコンテンツを表示。
一般的なサーバー攻撃
- DDoS攻撃:大量のリクエストでサーバーを過負荷にして停止させる攻撃。通常、ボットネットを使う。
- ディレクトリトラバーサル:設定ミスを狙い、システムファイルに不正アクセスする攻撃。
- ブルートフォース攻撃:多数のパスワードを試してサーバーに侵入する攻撃。
サーバーセキュリティのベストプラクティス
- OSとソフトウェアを最新に保つ
- 不要なサービスやポートを無効にする
- アクセスを許可されたユーザーのみに制限する
- 暗号化プロトコル(SSL/TLS)を使用する
- バックアップと災害復旧計画を持つ
- 強力なパスワードと多要素認証を実装する
- ファイアウォールを使用する
- ログとネットワークトラフィックを監視する
- 侵入検知システムを使う
- ファイルシステムの権限やアクセス制御を実施する
まとめ
ウェブアプリの安全性を確保するためには、サーバーの脆弱性を理解し、DDoS攻撃やディレクトリトラバーサル、ブルートフォース攻撃などの一般的な攻撃から守る対策が重要です。ソフトウェアを定期的に更新し、アクセス制限や暗号化、強固な認証を導入することがサーバーセキュリティを強化するポイントです。