MikroTik へ HTTPS で管理アクセス出来るように設定するには
RouterOS の管理はデフォルトで SSH や HTTP を利用出来ますが、HTTPS は無効になっています。よりセキュアに RouterOS へアクセス出来るよう、HTTPS を有効化してみます。WebUI と CLI のどちらでも設定出来ますが、今回は CLI から設定します。
前提条件 / 作業の流れ
今回は以下の環境で作業しました。
管理画面への HTTPS アクセスを有効化するのは、以下の流れで作業します。
- CA 証明書の発行
- 証明書の発行
- HTTPS を有効化し、証明書を紐付ける
デフォルトの状態
デフォルトで各サービスの状態は以下の通りです。4 番の HTTPS(www-ssl)が「X」であり、証明書が「none」になっているのが分かります。
| [admin@MikroTik] > /ip service print
Flags: X - disabled, I - invalid
# NAME PORT ADDRESS CERTIFICATE
0 telnet 23
1 ftp 21
2 www 80
3 ssh 22
4 X www-ssl 443 none
5 api 8728
6 winbox 8291
7 api-ssl 8729 none
|
CA 証明書の発行
まず、CA 証明書を作成します。WebUI から設定したい場合は System → Certificates に設定項目があります。
| /certificate add name=CERT-CA common-name=CERT-CA days-valid=3650 key-size=2048 key-usage=key-cert-sign,crl-sign
/certificate sign CERT-CA
|
これで証明書が発行されました。発行された CA 証明書を確認してみます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 | [admin@MikroTik] > /certificate print
Flags: K - private-key, D - dsa, L - crl, C - smart-card-key, A - authority,
I - issued, R - revoked, E - expired, T - trusted
# NAME CO.. SUBJECT-ALT-NAME FI..
0 K A T CERT-CA CE.. 0f..
[admin@MikroTik] > /certificate print detail
Flags: K - private-key, D - dsa, L - crl, C - smart-card-key, A - authority,
I - issued, R - revoked, E - expired, T - trusted
0 K A T name="CERT-CA" common-name="CERT-CA" key-size=2048 days-valid=3650
trusted=yes key-usage=key-cert-sign,crl-sign
serial-number="1836354471"
fingerprint="0faa227ca718f4ce4d8488c2749abfcffc8902e7e2b637f41b7e08
81e9f5a2c9"
invalid-before=nov/23/2015 01:32:46
invalid-after=nov/20/2025 01:32:46
|
証明書の発行
次は証明書を発行します。
| /certificate add name=CERT common-name=CERT days-valid=3650 key-size=2048
|
先に用意しておいた CA 証明書で、発行した証明書に署名します。
| /certificate sign ca=CERT-CA CERT
|
証明書の状態を確認してみます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 | [admin@MikroTik] > /certificate print
Flags: K - private-key, D - dsa, L - crl, C - smart-card-key, A - authority,
I - issued, R - revoked, E - expired, T - trusted
# NAME CO.. SUBJECT-ALT-NAME FI..
0 K A T CERT-CA CE.. 0f..
1 K A CERT CERT 3a..
[admin@MikroTik] > /certificate print detail
Flags: K - private-key, D - dsa, L - crl, C - smart-card-key, A - authority,
I - issued, R - revoked, E - expired, T - trusted
0 K A T name="CERT-CA" common-name="CERT-CA" key-size=2048 days-valid=3650
trusted=yes key-usage=key-cert-sign,crl-sign
serial-number="1836354471"
fingerprint="0faa227ca718f4ce4d8488c2749abfcffc8902e7e2b637f41b7e08
81e9f5a2c9"
invalid-before=nov/23/2015 01:32:46
invalid-after=nov/20/2025 01:32:46
1 K A name="CERT" common-name="CERT" key-size=2048 days-valid=3650
trusted=no key-usage=digital-signature,key-encipherment,data-
encipherment,key-cert-sign,crl-sign,tls-server,tls-client
ca=CERT-CA serial-number="1"
fingerprint="3ac6d520c426b1f2cc617b1f46772b74f96a611bd1d9dac161067b
32588d5e89"
invalid-before=nov/23/2015 01:39:01
invalid-after=nov/20/2025 01:39:01
|
後述の「HTTPS を有効化し、証明書を紐付ける」設定を行うと MikroTik の管理画面の HTTPS でアクセス出来ました。但し、公式ページによると証明書は Trusted フラグを yes にしておけ、という記載があります。そこで証明書の Trusted フラグを yes に設定しておきます。
| /certificate set 1 trusted=yes
|
Trusted フラグが設定されたことを確認しておきます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 | [admin@MikroTik] > /certificate print detail
Flags: K - private-key, D - dsa, L - crl, C - smart-card-key, A - authority,
I - issued, R - revoked, E - expired, T - trusted
0 K A T name="CERT-CA" common-name="CERT-CA" key-size=2048 days-valid=3650
trusted=yes key-usage=key-cert-sign,crl-sign
serial-number="1836354471"
fingerprint="0faa227ca718f4ce4d8488c2749abfcffc8902e7e2b637f41b7e08
81e9f5a2c9"
invalid-before=nov/23/2015 01:32:46
invalid-after=nov/20/2025 01:32:46
1 K A T name="CERT" common-name="CERT" key-size=2048 days-valid=3650
trusted=yes
key-usage=digital-signature,key-encipherment,data-encipherment,key-
cert-sign,crl-sign,tls-server,tls-client
ca=CERT-CA serial-number="1"
fingerprint="3ac6d520c426b1f2cc617b1f46772b74f96a611bd1d9dac161067b
32588d5e89"
invalid-before=nov/23/2015 01:39:01
invalid-after=nov/20/2025 01:39:01
|
HTTPS を有効化し、証明書を紐付ける
いよいよ作業も大詰めです。HTTPS を有効化し、証明書を紐付ける為に HTTPS(www-ssl)の番号を確認しておきます。下記の例では 4 番になっています。
| [admin@MikroTik] > /ip service print
Flags: X - disabled, I - invalid
# NAME PORT ADDRESS CERTIFICATE
0 telnet 23
1 ftp 21
2 www 80
3 ssh 22
4 X www-ssl 443 none
5 api 8728
6 winbox 8291
7 api-ssl 8729 none
|
HTTPS(www-ssl)の番号が確認出来たので、これを有効化し、証明書を紐付けます。
| /ip service set 4 certificate=CERT disabled=no
|
これで HTTPS が有効化され、証明書も紐付けられました。
| [admin@MikroTik] > /ip service print
Flags: X - disabled, I - invalid
# NAME PORT ADDRESS CERTIFICATE
0 telnet 23
1 ftp 21
2 www 80
3 ssh 22
4 www-ssl 443 CERT
5 api 8728
6 winbox 8291
7 api-ssl 8729 none
|
最後に、MikroTik に HTTPS でアクセスしてみます。自己証明書なので警告が表示されるはずですが(警告を無視すれば)WebUI が表示されたら設定完了です。