Monday, July 03, 2006

Cisco IOS Login Enhancements(後半)

はじめに
 今回はCisco IOS Login Enhancements機能を設定するとき
 のお話です。
 実際の仕事にも使えそうな機能だと思いますので、実機をもって
 いるかたは設定して、実際にTelnetでアクセスするなどして
 どんなログが出力されるのか見てみると良いと思います。

Default設定
 Login Enhancements機能はDefaultでは無効になっています。


Configuring Cisco IOS Login Enhancements
 以下に設定のステップを示します。
 Step1
  Router# conf t

  まず、Global Configuration Modeに移ります。

 Step2
  Router(config)# login block-for seconds attemps tries
  within seconds

  quiet modeの設定をします。引数は以下のようになります。
  seconds・・・Login要求を全く受け付けない時間を設定
  します。単位は秒です。1~65535まで指定できます。

  tries・・・Loginが何回失敗したらquiet modeにするかを
  指定します。1~65535回まで指定できます。

  seconds・・・ここで指定した秒の間、triesの数だけLogin
  が失敗するとquiet modeに移行します。
  1~65535秒まで指定できます。

  このコマンドは、他のloginコマンドよりも必ず先に実行
  されている必要があります。
  このコマンドを有効にすると、デフォルトで1秒のDelay
  が有効になります。

 Step3
  Router(config)# login quiet-mode access-class acl

  Loginに何度失敗してもquiet modeにならないホストをACL
  で指定できます。この設定はoptionalです。

 Step4
  Router(config)# login delay seconds

  Loginに失敗してから、次のPromptが出るまでのDelayを
  設定できます。この設定はoptionalです。
  指定できるのは1~10秒までです。

 Step5
  Router(config)# login on-failure log [every login]

  Login認証に失敗したらSyslogに出力します。
  every引数は、Syslogに出力する間隔を指定します。
  指定しない場合は1となります。
  この設定はoptionalです。

 Step6
  Router(config)# login on-success log [every login]

  Login認証が成功したらSyslogに出力します。
  every引数は、Syslogに出力する間隔を指定します。
  指定しない場合は1となります。
  この設定はoptionalです。

 Step7
  Router(config)# end

 以上で設定は終了です。


Configuration Example
 設定例を以下に示します。
 ここでは、Login試行が3分以内に3回連続で失敗した場合、Login
 要求を30秒間受け付けないようにしています。
 また、Login認証が失敗して次のPromptが表示されるまで2秒の
 Delayを設けています。

 Router(config)# login block-for 30 attempt 3 within 130
 Router(config)# login on-failure delay 2

 quiet modeになったときには以下のSyslog Messageが表示
 されます。以下の出力内容は、上のコンフィグとは関係あり
 ません。

 00:04:07:%SEC_LOGIN-1-QUIET_MODE_ON:Still timeleft for
   watching failures is 158 seconds, [user:sfd] [Source:10.4.2.11]
 [localport:23] [Reason:Invalid login], [ACL:22] at 16:17:23
 UTC Wed Feb 26 2003

 このログが頻繁に見られるような場合、何者かが不正アクセスを
 試みている可能性があります。
 ログには送信元のアドレスが表示されるので、それを利用して
 アクセス元を追跡できるかもしれません。

 不正アクセスを試みる場合、送信元アドレスはSpoofingされない
 ことがほとんどだと思います。
 #単純にDoSが目的ならSpoofingされることも考えられます。


Advanced Configuring Exercise
 さて、基本的な設定は比較的単純ですので、いきなり応用問題
 をやってみましょう。

 要件は以下のとおりです。
 -5分以内に5回連続でLogin認証に失敗したら60秒間Login
  要求を受け付けないようにしてください。
 -Login試行が失敗・成功したらSyslogに記録できるようにして
  ください。
 -SyslogにTimestampが正しく記録できるようにしてください。
 -Loginが失敗する場合は毎回、成功する場合は3回に1度の
  割合で記録してください。
 -1.1.1.1と2.2.2.2のアドレスを持つホストは何度失敗しても
  すぐにLogin試行ができるようにしてください。


 では、解答です。

 -5分以内に5回連続でLogin認証に失敗したら60秒間Login
  要求を受け付けないようにしてください。

 まずこの要件に対するConfigは以下のようになります。

 Router(config)# login block-for 60 attempt 5 within 300
 この問題では秒や分といった異なった単位が含まれています。
 ミスしないように気をつけましょう。

 -Login試行が失敗・成功したらSyslogに記録できるようにして
  ください。

 この問題をぱっと見たときに、特に設定が必要ないと思われた
 方もいるかもしれませんが、以下の設定が必要です。

 Router(config)# logging buffered
 Syslogをローカルバッファに記録します。

 -SyslogにTimestampが正しく記録できるようにしてください。

 Timestampと言えば以下の設定ですね。

 Router(config)# service timestamps log datetime localtime
 この設定に限定されるものではないので、msec単位にしたり
 timezoneを表示したりするようなオプションをつけていても
 OKです。

 -Loginが失敗する場合は毎回、成功する場合は3回に1度の
 割合で記録してください。

 Router(config)# login on-failure log
 Router(config)# login on-success log every 3

 -1.1.1.1と2.2.2.2のアドレスを持つホストは何度失敗しても
 すぐにLogin試行ができるようにしてください。

 Router(config)# ip access-list standard Excluded_HOSt
 Router(config-std-nacl)# permit host 1.1.1.1
 Router(config-std-nacl)# permit host 2.2.2.2
 Router(config)# login quiet-mode access-class Excluded_HOST

 設定は以上となります。


Further Reading
 DocumentへのLinkです。いつもマニュアルへのLinkとなって
 しまいますが、それ以外にCCOで載ってないんですよね(笑)

 Cisco IOS 12.4 Configuration Guide
 http://www.cisco.com/univercd/cc/td/doc/product/
  software/ios124/124cg/hsec_c/part30/h_login.htm

No comments: