YAMAHAルータでワンタイムパスワードを設定してみた

2020/11/24 YAMAHA, 技術系 投稿者:

はじめまして、ネットワーク事業部の渡邉です。
最近は働き方改革や新しい生活様式の一環として、テレワークを実施している企業が増えています。
そのようにテレワークを行う際は、リモートVPNを利用して社内ネットワークに接続するという手法があります。
しかし、その際にはセキュリティに十分気を配りたいところです。
そこで今回は、YAMAHAのルータのLuaスクリプト機能を利用したL2TP/IPsecのワンタイムパスワードの設定についてご紹介します。

ルータの設定

今回はYAMAHAのRTX830を使用します。
前提として、ルータにはPPPoE接続とL2TP/IPsecの設定が既にされているものとします。
L2TP/IPsecの設定についてはこちらの記事を参考にしてください。
下記は今回使用するルータの設定例です。

Luaスクリプト

LuaスクリプトはYAMAHAが公開しているものを使用します。
基本的にはそのまま使用できますが、設定値の部分は編集が必要です。

YAMAHA設定例より

Luaスクリプトの動作

今回のLuaスクリプトを実行すると、次のような実行結果になります。

  1. スクリプトに設定されたPPPユーザのパスワードが変更される
  2. 変更後のパスワードを通知するメールが、ユーザ毎に設定した送信先に送られる

また、Luaスクリプトの実行はルータのスケジュール機能を利用する形です。
例えば毎日12時にスクリプトを実行するスケジュールを設定した場合、毎日12時にパスワードが変更されるので、当日12時から翌日の12時までが有効期限のパスワードが発行されるということになります。

「ワンタイムパスワード」というと、「1度きりのパスワード」というイメージを持つかもしれませんが、今回のスクリプトで発行されるパスワードは、次にパスワードが発行されるまでの間はずっと使い続けることになります。

もしかすると、厳密には「ワンタイムパスワード」ではないかもしれませんが、YAMAHAがワンタイムパスワードと言っているので気にしないことにします。

一応、スクリプトの実行スケジュールを1分毎などにすることでワンタイムパスワードらしくなりますが、パスワードの通知がメールである都合上、大量のメールを受け取ることになるのでよく検討しましょう。

設定手順

スクリプトの編集

それでは具体的に設定を進めていきましょう。
まずは上記のLuaスクリプトを編集していきます。
例として下記の内容で設定していきます。

  • PPPユーザ名1:taro
  • PPPユーザ名2:jiro
  • SMTPサーバ:mail.example.jp
  • 送信元アドレス:vpn@example.jp
  • 送信先アドレス1:taro@example.jp
  • 送信先アドレス2:jiro@example.jp

ユーザ情報の部分は下記のようになります。

 

ユーザを追加する場合は次のようにカンマ区切りで追加します。
ここは各々の環境に合わせて、必要な分だけ追加してください。
今回は2名分なので、下記のように設定します。

 

ちなみに、YAMAHAが公開しているスクリプトそのままだと認証情報がないので、SMTP認証を使用する場合は下記のようにします。

 

ワンタイムパスワードの文字数とログについては次のように設定します。
なお、log_levelをdebugなどにした場合、ログを出力させるためにはdebug logをonにする必要があるので、今回はinfoにしておきます。

 

これでスクリプトの編集はOKです。
作成したスクリプトファイルはTFTPでルータに転送します。

スクリプトファイルをルータに転送

スクリプトファイルを作成したら、外部メモリに保存してルータに接続しておくか、ルータの内蔵メモリにファイルを保存する必要があります。
今回はルータの内蔵メモリを使用する形で設定していきます。
なお、スクリプトファイルはクライアントPCのCドライブ直下に「onetime.lua」として作成されているものとし、ルータ側に作成したディレクトリ「dir1」に保存するものとします。

ルータ側でTFTPを許可します。

 

ファイル格納用にディレクトリを作成しておきます。

 

クライアントPCからファイルを転送します。

 

転送ができたらTFTPの許可設定は削除しておきます。

 

ここまでできたら、あとはルータのスケジュール機能でスクリプトを定期的に実行させればOKです。

 

これで毎日12時にスクリプトが実行され、パスワードの変更と通知が行われます。
ちなみに、VPNの接続中にパスワード変更が実行されても、一旦セッションが切れるまでは接続が途切れることはありません。

ワンタイムパスワードを個別に発行

今回のワンタイムパスワードのスクリプトですが、基本的にはルータに設定されているユーザの数だけ「user_tbl」の部分を追記して使うことになるかと思います。
当然ですが、同じスクリプトに設定されているユーザは同じタイミングでパスワードが変更されます。
しかし、ユーザ毎に別々にスクリプトを用意して、違うスケジュールで実行させることで、ユーザ毎にパスワード変更のタイミングをずらすという使い方ができます。
また、スクリプトで設定されていないユーザのパスワードは変更されないため、これを利用して特定のユーザのパスワードだけ固定しておくということも可能です。

まとめ

今回はYAMAHAルータのLuaスクリプト機能を使用したL2TP/IPsecのワンタイムパスワードの設定についてご紹介しました。
パスワードは定期的に変更することが望ましいですが、ユーザ数が多かったりすると手動で変更するのは手間だと思います。しかし、今回のスクリプトを利用すれば、最初の設定の手間だけで済むので便利な機能と言えるのではないでしょうか。
ただし、パスワードの変更頻度があまり高いと不便になる部分もあるので、週一、月一などで変更されるように設定すると良いかなと思います。

ちなみに、Luaスクリプトについては以前の記事でもいくつか紹介されていますので、興味のある方はぜひご覧ください。

カレンダー

    123
45678910
11121314151617
18192021222324
25262728293031
       
   1234
567891011
12131415161718
19202122232425
26272829   
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
  12345
6789101112
13141516171819
20212223242526
2728     
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
1234567
891011121314
15161718192021
22232425262728
       
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
     12
3456789
10111213141516
17181920212223
24252627282930
31      
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
     12
3456789
10111213141516
17181920212223
242526272829 
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
    123
45678910
11121314151617
18192021222324
25262728   
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
   1234
567891011
12131415161718
19202122232425
262728    
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728     
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
1234567
891011121314
15161718192021
22232425262728
29      
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
      1
2345678
9101112131415
16171819202122
232425262728 
       
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
2425262728  
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
U・Iターン転職しませんか?
群馬データセンター
群馬の法人ITサポートサービス Wide Net[ワイドネット]
Wide Netのクラウドバックアップ
クラウド型ファイル共有サービスRushDrive
ワイドオフィス