2022年10月15日
BUFFALO NAS(LS-WXL)のSMBv2化
備忘録のつもりですので、わかりずらいですがご容赦ください。
Windows10では基本的にSMBv1は対応していませんが、
コントロールパネル → プログラム → [プログラムと機能]Windows機能の有効化または無効化 →
→ [SMB 1.0/CIFSファイル共有のサポート]にチェック
で、SMBv1を使用できますが、脆弱性があるらしいので、NAS側をSMBv2で使えるようにしました
条件として
adminパスワード:password
NASのIPアドレス:192.168.0.5
ファームウェアヴァージョン:1.75
その他、ファイルpathは自分の環境で書いています。
参考HPはファームウェアヴァージョンが1.74だったりLS-QVLだったりしたので、ちょっとめんどくさいが、確認することが多いです。
NASは/etc/samba/smb.confを読み込んで起動しています、/etc/samba/smb.confの中にSMBv2対応が対応するような記述があれば、SMBv2対応として起動します。
/etc/samba/smb.confは起動するたびに/etc/init.d/smb.shを元に生成される。
(/etc/init.d/smb.sh の53~57行の[nas_configgen])
53 /usr/local/sbin/nas_configgen -c samba
54 if [ $? -ne 0 ]; then
55 echo "$0 configure fail"
56 exit 1
57 fi
/etc/init.d/smb.sh内に( max protocol = SMB2)【maxの前にあるスペースは意味があるらしい?】を追加記述すればイイらしい。
BuffaloのNASはSSH等で接続すれば、ファイルの記述変更ができるのらしいのですが、acp-commanderを使用すれば、SSH接続せずにファイルの記述変更ができます。
ただ、acp-commanderはjava?ですので、Javaが動く環境をPCに構築する必要があります。
また、acp-commanderがちゃんと動くためには、Windowsファイヤーウォールを一時的に切っておく必要があります。
①acp-commanderのダウンロードと配置
https://sourceforge.net/projects/linkstationwiki/files/acp_commander/ からacp_commander.jarをダウンロードし
C:\BUFFALO\acp_commander/acp_commander.jar に配置
(ほかにhttps://github.com/Stonie/acp-commanderからダウンロードできますが、バージョン0.6で、うまくいきませんでした)
②Javaダウンロード&インストール
https://www.oracle.com/jp/java/technologies/downloads/#jdk19-windows
インストーラで普通にインストール
ここで、インストールした場所(path)を(binフォルダ)、メモしておきます。
自分の環境では C:\Program Files\Java\jdk-19\bin
③JAVAはCUIで作業しますので、pathを通します
設定 → システム → [左側]詳細設定 → [右側]システムの詳細設定 →
→(システムのプロパティ)[詳細設定タブ]環境変数(N)… →
→(環境変数)〇〇のユーザー環境変数(U)内のPathをクリック → 編集 →
→(環境変数の編集)編集(E) → C:\Program Files\Java\jdk-19\bin を記入
④WindowsファイヤーウォールOFF
スタート → Windows システムツール →
→ コントロールパネル → システムとセキュリティ →
→ Windows Defender ファイアウォール →
→ 左メニューの「Windows Defender ファイアウォールの有効化または無効化」
→ Windows Defender ファイアウォールを無効にする(推奨されません) にチェック
⑤PowerShellを起動(非管理者)後、C:\BUFFALO\acp_commander/の階層に移動
cd C:\BUFFALO\acp_commander/
⑥追加記述前の確認(/etc/samba/smb.confと/etc/init.d/smb.sh)
java -jar acp_commander.jar -t 192.168.0.5 -ip 192.168.0.5 -pw password -c "cat /etc/samba/smb.conf"
返り値の先頭に[global]があることを確認する。
java -jar acp_commander.jar -t 192.168.0.5 -ip 192.168.0.5 -pw password -c "tail -n +53 /etc/init.d/smb.sh"
/usr/local/sbin/nas_configgen -c samba
if [ $? -ne 0 ]; then
echo "$0 configure fail"
exit 1
fi
があるか確認すること
⑦実際に書き込む&書き込めたか確認
書き込む
java -jar acp_commander.jar -t 192.168.0.5 -ip 192.168.0.5 -pw password -c "sed -i '57a \ sed -i \"1a \\ max protocol = SMB2\" \/etc\/samba\/smb.conf' /etc/init.d/smb.sh"
書き込み確認
java -jar acp_commander.jar -t 192.168.0.5 -ip 192.168.0.5 -pw password -c "tail -n +53 /etc/init.d/smb.sh"
58行目に sed -i " 1a \ max protocol = SMB2" /etc/samba/smb.conf があればOK
⑧SMBv2以降で動いているか確認
NAS再起動後にPowerShell(管理者権限)でGet-SmbConnection
ServerName ShareName UserName Credential Dialect NumOpens
---------- --------- -------- ---------- ------- --------
LS-WXLF20 Share 〇\〇e 〇\〇 2.0.2 6
この[2.0.2]を確認
⑨WindowsファイヤーウォールON(元に戻す)
スタート → Windows システムツール →
→ コントロールパネル → システムとセキュリティ →
→ Windows Defender ファイアウォール →
→ 左メニューの「Windows Defender ファイアウォールの有効化または無効化」
→ Windows Defender ファイアウォールを有効にする にチェック
⑩脆弱性不安を解除(Windows設定変更)
スタート → Windows システムツール →
→ コントロールパネル → プログラム →
→ Windows の機能の有効化または無効化 →
→ SMB 1.0/CIFSファイル共有のサポート のチェックを外す
この方法だと、LS-XHL、LS-CHL、LS-WXL、LS-WSXL、LS-SL、LS-AVL、LS-VL、LS-WVL、LS-XL、LS-YL、LS-WXBLで出来るらしい。
参考:http://blog.livedoor.jp/ese_admin/archives/52271107.html
参考:http://blog.livedoor.jp/ese_admin/archives/52277932.html
参考:http://chibiny.blog.fc2.com/blog-entry-66.html
参考:http://chibiny.blog.fc2.com/blog-entry-67.html
ブログ一覧 |
修理 | その他
Posted at
2022/10/15 21:05:54
今、あなたにおすすめ