By Bineli Manga、Alibaba Cloudコミュニティブログの著者。
Dynamic Host Configuration Protocol(DHCP)は、コンピュータがローカルネットワークまたはインターネット経由で接続されたデバイスにIPアドレスを自動的に割り当てるために使用する通 DHCPプロトコルが発明される前は、新しいコンピュータをネットワークに追加するには、MacアドレスをIPアドレスに追加するための手動操作が必要でした。 ネットワーク上の多数のホストの場合、ネットワークの管理は複雑でした。 ただし、ローカルネットワークにDHCPがインストールされて構成されていると、ネットワークで受け入れられるすべてのコンピュータは、そのMacアドレスに関 ドメインネームサーバー(DNS)はIPアドレスの生成を管理し、DHCPサーバーは自動的にホスト間で構成を配布します。
このチュートリアルでは、ローカルネットワークにDHCPサーバーをインストールしてセットアップし、完全に自動のネットワーク構成を実現する方法を説明します。 このチュートリアルでは、家庭で一般的に利用可能なような小さなネットワークを管理する方法や、コンピュータをライト、エアコン、冷蔵庫などの他のローカ
前提条件
このチュートリアルを開始するには、インターネットにアクセスできるLinux仮想マシン(VM)(できればUbuntu VM)が必要です。 このために、Alibaba Cloud Elastic Compute Service(ECS)インスタンスを購入し、オペレーティングシステムとしてUbuntuを選択できます。
DHCPサーバーのインストール
Linux VMにDHCPサーバーをインストールするには、まず次のコマンドを実行してパッケージリポジトリを更新する必要があります。
$ sudo apt-get update
パッケージのリストを更新した後、次のコマンドを使用してDHCPパッケージをインストールします。
$ sudo apt-get install isc-dhcp-server -y
DHCPサーバーの設定
DHCPサーバーのインストール後、ifconfigコマンドを使用してDHCPサーバーのIPアドレスを取得する必要があります。 このコマンドを実行すると、IPアドレス(192.168.110.1)が生成されます。
DHCP設定ファイルは/etc/dhcp/dhcpd.conf.
にあります次のコマンドを実行してファイルを開きます。
$ sudo nano /etc/dhcp/dhcpd.conf
2.1.
を使用するサブネットの定義サブネット、IPアドレスの範囲、ドメイン、およびドメインネームサーバーを定義するために、構成ファイルに次の行を追加し
subnet 192.168.110.0 netmask 255.255.255.0 {
サブネット情報(範囲、デフォルトゲートウェイ、ドメインネームサーバー)を定義するときは、行をセミコロン(;)
で終わり、中括弧{ }
で囲むようにしてください。 この範囲は、IPアドレスがDHCPクライアントに割り当てられるIPアドレスプールのセットを定義します。 リースされたアドレスの範囲を指定するには、次の行を追加します。
range 192.168.110.5 192.168.1.10;
次に、デフォルトゲートウェイを指定するには、次の行を追加します。
option routers 192.168.110.1;
ドメインネームサーバーを指定するには、次の行を追加します。
option domain-name-servers 8.8.8.8, 8.8.4.4;
2.2. DHCPグローバル設定
DHCPサーバーをセットアップするには、次の手順を実行してグローバル設定を構成します。ステップ1:デフォルトと最大リース時間を指定するには、設定ファイルでパラメータdefault-lease-timeとmax-lease-timeを見つけて、以下に示すように値を変更します。
default-lease-time 600;max-lease-time 7200;
ステップ2: 複数のインターフェイスの場合は、DHCPサーバーがDHCP要求を処理するために使用するインターフェイスを定義します。 設定ファイルで、Interfacesv4の値を見つけて編集し、要求を処理するための優先インターフェイスで更新します。ステップ3:DHCPサーバーをクライアントの公式DHCPサーバーにするには、以下に示すように#
文字を削除して、構成ファイルの次の行のコメントを解除します。
$ authoritative;
上記の基本設定を実装したら、設定ファイルを保存して閉じる必要があります。
DHCPデバイスの管理
ここで、次のコマンドを使用してDHCPサーバーを管理します。
サービスが正常に実行されているかどうかを確認するには、ターミナルウィンドウで次のコマンドを実行してDHCPサービスの状態を確認します。
$ sudo systemctl status isc-dhcp-server.service
DHCPサービスを開始するには、ターミナルウィンドウで次のコマンドを実行します。
$ sudo systemctl start isc-dhcp-server.service
DHCPサービスを停止するには、ターミナルウィンドウで次のコマンドを実行します。
$ sudo systemctl stop isc-dhcp-server.service
DHCPサービスを再起動するには、ターミナルウィンドウで次のコマンドを実行します。
$ sudo systemctl restart isc-dhcp-server.service
3.1. DHCPクライアントの構成
次に、DHCPサーバーからIPアドレスを取得するために、クライアントコンピュータのネットワーク設定を構成する必要があります。 ここでは、別のUbuntu18.04LTSをクライアントコンピュータとして使用しましょう。 クライアントコンピュータで、UbuntuのDashメニューから設定アプリケーションを開きます。
設定アプリケーションの左ペインからネットワークタブを選択し、その前にある歯車アイコンをクリックしてアダプタ設定を開きます。 それがオンになっていることを確認してください。 アダプタ設定ウィンドウが開きます。 次に、トップメニューから[Ipv4]タブを選択し、[自動(DHCP)]オプションを選択します。
適用をクリックして変更を保存し、ターミナルで次のコマンドを実行してネットワークサービスを再起動します。
$ sudo systemctl restart NetworkManager.service
ここで、端末を起動し、次のコマンドを入力して、システムのIPアドレスを見つけます。
$ ip a
上記のコマンドを実行すると、DHCPサーバー設定で定義されている範囲のIPアドレスが生成されます。 それでもクライアントがDHCPサーバーからIPアドレスを取得しない場合は、システムを再起動します。
3.2. List Leased Addresses
DHCPサーバーによってクライアントに割り当てられているアドレスを確認するには、DHCPサーバーとして構成されたマシンを開き、ターミナルで次のコマン
$ dhcp-lease-list
リースは、IPアドレスがコンピュータに割り当てられている時間の量です。 このリストから、MAC: 00:0c:29:d4:cf:69
を持つDHCPクライアントに、DHCPサーバーからのIPアドレス192.168.110.5が提供されているかどうかを確認します。
これでセットアップが完了し、DHCPサーバーが稼働しています。 次に、このDHCPサーバーを使用してIPアドレスを割り当てます。
DHCP設定の保護
4.1. DHCPセキュリティ攻撃
DHCPサーバーは、さまざまな種類の攻撃に対して脆弱です。 これらのリスクを防止または軽減する方法について、いくつかの攻撃の種類とヒントを見てみましょう。
- サービス拒否
DHCPプロトコルはネットワーク構成を提供するためにクライアントからの認証を必要としないため、ネットワークにアクセスできるユー DHCPサーバによって送信されるデータは、ネットワークのセキュリティを構成し得るDNSサーバIps上の情報を明らかにすることができる。 DHCPが有効なネットワークにアクセスできる悪意のあるユーザーは、サーバーに多数のリース要求が殺到し、他のDHCPクライアントが利用できるリースの数が枯渇す
- DHCP飢餓攻撃
DHCP飢餓攻撃は、ハッカーが特定の期間DHCPサーバーが利用できるアドレス空間を使い果たす攻撃です。 この種の攻撃は、偽装されたMACアドレスを使用してDHCP要求をブロードキャストすることによって行われます。 また、ネットワークへのアクセスを得るために、攻撃者は、信頼されていないDHCPメッセージをフィルタリングし、DHCPスヌーピングバインドデータベースを作成し、維持することによって、ネットワークのセキュリティを提供するために使用されるメカニズムであるDHCPスヌーピングを悪用します。
- 不正なDHCPサーバー
ハッカーは、攻撃されたネットワーク上に偽のDHCPサーバーを設定し、中間者、スニッフィング、偵察攻撃を引き起こす可能性があります。 この偽のサーバーは不正なサーバーと呼ばれ、攻撃者はそれを使用してクライアントに偽のアドレスやその他のネットワーク情報を提供し、データパケットにスヌープします。 不正なサーバーは、独自のDNSサーバーとネットワークゲートウェイを提供し、クライアントを悪意のあるwebサイトにリダイレクトし、フィッシング攻撃を実行してク
- 安全上のヒント
サーバー、スイッチ、ルーターなどのハードウェアコンポーネントに適切な物理セキュリティプロトコルを維持すると、サーバーシステムへの無許可アクセスが制限されます。 ユーザーアクセスポリシーを維持することにより、システム内または外部の不正な個人のワイヤレスアクセスを制限することも、セキュリテ
ネットワーク上のすべてのDHCPサーバーの監査ログは、ログファイルにタブを保持するとともに有効にする必要があります。 これらのログファイルは、DHCPサーバーがクライアントから異常に多くのリース要求を受信するときに安全性を確保します。 監査ログファイルには、DHCPサーバーに対して行われた攻撃の原因を追跡するために必要な情報が含まれています。 システムイベントログを分析して、DHCPサーバーサービスに関する説明情報も分析する必要があります。 クライアントが802.1対応スイッチを使用してMicrosoft OSを実行している場合は、DHCPサーバーがリースを割り当てる前に認証が行われ、セキュリティが向上します。
また、DHCPへの管理アクセスは、限られた数の個人に制限する必要があります。 AdministratorsグループまたはDHCP Administratorsグループのメンバーのみが、DHCPコンソールまたはDHCPのNetshコマンドを使用してDHCPサーバーの管理を許可する必要があります。 DHCPコンソールへの読み取り専用アクセスが必要なユーザーのカテゴリが、DHCP AdministratorsグループではなくDHCP Usersグループに追加されていることを確認してください。 サイバーの世界では完全に安全なものは何もありませんが、セキュリティポリシーに含まれる安全対策はほとんどありません。
まとめ
このチュートリアルでは、ユーザーがDHCPサーバーを自分でインストールして設定するのに役立つことを意図しています。 ここでは、特定のニーズに合わせてDHCPサーバーを構成する方法に焦点を当てています。 また、DHCPサーバーが直面する可能性のあるさまざまな攻撃を一覧表示し、最終的にこれらの攻撃からDHCPサーバーを保護する方法を提案します。