SSH通信において一部データが漏えいする可能性がある脆弱性に対応するため、以下の機能追加を行った。
http://www.rtpro.yamaha.co.jp/RT/FAQ/Security/CPNI957037.html
sshd encrypt algorithmコマンドを新設し、SSHで使用する暗号アルゴリズムを指定できるようにした。
○SSHサーバで利用可能な暗号アルゴリズムの設定
ALGORITHM ... 暗号アルゴリズム(空白で区切って複数指定可能) |
|
外部メモリに保存されているSYSLOGファイルを参照するコマンドを新設した。
external-memory syslog filenameコマンドで設定されているファイルが表示対象で、このコマンドが設定されていない場合は実行エラーとなる。
○ログの表示
reverse ... ログを逆順に表示する |
external-memory ... external-memory syslog filenameコマンドで設定しているファイルの中身を表示する |
backup ... バックアップファイルの中身を表示する |
外部メモリの性能測定を行う機能を追加した。
○外部メモリ性能測定コマンド
INTERFACE |
|
外部メモリへのリダイレクト機能を「>>」に対応させた。
既存ファイルに対して show XXXXX >> DEVICE:FILENAME と実行することで、コマンド実行結果を既存ファイルに追加できるようになる。
# show XXXXX > DEVICE:FILENAME ... 新規ファイル # show XXXXX >> DEVICE:(既存)FILENAME ... ファイルへの末尾に追加 # show XXXXX >> DEVICE:(新規)FILENAME ... 新規ファイル
リダイレクト記号に「>」、出力先ファイルに既に存在しているファイル名を指定したときは、ファイルを上書きしてよいかの確認メッセージが表示される。
# show XXXXX > DEVICE:(既存)FILENAME # 指定したファイルは既に存在しています。上書きしますか? (Y/N)
show/less file listコマンドを拡張して、外部メモリ内のファイル一覧を表示できるようにした。
○外部メモリ内のファイル一覧を表示する
LOCATION .... 'internal' or 'usb1:[DIR]' or 'sd1:[DIR]' |
all ......... 配下の全ディレクトリを対象にする |
file-only ... ファイル名のみを表示する |
TFTPで暗号化ファイルを扱う機能を追加した。
http://www.rtpro.yamaha.co.jp/RT/docs/tftp-encryption/index.html
LAN1のスイッチングハブで、VLANタグの有無によって最大フレーム長を自動で調整する機能を有効にした。
上記変更により、vlan 802.1qコマンド設定時にPHYをリセットしないようにした。
LANインタフェースのリンクアップ直後の送信を保留する機能を実装した。
○LANインタフェースのリンクアップ後の送信抑制時間の設定
ARPエントリ変更をログに残すことができるようにした。
show log | grep ARP: を実行することによって、過去のARPエントリ履歴を確認することができる。
○ARPエントリの変化をログに残すか否かの設定
SWITCH |
|
シリアル番号をネットボランチDNSのホスト名として登録できるコマンドを追加した。
○シリアル番号を使ったホスト名登録コマンドを実行
外部データベース参照型URLフィルタについて、特定拡張子を持つURLのカテゴリ確認を行うか否かを設定する機能を追加した。
http://www.rtpro.yamaha.co.jp/RT/docs/url-filter_ext_db/specified_extension.html
HTTPリビジョンアップを定期的に実行する機能を追加した。
HTTPリビジョンアップの実行は、http revision-up goコマンドにより行われるが、このコマンドはRev.8.03系以降のファームウェアではschedule atコマンドで定期的に実行することができないようになっている。schedule atコマンドでは、多数あるルータのリビジョンアップ試行の時間をばらつかせるなどの運用ができないため、制限されている。
そこで、schedule atコマンドの代わりに、定期的にHTTPリビジョンアップを試行することができるコマンドを追加した。
また、本機能でHTTPリビジョンアップを試行する際には以下のINFOレベルのSYSLOGを出力する。
[HTTP REVUP] http revision up started by schedule
○リビジョンアップ実行のスケジュール
PERIOD … |
ファームウェアのリビジョンアップを試みるスケジュールを設定する。以下の書き方が可能。
|
||||||
TIME1,TIME2 … | リビジョンアップを試みる時間帯を設定する。TIME1、TIME2は24時間制で、HH:MM形式で指定する。 |
PERIODではリビジョンアップを試みる間隔を指定する。毎日、毎週、毎月の指定をそれぞれ、daily、weekly、monthlyで指定する。weekly、monthlyの場合はそれぞれ曜日、日の指定が必要になる。
monthlyの場合で、指定した日がその月に存在しない場合には、その月にはリビジョンアップは試みられない。たとえば、'monthly 31'と指定した場合、31日が存在しない2月、4月、6月、9月、11月にはリビジョンアップは試みられない。
TIME1、TIME2ではリビジョンアップを試みる時間帯を設定する。TIME1で指定した時刻からTIME2で指定した時刻の間のランダムな時刻に1回だけ、リビジョンアップを試みる。そこでリビジョンアップできなかった場合には、次の日/週/月までリビジョンアップは行われない。
TIME1で指定した時刻がTIME2で指定した時刻より遅い場合には、TIME2は翌日の時刻と解釈される。
http revision-up permitコマンドでHTTPリビジョンアップを許可されていない時は、ファームウェアのリビジョンアップは行わない。
http revision-down permitコマンドでリビジョンダウンが許可されている場合は、WEBサーバにおいてあるファームウェアが現在のファームウェアよりも古いリビジョンであってもファームウェアの書き換えを行う。
なお、WEBサーバにおいてあるファームウェアが現在のファームウェアと同一リビジョンの場合には、ファームウェアの書き換えは行わない。
http revision-up schedule daily 23:00 02:00 # 毎日、23時から翌日2時までの間 http revision-up schedule weekly sun 12:00 13:00 # 日曜日の昼12時から13時までの間 http revision-up schedule monthly 1 23:00 0:00 # 毎月1日の23時から24時までの間
IPsecで、OpenswanをVPNクライアントとしてXAUTHで相互接続できるようにした。
OpenswanとヤマハルータをIPsecで相互接続しようとした場合、XAUTHを使わなければそのまま接続できるが、XAUTHを使用する場合には、Mode-Cfgの仕様の解釈の違いでうまく接続できない。そのため、ヤマハルータの側で、Openswanに接続できるよう動作を変更するコマンドを新設した。
○IKE XAUTH Mode-Cfgメソッドの設定
GATEWAY_ID | ... | セキュリティゲートウェイの識別子 |
METHOD | ... | set ... SETメソッド |
OPTION | ... | openswan ... Openswan互換モード |
OPTIONに'openswan'を指定した場合にはOpenswan互換モードとなり、Openswanと接続できるようになる。
モバイルインターネット機能で、NTTドコモ L-02Aとイー・モバイル D01HW、D02HW、D21HWに対応した。
http://www.rtpro.yamaha.co.jp/RT/docs/mobile-internet/index.html
モバイルインターネット機能で、累積監視警告機能を実装した。
http://www.rtpro.yamaha.co.jp/RT/docs/mobile-internet/index.html
モバイルインターネット機能で、携帯電話端末、データ通信端末の電波の受信レベルを取得できる機能を実装した。また、電波の受信レベルを指定した間隔で定期的に取得し、履歴を表示する機能を実装した。
http://www.rtpro.yamaha.co.jp/RT/docs/mobile-internet/signal-strength.html
半二重モードでリンクアップしているLANインタフェースにおいて、コリジョンの発生による再送が上限試行回数(16回)を超えて送信に失敗した場合、その数を show status lanN の「再送エラー」に計上するようにした。
NATディスクリプタのアドレスマップを表示する以下のコマンドとGUIの「NATの状態表示」画面において、動的IPマスカレードエントリを内側IPアドレスごとに集約して表示するようにした。大量にIPマスカレードエントリが存在する状態で同コマンドを実行すると、表示に時間がかかったり、通信に影響を及ぼすことがあったが、それらの問題が改善する。
また、この仕様変更に伴い、show nat descriptor addressコマンドにdetailオプションを新設し、detailオプションを指定することで従来の形式で表示できるようにした。
○動的NATディスクリプタのアドレスマップの表示
NAT_DESCRIPTOR |
|
DETAIL ... 動的IPマスカレードの全エントリを表示する。 |
外部データベース参照型URLフィルタについて次の修正を行った。
以下はネットスター専用。
モバイル接続の速度表示をしないようにした。
モバイル接続したときのログを変更した。
変更前: 2009/03/06 09:41:32: USB[1] Connected 7200000 bps 変更後: 2009/03/06 09:41:32: USB[1] Connected
また、show status ppでの速度表示をしないようにした。
DTE速度: 7200000 bps 下り最大速度: 7200000 bps
なお、RECVは受けた文字列そのまま表示しておくことにした。
2009/03/06 09:41:32: USB[1] RECV [CONNECT 7200000]
mobile typeコマンドを削除した。
usbhost modem flow control コマンドのデフォルト値をOFFに変更した。
GUIの[インターフェース]からPPP(ISDN)/PPPoE/PPP(専用線)インターフェースを追加するページで、「送信する認証の方式」の初期値を以下のように変更した。
変更前) ■PAP ■CHAP ■MSCHAP ■MSCHAPv2 変更後) ■PAP ■CHAP □MSCHAP □MSCHAPv2
以下の機能の実行結果に、コンソール系コマンド(文字コードやカラム数)の設定を反映させるようにした。saveコマンドを実行したときの設定が反映される。
従来は起動時の設定が反映されていたため、設定を変更しても表示内容は変わらなかった。
grepコマンドを実行したとき"Searching ..."と表示させるようにし、対象文字列の検索中に Ctrl+C を入力したら表示を中止できるようにした。
例) # show command | grep nat Searching ... clear nat descriptor dynamic: 動的なNAT情報を削除します ^C #
IPアドレスの設定またはIPv6アドレスの設定、IPv6プレフィックスの設定を行う以下のコマンドにおいて、それぞれの設定でIPアドレスが重複した場合は、エラーとするように変更した。
ただし、IPv6リンクローカルアドレスは重複して設定できる。
show status lanコマンドにIPアドレスを表示するようにした。
例) # show status lan1 LAN1 説明: IPアドレス: 192.168.1.1/24 IPアドレス(セカンダリ): 192.168.2.1/24 イーサネットアドレス: 00:a0:de:01:23:45 :
LANインタフェースにおけるQoS使用時のスループットを向上させた。
IPv6を使用したトンネルのスループットを改善した。
LAN1スイッチのMACアドレスエージング処理で、再ラーニングの有無に関わらずエントリが強制的に300秒で消去されるバグを修正した。
エントリを最後にラーニングしてから300〜600秒で消去するように動作を変更した。
LANインタフェースにおける送受信中にinterface reset lanNコマンドを実行すると、LANの送信機能または受信機能が停止することがあるバグを修正した。この問題は、リンク速度に対して100%の負荷がかかっているときに発生しやすい。
UDPパケットがノーマルパス経由でNAT/IPマスカレード変換されると、変換後のUDPチェックサムが0x0000になることがあるバグを修正した。UDPチェックサムの0x0000は「チェックサム無し」を表す特別な値なので、UDPチェックサムの計算結果が0x0000になった場合は0xFFFFに変換しなければならない。
長さが0にセットされているTCPオプションを受信したときに出力されるSYSLOG"Invalid TCP option length(0)" で、IPv6アドレスが正しく表示されないバグを修正した。
不正なTCPパケットを受信すると、パケットデータ外の不当領域を参照することがあるバグを修正した。
このバグにより、当該パケットを受信するとCPU利用率が不当に高くなることがあった。
接続先PPにフレームリレーが設定されているとき、そのPPに対してSNMPマネージャからSNMPGETコマンドでフレームリレーのインタフェース番号 (mib-2.transmission.frDlcmiTable.frDlcmiEntry.frDlcmiIfIndex) を取得すると、不当な値が返ってくるバグを修正した。
接続先PPにフレームリレーが設定されているとき、SNMPでフレームリレーのPVC状態確認手順の設定値(mib-2.transmission.frDlcmiTable.frDlcmiEntry.frDlcmiState)が取得できなかったり、取得できても不当な値が返ってくるバグを修正した。
また、frDlcmiEntryに対してSNMPWALKコマンドを実行しても、同原因によりfrDlcmiStateより前のオブジェクト(frDlcmiIfIndex)しか取得できていなかった。この問題も本修正により改善される。
フレームリレーが設定されているPPにおいて、次に示す条件のいずれかが該当する場合、SNMPでフレームリレー関連のオブジェクト(mib-2.transmission)が正しく取得できないバグを修正した。
(*) mib-2.interfaces.ifTable.ifEntry.ifIndexに示される全インタフェースの通し番号で128以上になるPPインタフェースが該当する。
また、mib-2テーブル全体に対してSNMPWALKコマンドを実行しても、上記条件に該当するPPが存在する場合はフレームリレー関連のオブジェクト(mib-2.transmission)の取得中にSNMPマネージャでエラーが発生してしまうため、transmissionより後のオブジェクトを取得することができなかった。この問題も本修正により改善される。
フレームリレー関連のMIBオブジェクト(mib-2.transmission)に対して、SNMPマネージャからSNMPGETNEXTやSNMPWALKコマンドが実行されたとき、QoSの設定がある場合でもQoSのクラスごとに設定されているMIBインタフェースを見せないようにした。
なお、フレームリレーの設定がない場合も、同オブジェクト(mib-2.transmission)に対してSNMPマネージャからSNMPGETNEXTやSNMPWALKコマンドが実行されたときは、応答する情報がないということを調べるために検索処理が発生する。いずれかのインタフェースにQoSの設定があるとMIBインタフェース数が増えることでこの検索処理にかかる時間が長くなり、ルーターから何らかの応答を返す前にSNMPマネージャでタイムアウトが発生してしまうことがあった。また、その結果、SNMPマネージャはコマンドの再送を繰り返すことがあり、その間ルータの負荷が上がったまま下がらないという問題も発生する可能性があった。この問題は本修正により改善される。
RIPで通知された経路が隠し経路 (hidden) としてルーティングテーブルに登録された場合、rip use offでRIPを停止してもその経路が削除されないバグを修正した。
静的経路やOSPF/BGPで学習した経路で、自分のLANインタフェース上にある別のホストをゲートウェイとする経路を、RIP2でそのLANインタフェースに広告できないバグを修正した。
このような経路は、RIP1ではスプリットホライズンの対象になり広告できないのが正しいが、RIP2では広告できなくてはいけない。
IPv6 RAプロキシ機能を使用しているとき、配下のホストへ通知するRA内のprefix informationの数が時間とともに増えていくバグを修正した。まったく同一のIPv6プレフィックスの数が増えていくというバグであり、上位ルーターからRAを受信する度にその数が増えていく可能性があった。
DHCPでアドレスをリース延長し続けるとメモリリークするバグを修正した。
クライアントからのメッセージにホストネームオプションがあった場合にメモリリークしていた。
PPインタフェースに複数のNATディスクリプタを適用してNAT/IPマスカレード機能を使用する場合、2番目以降のNATディスクリプタの外側IPアドレス(nat descriptor address outer)に"ipcp"を指定すると、そのNATディスクリプタを使用する通信のNAT変換が正しく行われないバグを修正した。
IPマスカレード機能において、内側IPアドレスのホストへパケットが到達不能な場合などには送信元ホストへICMPエラーを送信するが、このICMPエラーの数に応じて統計情報のNATエントリー数が増え続けていき、元に戻らなくなるバグを修正した。
IPマスカレードを使用しているときに下記に示す通信が発生した場合、その通信停止後もファストパスのフローテーブルに該当するフローが残り続けてしまうバグを修正した。
UPnPのAddPortMappingリクエストによりポートマッピングされているIPマスカレードエントリがあるとき、そのIPマスカレードエントリの外側ポート番号だけを変更するようなAddPortMappingリクエストを受信すると、IPマスカレードエントリの変更前に生成されたフローがフローテーブルに残り続けてしまったり、その古いフロー情報を参照し、受信パケットを不正にIPマスカレード変換してしまうことがあるバグを修正した。
UPnPのポートマッピング機能を使用してポートを開放している場合、そのポートを閉塞した後も統計情報のNATエントリ数が減算されないバグを修正した。
SIP-NAT機能において、NATのouterがprimaryに設定されている場合に、配下のVoIP機器が折り返し通話で無音になるバグを修正し、外側から内側へのSIPパケットについて、SDPのc=行のアドレス変換を追加した。
YMS-VPN1や他社製ルーターなど、ヤマハルーター以外の装置とIPsec接続する場合、アグレッシブモードの受け側としてヤマハルーターを設定すると、IPsec-SAのバイト寿命が尽きる直前にVPNがダウンすることがあるバグを修正した。なお、バイト寿命を設定していない装置との接続ではこの問題は該当しないが、YMS-VPN1との接続では必ずバイト寿命が設定されるため、この問題が該当する。
IPIPトンネルとsyslog hostコマンドにFQDNを設定したconfigで起動すると、起動が完了するまでに時間がかかり、起動が完了しても、TFTPが実行できなくなることがあるバグを修正した。
帯域検出機能で、検出が正しくできないことがあるバグを修正した。
対象インタフェースにspeed設定がされていない場合に、帯域を検出できず「Gives it up by the Limit speed counter」で終了することがあった。
帯域検出機能で、ロスや遅延により測定に使用するパケットの受信タイムアウトが発生し、帯域測定がエラー終了するとリブートすることがあるバグを修正した。
アグレッシブモードの受け側としてIPsecトンネルを構築しているとき、そのトンネル内で帯域検出機能、または、負荷通知機能を使用すると恒常的にメモリリークが発生し、やがてリブートに至るバグを修正した。
帯域検出のサーバ側で、クライアントからの測定用パケットの受信中に帯域検出機能の設定を変更するとメモリリークすることがあるバグを修正した。
SNMPで、atIfIndex、ipNetToMediaIfIndexの値が実際のインタフェースに関わらず常に1(LAN1)になるバグを修正した。
ログが溜った状態で電源スイッチをOFF/ONして再起動した後にshow logコマンドを実行すると、空行が表示されることがあるバグを修正した。
DOWNLOAD LEDがエラー点灯している状況で operation button function downloadコマンドの設定を変更した場合に、変更した機能に対する operation 〜 permitがoffになっていると、エラー点灯を解除できない状態に陥るバグを修正した。
operation button function download コマンドの設定を変更したときに、変更前に割り当てられていた処理が実行中だった場合にはその処理を中止、DOWNLOAD LEDがエラー点灯していた場合にはエラー点灯を解除するようにした。
DOWNLOADボタン+外部メモリボタンを押して外部メモリ内の設定ファイルをコピーするとき、ブザーの音が異音になることがあるバグを修正した。
過電流からの復旧時にUSBボタンを2回押すと給電されてしまうバグを修正した。
パワーオフログ機能で、ログ以外の内容も圧縮・解凍処理してしまうことがあるバグを修正した。
"##"から始まるコメント行のみを記述したconfigを、copy configコマンドで内蔵FlashROMに保存した後にshow config listコマンドを実行すると、コメントの最後の1字が表示されないことがあるバグを修正した。
内蔵FlashROM、または外部メモリ内の設定ファイルにsyslog host (FQDN)コマンドを設定し、外部メモリを挿して起動すると、以下のタイミングでハングアップしてしまうバグを修正した。
バッチファイルを実行したときのアラーム音が、alarm http revision-upコマンドの設定に合わせて動作してしまうバグを修正した。
バッチファイル実行時のアラーム音を鳴らすか否かを設定するためのコマンドを新設し、このコマンドの設定に合わせて動作するように修正した。
○バッチファイル実行機能に関連するアラーム音を鳴らすか否かの設定
SWITCH |
|
バッチファイル機能でファイル検索のタイムアウト時、キャンセル時、検索中の外部メモリdetach時に不要なログが出力されるバグを修正した。
外部メモリ内のファイル検索中に外部メモリを抜いても、検索が中止されず、検索処理が終わるまでに時間がかかってしまうバグを修正した。
検索が終了するまでの時間は、外部メモリ内のディレクトリ・ファイル構成に依存する。
外部メモリ内のファイル検索機能で、検索不要な外部メモリ内を検索してしまうことがあるバグを修正した。
外部メモリ関連のコマンドを連続して実行していると、外部メモリを認識しなくなったり、コンソールがハングアップしてしまう可能性があるバグを修正した。
show status usbhost modemコマンドで表示される、FCSエラー、送信数、受信数、発信回数、着信回数の値に、負数が表示されることがあるバグを修正した。
モバイルインターネット機能で、モバイル接続されたPP側アドレスへのPINGに対して応答を返さないバグを修正した。
モバイルインターネット接続で高負荷のときにUSB LEDが消灯したままになるバグを修正した。
高負荷時は1秒間に10回の点滅となるようにした。
GUIのIPsecの検証機能で、フィルタが検証対象に入っていないバグを修正した。
GUIにて、メール通知の設定がある状態でメール通知の設定のページをURL指定で開くとリブートするバグを修正した。
ブラウザから以下のURLにアクセスすると、リブートするバグを修正した。
統計情報の以下のページで、ログアウトのリンクが表示されないバグを修正した。
GUIでは対応していない機能に関するヘルプページが表示されるバグを修正した。URLを直接指定した場合に表示されていた。
GUIの[インターフェース]-[インターフェースの設定・状態表示]-[Ethernetインターフェース(LANn)の設定]ページから、LANインターフェースのIPアドレスを削除できないバグを修正した。
IPアドレス、ネットマスクの入力欄を空にして登録することで、LANインターフェースのIPアドレスを削除できるように修正した。
GUIの[保守]-[コマンドの入力]ページから以下のコマンドを実行できないバグを修正した。
ntpdateコマンドをスケジュール実行するコマンド(*)を設定した状態でGUIの[ハードウェア]-[時計の設定]の「設定」ボタンを押すと、リブートすることがあるバグを修正した。
console character/columns/linesコマンドの設定を変更後、restartコマンドを実行し、設定の変更を保存するか否かの問いに 'Y' を入力して再起動をすると、変更したはずの設定がconfigに保存されないバグを修正した。
dns hostコマンドで'any'以外の値を設定したとき、RT自身からの名前解決ができなくなるバグを修正した。
nslookupやドメイン名を指定したping、メール通知、ネットボランチDNSなどで名前解決に失敗する。
show ip connectionコマンドで動的フィルターの設定情報を表示したときに、インタフェースの一覧がソートされないバグを修正した。
schedule atコマンドに以下のコマンドを指定して、外部メモリ内のファイル検索を実行させると、実行中のschedule atコマンドのID番号以降のIDで、かつ、同じタイミングでスケジュール実行されるコマンドが実行されないバグを修正した。
show ipv6 addressコマンドで、disableになっているtunnelインタフェースの情報が表示されるバグを修正した。
tunnelを一旦enableにした後でdisableにするとこの現象が発生していた。
pp enable all、tunnel enable allコマンドを設定してもshow ipv6 addressコマンドでpp、tunnelの情報が表示されないバグを修正した。
以下のコマンドで、プロトコル番号に256以上の値を指定してもエラーにならないバグを修正した。
dhcp scopeコマンドについて、以下のバグを修正した。
dns server selectコマンドで、入力キーワードが不十分な状態で設定しようとすると、リブートすることがあるバグを修正した。
コマンド入力エラーになったとき、一部のエラー内容が間違っていたのを修正した。
PPPoE用のPPインタフェースに対してshow status ppコマンドを実行したとき、インタフェースの説明(descriptionコマンドの設定値)が表示されないバグを修正した。
ネットボランチDNS登録後のsaveログが不正な表示になることがあるバグを修正した。
execute at-commandコマンドの入力でリブートすることがあるバグを修正した。
show ipv6 mroute fibコマンドが実行できないバグを修正した。
no upnp port mapping timer コマンドを実行した場合、デフォルト値で動作するはずが172800で動作しているバグを修正した。
security class コマンドのコマンドヘルプをコマンドリファレンスの表記に合わせた。
また、show environmentの表示についても同様に修正した。
dns cache max entryコマンドのコマンドヘルプの誤記を修正した。
ipv6 INTERFACE secure filterコマンドのコマンドヘルプの誤記を修正した。
no nat descriptor timerコマンドのコマンドヘルプの誤記を修正した。
ip I/F igmp static コマンドのコマンドヘルプの誤記を修正した。
ipv6 I/F mld static コマンドのコマンドヘルプの誤記を修正した。
url filter external-database lookup specified extention listコマンドのコマンドヘルプ表示が間違っているバグを修正した。
url filter external-database lookup specified extensionコマンドのコマンドヘルプ表示が間違っているバグを修正した。
dhcp scope lease typeコマンドのコマンドヘルプの誤記を修正した。
no ethernet filter コマンドのコマンドヘルプの誤記を修正した。