[Amazon FSx for NetApp ONTAP] SMB暗号化とSMB署名の設定を両立できるか確認してみた
SMB署名とSMB暗号化の設定は両立できるのか
こんにちは、のんピ(@non____97)です。
皆さんはAmazon FSx for NetApp ONTAP(以降FSxN)で、SMB署名とSMB暗号化の設定は両立できるのかと気になったことはありますか? 私はあります。
SMB署名を有効化することでメッセージの改ざんを検知することができます。
SMB 署名とは、すべての SMB メッセージには、セッション キーと AES を使用して生成された署名が含まれていることを意味します。 SMB 署名では、SMB ヘッダーにメッセージ全体のハッシュを含む署名が追加されます。 転送中にメッセージが改ざんされた場合、改ざんされたメッセージのデータは署名のハッシュと一致しません。 ハッシュには、元の送信者と本来の受信者 ID も含まれます。 署名の不一致は、可能性のある不正行為をユーザーに警告し、リレー攻撃やスプーフィング攻撃から保護するのに役立ちます。
SMB署名が有効な状態で中間者攻撃を行おうとした場合のログは三井物産セキュアディレクションさんの以下記事が参考になります。
SMBの暗号化も有効化している場合はどうでしょうか。
SMBの暗号化を行う際には署名も行われる認識です。Amazon FSx for Windows File Serverのドキュメントですが、データの整合性についても検証すると記載されています。
SMB 暗号化は、暗号化アルゴリズムとして AES-128-GCM または AES-128-CCM (クライアントが SMB 3.1.1 をサポートしている場合は GCM バリアントが選択されます) を使用し、SMB Kerberos セッションキーを使用した署名によるデータ整合性も提供します。AES-128-GCM を使用すると、パフォーマンスが向上します。例えば、暗号化された SMB 接続を介して大きなファイルをコピーする場合のパフォーマンスが最大 2 倍向上します。
実際、FSxNでSMB署名とSMB暗号化の設定をどちらも有効化してみて、どのような挙動をするのか確認してみましょう。
いきなりまとめ
- SMB暗号化とSMB署名の設定を同時に有効にすることは可能
- ただし、SMB暗号化とSMB署名が設定上有効になっており、接続してくるセッションが暗号化された場合はセッション情報上では署名が行われていないように見える
- SMB暗号化を有効にしていると裏側で署名が行われる
- 使用する暗号化アルゴリズムが認証付き暗号のAES-128-GCMもしくはAES-128-CCMであるため
- Kerberos認証でもNTLM認証でも同じ動作
- SMB 3.1.1では事前認証の整合性によって、
Session Setup Response
およびTree Connect Request
、Tree Connect Response
のパケットは署名設定が無効でも署名される - SMB 3.0では暗号化有効化時にAES-128-CCMが使用される
- 明示的にSMB署名の有効化が必要なのは、SMB暗号化を有効にしていない場合
- SMB 3未満で接続してくるクライアントが存在するなど
SMB暗号化とSMB署名の関係性をドキュメントから確認してみる
もう少し、SMB暗号化とSMB署名の関係性をドキュメントから確認してみます。
以下Microsoft公式ドキュメントによると、SMBは暗号化時にデータの検証もしてくれるようです。
SMB 暗号化は Advanced Encryption Standard (AES)-GCM および CCM アルゴリズムを使用して、データを暗号化および復号化します。 また、AES-CMAC と AES-GMAC は SMB 署名の設定に関係なく、暗号化されたファイル共有に対してデータ整合性の検証 (署名) を行います。 暗号化しないで SMB 署名を有効にしたい場合は、引き続きそのようにできます。 詳細については、「信頼できる SMB 署名を構成する」を参照してください。
また、SMB暗号化はSMB署名と同等の改ざん防止機能を提供し、署名よりも暗号化が優先されるため、両方を要求する意味はないとも記載がありました。
SMB encryption has performance overhead and compatibility overhead, and you should balance that against SMB signing - which has better performance and tamper protection but no snooping protection – or against no use of encryption or signing at all, which has best performance but no security besides the connection authorization and pre-auth integrity protection. SMB encryption supersedes SMB signing and supplies the same level of tamper protection, meaning that if your SMC client requires signing, SMB encryption turns it off; there is no point requiring both because encryption wins.
SMB client encryption mandate now supported in Windows Insider - Microsoft Community Hub
ということで、SMB暗号化を有効化している環境においては、別途SMB署名の設定を有効化する必要がなさそうです。
実際に試してみる
SMB署名無効 × SMB暗号化無効 × SMB 3.1.1 × Kerberos認証
実際に試してみます。
まずはSMB署名無効 × SMB暗号化無効 × SMB 3.1.1 × Kerberos認証
の場合です。
SMBサーバー周りの設定は以下のとおりです。
::> set diag
Warning: These diagnostic commands are for use by NetApp personnel only.
Do you want to continue? {y|n}: y
::*> cifs options show
Vserver: svm
Client Session Timeout: 900
Copy Offload Enabled: true
Default Unix Group: -
Default Unix User: pcuser
Guest Unix User: -
Are Administrators mapped to 'root': true
Is Advanced Sparse File Support Enabled: true
Is Fsctl File Level Trim Enabled: true
Direct-Copy Copy Offload Enabled: false
Export Policies Enabled: false
Grant Unix Group Permissions to Others: false
Is Advertise DFS Enabled: false
Is Client Duplicate Session Detection Enabled: true
Is Client Version Reporting Enabled: true
Is DAC Enabled: false
Is Fake Open Support Enabled: true
Is Hide Dot Files Enabled: false
Is Large MTU Enabled: true
Is Local Auth Enabled: true
Is Local Users and Groups Enabled: true
Is Multichannel Enabled: false
Is NetBIOS over TCP (port 139) Enabled: true
Is NBNS over UDP (port 137) Enabled: false
Is Referral Enabled: false
Is Search Short Names Support Enabled: false
Is Trusted Domain Enumeration And Search Enabled: true
Is UNIX Extensions Enabled: false
Is Use Junction as Reparse Point Enabled: true
Maximum Length of Data Zeroed by One Operation: 32MB
Max Multiplex Count: 255
Max Connections per Multichannel Session: 32
Max LIFs per Multichannel Session: 256
Max Same User Session Per Connection: 2500
Max Same Tree Connect Per Session: 5000
Max Opens Same File Per Tree: 1000
Max Watches Set Per Tree: 500
Is Path Component Cache Enabled: true
Is Path Component Cache Symlink Resolution Enabled: true
Path Component Cache Maximum Entries: 100000
Path Component Cache Entry Expiration Time: 300000
Path Component Cache Symlink Expiration Time: 300000
Path Component Cache Maximum Session Token Size: 1000
NT ACLs on UNIX Security Style Volumes Enabled: true
Read Grants Exec: disabled
Read Only Delete: disabled
Reported File System Sector Size: 4096
Restrict Anonymous: no-enumeration
Shadowcopy Dir Depth: 5
Shadowcopy Enabled: true
SMB1 Enabled: false
Max Buffer Size for SMB1 Message: 65535
SMB2 Enabled: true
SMB3 Enabled: true
SMB3.1 Enabled: true
Map Null User to Windows User or Group: -
WINS Servers: -
Report Widelink as Reparse Point Versions: SMB1
Max Credits to Grant: 512
Set Modebits when NFSv4_acl are Inherited: false
Map SID to UID on Set Owner: true
Check Share Permission for NetShareEnumAll Request: false
::*> cifs security show
Vserver: svm
Kerberos Clock Skew: 5 minutes
Kerberos Ticket Age: 10 hours
Kerberos Renewal Age: 7 days
Kerberos KDC Timeout: 3 seconds
Is Signing Required: false
Is Password Complexity Required: true
Use start_tls for AD LDAP connection: false
(DEPRECATED)-Is AES Encryption Enabled: true
LM Compatibility Level: lm-ntlm-ntlmv2-krb
Is SMB Encryption Required: false
Client Session Security: none
(DEPRECATED)-SMB1 Enabled for DC Connections: false
SMB2 Enabled for DC Connections: system-default
LDAP Referral Enabled For AD LDAP connections: false
Use LDAPS for AD LDAP connection: false
Encryption is required for DC Connections: false
AES session key enabled for NetLogon channel: true
Try Channel Binding For AD LDAP Connections: true
Encryption Types Advertised to Kerberos:
aes-256, aes-128, rc4, des
::*> cifs security show -fields is-smb-encryption-required, is-signing-required
vserver is-signing-required is-smb-encryption-required
------- ------------------- --------------------------
svm false false
エクスプローラーでSMBファイル共有のパスである\\SMB-SERVER.corp.non-97.net\share
にアクセスします。
この時のセッションは以下のとおりです。
::*> cifs session show -instance
Vserver: svm
Node: FsxId0e64a4f5386f74c87-01
Session ID: 719450040472436798
Connection ID: 239866808
Incoming Data LIF IP Address: 10.0.8.246
Workstation IP Address: 10.0.0.139
Authentication Mechanism: Kerberos
User Authenticated as: domain-user
Windows User: CORP\Administrator
UNIX User: root
Open Shares: 1
Open Files: 0
Open Other: 0
Connected Time: 6s
Idle Time: 6s
Protocol Version: SMB3_1
Continuously Available: No
Is Session Signed: false
NetBIOS Name: -
SMB Encryption Status: unencrypted
Large MTU Enabled: true
Connection Count: 1
Active Shares: share
署名と暗号化のどちらも行われていないことが分かります。
SMB署名有効 × SMB暗号化有効 × SMB 3.1.1 × Kerberos認証
それでは、SMB署名とSMB暗号化をどちらも有効化します。
::*> cifs security modify -is-smb-encryption-required true -is-signing-required true
::*> cifs security show -fields is-smb-encryption-required, is-signing-required
vserver is-signing-required is-smb-encryption-required
------- ------------------- --------------------------
svm true true
この状態で再度エクスプローラーから\\SMB-SERVER.corp.non-97.net\share
にアクセスします。
セッションを確認します。
::*> cifs session show -instance
Vserver: svm
Node: FsxId0e64a4f5386f74c87-01
Session ID: 719450040472436799
Connection ID: 239866809
Incoming Data LIF IP Address: 10.0.8.246
Workstation IP Address: 10.0.0.139
Authentication Mechanism: Kerberos
User Authenticated as: domain-user
Windows User: CORP\Administrator
UNIX User: root
Open Shares: 1
Open Files: 0
Open Other: 0
Connected Time: 9s
Idle Time: 9s
Protocol Version: SMB3_1
Continuously Available: No
Is Session Signed: false
NetBIOS Name: -
SMB Encryption Status: encrypted
Large MTU Enabled: true
Connection Count: 1
Active Shares: share
すると、SMB暗号化はされていますが、SMB署名はされていないようです。
パケットキャプチャからもう少し様子を見てみましょう。
Negotiate Protocol Request
のパケットを確認すると、使用できる暗号化アルゴリズムSMB2_ENCRYPTION_CAPABILITIES
および、署名アルゴリズムSMB2_SIGNING_CAPABILITIES
を投げていました。それぞれの詳細は以下Microsoft公式ドキュメントをご覧ください。
レスポンスであるNegotiate Protocol Response
のパケットを確認しましょう。
SMB2_ENCRYPTION_CAPABILITIES
でAES-128-GCM
が返ってきていますね。一方SMB2_SIGNING_CAPABILITIES
は返ってきていません。
これはGCMが認証付き暗号であり、データの暗号化による機密性だけでなく、メッセージ認証による完全性の両方をカバーすることができるためです。つまり、敢えて個別に署名を行う必要はないという所以は使用する暗号化アルゴリズムでカバーできているためです。
実際にパケットを確認してみると、SMB2 Transform Header
のSignature
が0でない値となっており、署名自体はされていることが分かります。また、ペイロード自体は暗号化されており、詳細は確認できないことが分かります。
SMB2 NEGOTIATE Response
の詳細は以下Microsoft公式ドキュメントをご覧ください。
比較のため、SMB署名とSMB暗号化のどちらも行なっていない場合のパケットも確認します。
SMB2 Transform Header
のSignature
が0埋めされた文字列であり、ペイロードの詳細も確認できることが分かります。
なお、SMB 3.1.1の場合、Session Setup Response
およびTree Connect Request
、Tree Connect Response
のパケットは署名設定が無効でも署名されます。これはSMB3.1.1の仕様です。SMB 3.1.1では事前認証の整合性によって、SMBのセッション確立と認証メッセージを改ざんするman-in-the-middle攻撃からの保護が強化されています。詳細は以下資料および、Microsoft公式ドキュメントが参考になります。
抜粋 : SDC SMB 3.1.1
SMB署名有効 × SMB暗号化有効 × SMB 3.1.1 × NTLM認証
次にNTLM認証の場合を確認します。
エクスプローラーから\\10.0.8.246\share
でアクセスします。
セッションを確認します。
::*> cifs session show -instance
Vserver: svm
Node: FsxId0e64a4f5386f74c87-01
Session ID: 719450040472436809
Connection ID: 239866819
Incoming Data LIF IP Address: 10.0.8.246
Workstation IP Address: 10.0.0.139
Authentication Mechanism: NTLMv2
User Authenticated as: domain-user
Windows User: CORP\Administrator
UNIX User: root
Open Shares: 1
Open Files: 3
Open Other: 0
Connected Time: 41s
Idle Time: 30s
Protocol Version: SMB3_1
Continuously Available: No
Is Session Signed: false
NetBIOS Name: -
SMB Encryption Status: encrypted
Large MTU Enabled: true
Connection Count: 1
Active Shares: share
NTLMv2を使用していることが分かります。また、SMBの暗号化は行われ、署名はされていないようです。
この時のパケットを確認します。
確かに暗号化および署名されていることが分かります。
SMB署名有効 × SMB暗号化無効 × SMB 3.1.1 × Kerberos認証
次に、SMB署名は有効でSMB暗号化が無効な設定をしている場合を確認します。
設定変更をします。
::*> cifs security modify -is-smb-encryption-required false
::*> cifs security show -fields is-smb-encryption-required, is-signing-required
vserver is-signing-required is-smb-encryption-required
------- ------------------- --------------------------
svm true false
この状態でエクスプローラーから\\SMB-SERVER.corp.non-97.net\share
にアクセスします。
セッションを確認します。
::*> cifs session show -instance
Vserver: svm
Node: FsxId0e64a4f5386f74c87-01
Session ID: 719450040472436814
Connection ID: 239866824
Incoming Data LIF IP Address: 10.0.8.246
Workstation IP Address: 10.0.0.139
Authentication Mechanism: Kerberos
User Authenticated as: domain-user
Windows User: CORP\Administrator
UNIX User: root
Open Shares: 1
Open Files: 0
Open Other: 0
Connected Time: 4s
Idle Time: 4s
Protocol Version: SMB3_1
Continuously Available: No
Is Session Signed: true
NetBIOS Name: -
SMB Encryption Status: unencrypted
Large MTU Enabled: true
Connection Count: 1
Active Shares: share
暗号化はされていないですが、署名がされていることが分かります。
パケットを確認します。
確かに暗号化されていないですが、Session Setup Response
およびTree Connect Request
、Tree Connect Response
のパケット以外もSMB2 Transform Header
のSignature
が0でない値となっており、署名されていることが分かります。
SMB署名有効 × SMB暗号化無効 × SMB 3.1.1 × NTLM認証
次にNTLM認証の場合です。
エクスプローラーから\\10.0.8.246\share
でアクセスします。
セッションを確認します。
::*> cifs session show -instance
Vserver: svm
Node: FsxId0e64a4f5386f74c87-01
Session ID: 719450040472436815
Connection ID: 239866825
Incoming Data LIF IP Address: 10.0.8.246
Workstation IP Address: 10.0.0.139
Authentication Mechanism: NTLMv2
User Authenticated as: domain-user
Windows User: CORP\Administrator
UNIX User: root
Open Shares: 1
Open Files: 2
Open Other: 0
Connected Time: 24s
Idle Time: 5s
Protocol Version: SMB3_1
Continuously Available: No
Is Session Signed: true
NetBIOS Name: -
SMB Encryption Status: unencrypted
Large MTU Enabled: true
Connection Count: 1
Active Shares: share
Kerberos認証の場合と同様で暗号化は行われず、署名だけがされている状態のようです。
署名や暗号に係るパケットの様子はKerberos認証と同様で特記事項はありません。
他SMBバージョンの場合の挙動
SMB署名有効 × SMB暗号化有効 × SMB 3
他SMBバージョンの場合の挙動が気になったので確認します。
まずはSMB3の場合です。
SMB暗号化を有効化し、SMB 3.1を無効にします。
::*> cifs security modify -is-smb-encryption-required true
::*> cifs options modify -smb31-enabled false
Warning: Disabling the SMB 3.1 protocol will disconnect all SMB 3.1 clients.
Do you want to continue? {y|n}: y
::*> cifs options show -fields smb1-enabled, smb2-enabled, smb3-enabled, smb31-enabled, is-fake-open-enabled, is-large-mtu-enabled, copy-offload-enabled
vserver smb1-enabled smb2-enabled smb3-enabled smb31-enabled copy-offload-enabled is-fake-open-enabled is-large-mtu-enabled
------- ------------ ------------ ------------ ------------- -------------------- -------------------- --------------------
svm false true true false true true true
この状態でエクスプローラーから\\SMB-SERVER.corp.non-97.net\share
にアクセスします。
セッションは以下のとおりです。
::*> cifs session show -instance
Vserver: svm
Node: FsxId0e64a4f5386f74c87-01
Session ID: 719450040472436818
Connection ID: 239866828
Incoming Data LIF IP Address: 10.0.8.246
Workstation IP Address: 10.0.0.139
Authentication Mechanism: Kerberos
User Authenticated as: domain-user
Windows User: CORP\Administrator
UNIX User: root
Open Shares: 2
Open Files: 1
Open Other: 0
Connected Time: 8s
Idle Time: 7s
Protocol Version: SMB3
Continuously Available: No
Is Session Signed: false
NetBIOS Name: -
SMB Encryption Status: encrypted
Large MTU Enabled: true
Connection Count: 1
Active Shares: ipc$, share
SMB 3.1.1と同じく暗号化はされていますが、署名はされていないように見えますね。
パケットを見たところ、こちらもSMB3.1.1と同様暗号化はされ、裏側ではキチンと署名されていることが分かります。
なお、SMB 3.0の場合は暗号化で使用するアルゴリズムはSMB2_ENCRYPTION_CAPABILITIES
でネゴシエーションしません。Negotiate Protocol Request
のパケットを確認するとSMB2_ENCRYPTION_CAPABILITIES
が存在しないことが分かります。代わりにSMB2_GLOBAL_CAP_ENCRYPTION
が1
になっています。
使用される暗号化アルゴリズムは以下Microsoft公式ドキュメントのとおり、AES-128-CCM
です。
If Connection.Dialect belongs to the SMB 3.x dialect family and Connection.ClientCapabilities includes the SMB2_GLOBAL_CAP_ENCRYPTION bit, the server MUST encrypt the message before sending, if IsEncryptionSupported is TRUE and any of the following conditions are satisfied:
- If the message being sent is any response to a client request for which Request.IsEncrypted is TRUE.
- If Session.EncryptData is TRUE and the response being sent is not SMB2_NEGOTIATE or SMB2 SESSION_SETUP.
- If Session.EncryptData is FALSE, the response being sent is not SMB2_NEGOTIATE or SMB2 SESSION_SETUP or SMB2 TREE_CONNECT, and Share.EncryptData for the share associated with the TreeId in the SMB2 header of the response is TRUE.
The server MUST encrypt the message as specified in section 3.1.4.3, before sending it to the client.
The sender MUST encrypt the SMB2 message using Session.EncryptionKey. If Connection.Dialect is "3.1.1", then the cipher specified by Connection.CipherId is used. Otherwise, AES-128-CCM is used to encrypt, as specified in [RFC4309]. The sender MUST append the encrypted SMB2 message to the SMB2 TRANSFORM_HEADER and send it to the receiver.
SMB署名有効 × SMB暗号化有効 × SMB 2
次にSMB 2の場合です。
FSxN側でSMB 3を無効にします。
::*> cifs options modify -smb3-enabled false
Warning: Disabling the SMB 3.0 protocol will disconnect all SMB 3.0 and SMB 3.1 clients.
Do you want to continue? {y|n}: y
Warning: When SMB 3.0 was disabled, SMB encryption was also disabled for Vserver "svm". If you re-enable SMB 3.0 and want to enable SMB encryption, use the "vserver cifs security modify
-is-smb-encryption-required true -vserver svm" command.
When SMB 3.0 was disabled for Vserver "svm", the SMB 3.1 and copy offload and multichannel features were also disabled. If you re-enable SMB 3.0 and want to enable these features, specify
"-smb31-enabled true -copy-offload-enabled true -is-multichannel-enabled true" with "-smb3-enabled true".
::*> cifs options show -fields smb1-enabled, smb2-enabled, smb3-enabled, smb31-enabled, is-fake-open-enabled, is-large-mtu-enabled, copy-offload-enabled
vserver smb1-enabled smb2-enabled smb3-enabled smb31-enabled copy-offload-enabled is-fake-open-enabled is-large-mtu-enabled
------- ------------ ------------ ------------ ------------- -------------------- -------------------- --------------------
svm false true false false false true true
::*> cifs security show -fields is-smb-encryption-required, is-signing-required
vserver is-signing-required is-smb-encryption-required
------- ------------------- --------------------------
svm true false
はい、SMBの暗号化はSMB 3以降の機能なので、SMB 3を無効にしたタイミングで、SMBの暗号化も無効になりました。
SMB 3が無効な状態でSMBの暗号化を有効にすることはできません。
::*> cifs security modify -is-smb-encryption-required true
Error: command failed: Cannot enable SMB encryption because SMB 3.0 is disabled for Vserver "svm". Run (privilege: advanced) "vserver cifs options modify -smb3-enabled true -vserver svm" to enable the SMB
3.0 option.
この状態でエクスプローラーから\\SMB-SERVER.corp.non-97.net\share
にアクセスします。
セッションを見る限り署名はできていそうですね。
::*> cifs session show -instance
Vserver: svm
Node: FsxId0e64a4f5386f74c87-01
Session ID: 719450040472436821
Connection ID: 239866831
Incoming Data LIF IP Address: 10.0.8.246
Workstation IP Address: 10.0.0.139
Authentication Mechanism: Kerberos
User Authenticated as: domain-user
Windows User: CORP\Administrator
UNIX User: root
Open Shares: 1
Open Files: 0
Open Other: 0
Connected Time: 5s
Idle Time: 5s
Protocol Version: SMB2_1
Continuously Available: No
Is Session Signed: true
NetBIOS Name: -
SMB Encryption Status: unencrypted
Large MTU Enabled: true
Connection Count: 1
Active Shares: share
そのため、明示的にSMB署名の有効化が必要なのは、SMB 3未満で接続してくるクライアントが存在するなどがあり、SMB暗号化を有効にしていない(できない)場合と考えます。
SMB暗号化の強制化している場合はSMB署名を有効化しなくともよさそう
Amazon FSx for NetApp ONTAPにおいてSMB暗号化とSMB署名を両立できるか確認してみました。
結論、SMB暗号化の強制化している場合はSMB署名を有効化しなくともよさそうです。
とはいえ、有効にしても追加で署名されてオーバーヘッドが増えるわけでもないので、心配であれば明示的に署名設定を有効化する形でも良いとも考えています。
なお、SMB署名が有効な場合、署名されない場合と比較して少なからず負荷が増加します。注意しましょう。
SMB セッションで SMB 署名を使用すると、 Windows クライアントとのすべての SMB 通信でパフォーマンスが低下し、クライアントとサーバ( SMB サーバを含む SVM を実行しているクラスタ上のノード)の両方に影響します。
パフォーマンスへの影響は、 CPU 使用率の増加としてクライアントとサーバの両方に表示されますが、ネットワークトラフィックの量は変わりません。
パフォーマンスへの影響の程度は、実行している ONTAP 9 のバージョンによって異なります。ONTAP 9.7 以降では、新しい暗号化のオフロードアルゴリズムによって、署名済み SMB トラフィックのパフォーマンスが向上します。SMB 署名オフロードは、 SMB 署名が有効になっている場合にデフォルトで有効になります。
SMB 署名のパフォーマンスを向上させるには、 AES-NI オフロード機能が必要です。お使いのプラットフォームで AES-NI オフロードがサポートされていることを確認するには、 Hardware Universe ( HWU )を参照してください。
はるかに高速なGCMアルゴリズムをサポートするSMBバージョン3.11を使用できる場合は、さらにパフォーマンスが向上します。
ネットワーク、 ONTAP 9 のバージョン、 SMB のバージョン、および SVM の実装方法に応じて SMB 署名のパフォーマンスへの影響には幅があるため、影響の程度はご使用のネットワーク環境でのテストによってのみ検証可能です。
この記事が誰かの助けになれば幸いです。
以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!