2019年8月24日土曜日

認証LANとRADIUSについて

概要

端末がネットワークに接続する際に不正アクセスを防ぐ仕組みである、認証LANと、代表的なRADIUS(Remote Authentication Dial In User Service)についての情報をまとめます。

要点

  • 認証LANの認証方式
    • MAC認証
    • 端末のMACアドレスで認証する方式
    • Web認証
    • Web画面でユーザ名/パスワードを入力することで認証する方式
    • EEE802.1X認証(RADIUS)
    • EAPなどの認証プロトコルを使って認証する方式
  • EEE802.1X認証で使われるEAP認証方式
  • EAPは、それまでPPPで使われていたPAPやCHAPと違い、証明書を使った高度な認証プロトコルです。
    PAPはIDとパスワードを平文で流す認証方式で、CHAPはメッセージダイジェストにより暗号化して流す認証方式でしたが、ネットワークが普及してきて、EAPのような高度な認証が求められるようになりました。
    • EAP-MD5
    • EAPの枠組みで動作するCHAP
    • PEAP
    • サーバ証明書を使い、クライアント側ではIDとパスワードを使って認証する方式。ユーザ認証と呼ばれる。
    • EAP-TLS
    • TLSによって行う認証でクライアント証明書を利用する方式。端末認証と呼ばれる。
  • RADIUS認証の流れ
  • RADIUS認証は、サプリカント、オーセンティケータ、認証サーバで実現します。
    1. サプリカントをネットワークに接続する
    2. オーセンティケータから認証要求が来る
    3. 利用者はユーザ名とパスワードの情報をEAPOLで受け渡す
    4. オーセンティケータは認証サーバにユーザ名/パスワードを問い合わせる
    5. 認証に成功するとサプリカントの通信が可能になる
  • 認証LANの課題
  • リピータハブを接続するネットワークにおいては、配下に接続されているPCのうち、1つでも認証に成功すると、認証されたポートを経由して認証されていないPCの接続が可能になってしまう課題がある。

ファイアウォールについて

概要

企業などでも採用されているファイアウォールの仕組みについての情報をまとめます

要点

  • FWについて
  • ファイアウォールはインターネットから不正アクセスを防ぐために実施する仕組みで、外部からの通信を制御したり、ネットワークを「インターネット」「DMZ」「内部セグメント」の3つに分ける機能を持ちます。
  • DMZ(Demilitarized Zone)について
  • DMZはインターネットと内部セグメントの間に存在する領域のことであり、どちらのネットワークからも通信のやり取りができるので、メールサーバやWebサーバなどのように外部に公開するサーバを配置して活用することができます。
  • FWの種類について
  • FWには、ヘッダ部分のIPやポート番号を元に制御するパケットフィルタリング型と、HTTP,SMTPなどのアプリケーションプログラムごとに制御するアプリケーションゲートウェイ型の2種類あります。
  • 一般的なFWの設定例
    • 基本的にはすべてのパケットを停止させ、必要なルールだけを許可する
    • pingによる疎通確認のためにICMPは許可する設計もある。(pingも含め不要なパケットは停止する設計もある)
    • 設定されたルールは上から順にチェックし、合致するものがあればそのルールが適用されそれ以降は見ない。
    • インターネットからDMZへのパケットは、公開Webサーバなどの為に必要なルールのみを許可する。
    • 公開サーバだからと言ってすべての通信を許可する設定は適切ではない。
    • インターネットから内部セグメントに対するアクセスはすべて禁止にすべきである
    • インターネットから許可する通信の宛先はすべてDMZにすべきである。
    • 内部セグメントからの通信に関してもすべて許可するのは適せつではない
    • PCからインターネットへの直接通信を禁止して、プロキシを経由した通信のみに限定する
    • 許可ルールはIPアドレスで指定するのではなく、プロトコルで指定して、使用しないプロトコルは拒否するようにする。
  • UTMについて
  • UTMはFWを含むセキュリティ関連の機能を集約した装置
  • WAF(Web Application Firewall)について
  • WAFはWebアプリケーションの防御に特化したファイアフォールで、攻撃の可能性があるアクセスパターンをブラックリストに登録したり、逆に安全なアクセスパターンをホワイトリストに登録することができるファイアウォールです。
  • FWの二重化
  • FWの冗長化はVRRP(仮想アドレスを使用する)方式と、サブの装置がメインのIPアドレスを使用して引き継ぐ方式があります。 IPを引き継ぐ方式ではメインの装置が故障したことを検出す裏目に定期的な通信をして、それに成功するかどうかで故障の有無を検知します。

2019年8月21日水曜日

VoIPについて

概要

音声をパケット化して通信するVoIP(Voice over Internet Protocol)についての情報をまとめます。

要点

  • VoIP化のメリット
    • 電話とネットワークで使用する配線を共通化して設備を減らすことができる
    • 電話料金とネット料金を共通化できるので安くすることができる
    • スマホやパソコンではアプリケーションと連携することができる
  • VoIPでやりとりするデータ
  • VoIPを使うときの呼び出し音や通話中のデータを呼制御データと呼び、実際に話すときのデータを音声データと呼びます。

  • RTP(Realtime Transport Protocol)プロトコル
  • RTPは音声や動画などのデータを送信するためのプロトコルで、UDPでありながら番号管理をしてリアルタイム処理を実現します。

  • SIP(Session Initiation Protocol)
  • SIPはVoIPでの呼制御をするためのプロトコルで、以下の手順で端末間でのセッションの生成を行います。

    1. ユーザはSIPサーバに対してINVITEメッセージを送信する
    2. SIPサーバはデータベースから該当するIPを検索して通話要求を宛先に転送する
    3. 応答を返して通話を開始する
  • 音声の符号化
  • VoIPで使用するA/D変換は、アナログ信号をデジタル信号に変換することであり、標本化、量子化、符号化の3段階で処理をします。

    1. 標本化
    2. アナログ信号を数値化する事

    3. 量子化
    4. 小数をどこかで切り上げて値を決定する事

    5. 符号化
    6. 量子化で決めた値をディジタルデータにする事

  • 計算問題例
  • 160バイトの音声データに負荷されるヘッダはイーサネットヘッダが18バイト、IPヘッダが20バイト、UDPヘッダが8バイト、RTPヘッダが12バイトで、このパケットが20ミリ秒ごとに送出される。このパケットのデータサイズは218バイトで、このパケットを20ミリ秒ごとに送信する場合、1秒当たり50パケット送信する。この時必要な帯域は1通話当たり、87.2kバイト/秒 となる。

  • IP電話の通信品質
  • IP電話を使う際、音声の品質を示す指標として以下のようなものがあります。
    • MOS(Mean Opinion Score)値
    • 評価者に音を聞かせて5段階で評価し、その平均値をMOS値と呼びます。
    • R値
    • ノイズの影響を考慮した信号の大きさ、エコーや遅延などによる劣化から算出します。

2019年8月20日火曜日

プロキシサーバについて

概要

プロキシサーバはインターネットアクセスを行う際にPCの代理として使用します。

要点

  • プロキシサーバを導入するメリット
    1. クライアントPCから外部のネットワークに通信する際にセキュリティのチェックを行うことができ、FWの経由する通信を制限しやすくなる
    2. 一度閲覧したサーバをキャッシュとして残しておくことで同一サイトへのアクセスの速度を高速化できる

  • プロキシサーバの設定で自動設定ファイルを使う場合のメリット
  • プロキシサーバを設定する際に、プロキシサーバのアドレスを直接設定する方法と、PACファイルと呼ばれる自動設定ファイル(自動構成スクリプト)を読み込ませる方法があります。自動設定ファイルを使うと冗長化などの詳細な設定を臨機応変に行うことができるようになるので、大規模なネットワークではこの方法が採用されます。


  • プロキシを経由してHTTPSで通信する仕組み
  • HTTPSを使う場合、クライアントPCからWebサーバへのCONNECTメソッドによってサーバの証明書を入手して暗号化された通信路を確立し、その通信路を使ってWebサーバとの通信を行う。


  • リバースプロキシとフォワードプロキシ
  • リバースプロキシはWebサーバ側が身代わりとして使用するサーバの事を指し、
    フォワードプロキシはWebブラウザの身代わりとして使用するサーバの事を指します。 リバースプロキシを使うメリットは多数のリクエストに対する負荷分散、キャッシュによる負荷低減、暗号化や認証の代替などが考えられます。

FTPについて

概要

FTP(File Transfer Protocol)はファイルを転送するプロトコルです。制御用とデータ転送用で2つのコネクションが必要です。

要点

  • FTPで使用するポート番号
  • FTPではコマンドのやり取りを行う制御用のポート(21番)とデータ転送用のポート(20番)を使ってファイルの転送をします。

  • SFTP(SSH File Transfer Protocol)
  • FTPは認証情報や通信データは平文で流れるので、盗聴の危険があります。FTPの通信をSSHで暗号化したプロトコルとしてSFTPがあります。

  • TFTP(Trivial FTP)
  • 簡易的なFTPとしてTFTPがあります。TFTPはユーザ認証が不要でUDPを使って通信をします。

  • FTPのモードについて
  • FTPにはアクティブモードとパッシブモードの二つの転送方式があります。

    アクティブモードではサーバ側からクライアント側に接続する方式で、ポート番号は制御用に21番、データ転送用に20番を使用します。

    ファイアウォールなどでサーバ側からクライアント側への通信を許可していない場合にはパッシブモードを使います。パッシブモードはFTPクライアント側からサーバ側に接続する方式で、ポート番号は制御用に21番、データ転送用にはランダムな番号を割り当てます。

2019年8月18日日曜日

メール関連のプロトコル POP、SNTP、IMAP


概要

電子メールのやりとりに使用する、POP(Post Office Protocol)や、SMTP(Simple Mail Transfer Protocol)、IMAP(Interactive Mail Access System)情報をまとめます。

関連するプロトコル
名称 説明 ポート番号
POP3 受信の時に使うプロトコル 110
SMTP 送信の時に使うプロトコル 25
SMTP-AUTH 認証つきの送信プロトコル 589
IMAP4 サーバ上にあるメールを受信するためのプロトコル 114

要点


  • 電子メールのプロトコル
    • 送信プロトコル
      • SMTP
      • メールを転送するプロトコルです。認証がないのでセキュリティに課題があります。SMTPにはコマンドがあり、以下の流れで処理が行われます。
        1. HELO/EHLOコマンド(通信の開始)
        2. MAIL FORMコマンド(送信元メールアドレスの通知)
        3. RCPT TOコマンド(宛先メールアドレスの通知)
        4. DATAコマンド(メール本文の送信)
        5. QUITコマンド(切断)
      • POP before SMTP
      • SMTPの前にPOPをすることで認証し、その後一定時間だけSMTPの通信を許可する方式です。
      • SMTP AUTH
      • ユーザ名とパスワードの認証があるSMTPです。
    • 受信プロトコル
      • POP3
      • メールを受信するときに使用するプロトコルです。有名なプロトコルですが以下のような課題があります。
        ・複数のPCで同じメールアカウントを使用するときに同じメールの内容を読むことができない。
        ・パスワードが平文で流れるのでネットワークが盗聴されるとアカウントが乗っ取られる可能性がある。
      • APOP
      • POP3のパスワードを暗号化したプロトコルですが、対応していないメールソフトが多いので普及してないらしいです。
      • POP3S
      • POP3をSSLで暗号化して通信する方式で、ポート番号は995番を使用します。
      • IMAP4
      • サーバ上にメールを保管して、クライアントソフトで内容を閲覧するので複数のPCでメールの内容を見ることができます。一般的に普及している方式で、データを移行する際にも便利なプロトコルです。

  • 電子メールの送信に必要なサーバ
  • メールサーバは通常、セキュリティを高める為にDMZに設置される外部メールサーバと内部メールサーバで構成されます。構成の中に内部メールサーバを置く理由はメールデータを外部メールサーバに蓄積するのではなく、内部メールサーバに蓄積するのがセキュリティ上適切だからです。
    社内PCから社内あてのメールを送信する場合は、内部メールサーバを介して送信されます。社内PCから社外あてのメールを送信する場合は内部メールサーバから外部メールサーバを経て、相手のメールサーバから相手のPCにメールが送信されます。

  • 電子メールのセキュリティ
    1. 送信元の詐称の対策
      • SPF(Sender Policy Framework)
      • 送信元のドメインで使用しているDNSサーバのゾーンファイルにSPFレコードを追加して、SMTP転送が発生した時にSPFレコードの問い合わせを行うことで、IPアドレスの妥当性を確認することで詐称の有無を確認する方法
      • DKIM(DomainKeys Identified Mail)
      • 送信側メールサーバでディジタル署名を発行し、電子メールのヘッダ部分に付与して、受信側メールサーバでその内容を検証する方法
    2. 迷惑メールの対策
    3. 迷惑メールの対策はいくつかの技術があるので対策を施す場所別に記載します。
      • 送信メールサーバ
      • メール送信時に、SMTP-AUTHやPOPbeforeSMTPを使ったユーザ認証を行うことで、不正なメールが送信されないようにします。
      • プロバイダ
      • OP25B(Outbound Port25 Block)を使うと動的IPアドレスからの管理外ネットワークに対するSMTPを禁止して、不正なメールの通信を拒否することができます。
        プロバイダ以外のクラウドサービスなどのメールサーバに送信をする場合には、認証をする必要があるので、SNMP-AUTHを587番のサブミッションポートを使って行う必要があります。
      • SPAM対策機
      • メールのヘッダ部分や本文を解析して、ブラックリストなどを作成して、迷惑メールをブロックする。
      • 受信メールサーバ
      • 受信メールサバでSPFやDKIMを使って送信者認証をすることで、迷惑メールを受け取らない。

2019年8月17日土曜日

DNSについて

概要

DNS(Domain Name System)はIPアドレスからURLを参照するためのプロトコルであり、DNSサーバはその機能を実現するサーバです。

要点

  • FQDN、ホスト名、ドメイン名、URLについて
  • https://www.yahoo.co.jp/の例で説明すると、
    「www」がホスト名、
    「yahoo.co.jp」がドメイン名、
    「www.yahoo.co.jp」がFQDN(Full Qualified Domain Name)、
    「https://www.yahoo.co.jp/」がURLとなります。


  • DNSのレコード名について
  • 名称 説明
    SOAレコード 自信が管理するDNSに関する設定が管理されているレコード
    A(Address)レコード ホスト名に対するIPアドレスを設定するレコード
    MX(Mail eXchanger)レコード メールサーバを指定するレコード
    NS(Name server)レコード ネームサーバを指定するレコードです

    MXレコードとNSレコードは、サーバのFQDNで設定するので、IPアドレスと紐づける為に、Aレコードの設定とセットで必要になります。

    Aレコードに一つのホスト目に対して複数のIPアドレスを設定することで、接続先を順次変えていくDNSラウンドロビンという仕組みがあります。

  • DNSの設定ファイル
  • DNSの設定は、Linux上の/etc/named.conf、/var/named/seeeko.com に定義されている


  • リゾルバ
  • 端末側からDNSサーバに対して問い合わせをするプログラムをリゾルバといい、DNSサーバが端末側に通知するIPアドレスの情報をゾーン情報といいます

  • DNSが行う問い合わせ
  • 近くにあるDNSサーバに問い合わせをする事を再帰問い合わせといい、名前解決を行う際にルートネームサーバから階層的に問い合わせすることを反復問い合わせという。

  • ゾーン転送
  • DNSサーバを冗長化するために2台以上設置する場合があり、その時にプライマリDNSのゾーン情報を定期的にセカンダリDNSに対して転送することをゾーン転送という。

  • DNSキャッシュサーバ
  • DNSサーバの情報をキャッシュ情報として保持しておくことによりDNSの反復問い合わせを効率化を実現するサーバです。このサーバを設置することにより、高速化を実現するだけではなくDNSパケットを限定することができ、セキュリティも向上します。しかし、その一方でDNSのキャッシュを不正に書き換えるDNSキャッシュポイズニングというセキュリティ攻撃も存在します。

  • ダイナミックDNS
  • クライアント側のIPアドレスをDNSサーバに通知することで、DNSサーバがその情報を元にゾーン情報を使い分けることができる仕組み