treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

sambaサーバにパスワードなしでアクセスできない

sambaサーバにある共有フォルダを作成して欲しいという依頼を受けて作成したときの出来事をご報告です。
Windows10側の設定を要したという話でした。

共有フォルダ作成の依頼

あるとき、サーバにゲスト有効化した共有フォルダを一時的に作成して欲しい、という依頼を受けてsambaサーバを設定することになりました。

ゲスト…認証を伴わないアクセスを許可するための仕組みでguestというユーザが使われます。

ゲストアクセスとは、認証しない誰でもアクセス許可する、という趣旨の設定です。通信可能な誰でもアクセス出来るという場所はあまり好ましくなく、近年のOSではデフォルトで無効化されていることも多い設定になります。

と、まあ、この辺の話を飲み込んで貰った上で、ゲストアクセスが有効化された共有フォルダを作成することになりました。

注意事項

もちろんゲスト有効化についてのリスクは承知ですが、事情があって一時的にゲストアクセスを有効化したフォルダが必要になった、という感じです。

このため、今回の内容は実施時には注意する必要があります。不要なセキュリティのリスクを招くことがあります。

sambaサーバへ追記

/etc/samba/smb.confに以下を追記しました。

--------------------------------------------------------------
[test1]
    comment = TestFolder
    path = /home/share/test
    browsable = yes
    writable = yes
    guest ok = yes
    force create mode = 777
    force directory mode = 777
###test1###
--------------------------------------------------------------

具体的にゲストアクセス有効化が「guest ok = yes」の部分です。これが指定された共有へのアクセスはゲストが有効化されます。
あと、忘れがちですが、共有フォルダの実体フォルダ(ローカルディレクトリ)である</home/share/test>には「chmod 777 /home/share/test」と読み書き実行をフル許可しておきます。ゲストアクセスだから。

実際にアクセスするも…

さっそくゲストが有効であること確認するために、sambaサーバに登録されていないユーザID/パスワードでサインインしているWindows10からアクセスしてみました。
sambaサーバに未登録の認証情報を使ってアクセスできるなら、「誰でもアクセスできる」ということになるので、テストとしては十分かと思いました。

しかし、いざアクセスしてみると、


--------------------------------------------------------------
組織のセキュリティ ポリシーによって非認証のゲスト アクセスがブロックされているため、この共有フォルダーにアクセスできません。これらのポリシーは、ネットワーク上の安全でないデバイスや悪意のあるデバイスから PC を保護するのに役立ちます。
--------------------------------------------------------------

あれ?エラーになってしまいました。

エラーメッセージを読むと、Windows10ではもうゲストアクセスをさせないようになっているんですよね、と見て取れます。(そもそもゲストアクセスでアクセス可能なツーツーの共有資源には"悪意"を持って設置されている、ってことなんでしょうか。ハニーポットみたいな。

Windows10側で設定

サーバ側でゲストアクセスが許可されていても、クライアント側でアクセスさせないようになっているらしい、ということで、Windowsクライアント側も設定していきます。

「gpedit.msc」でローカルグループポリシーエディタ」を起動します。
起動後の画面で、「コンピュータの構成」⇒「管理用テンプレート」⇒「ネットワーク」⇒「Lanman ワークステーション」の順に開きます。
開くと、


こういう画面。画面中の
「安全でないゲスト ログオンを有効にする」
を選択して、この画面を開きます。


標準でこの状態になっているのを、


このように変更します。
変更後画面。


ゲストアクセスが有効化された共有資源にアクセスする場合、実際にアクセスするクライアント側(Windows10側)も、この状態でゲストアクセス(をすることを)有効化しておく必要がありました。

上記のようにグループポリシーエディタを設定したら、これを有効化するために、コマンド、

gpupdate /force

したり、OSの再起動をしたりして、実際に設定したグループポリシーを反映させます。

ポリシーが反映されたところで、ゲストアクセスが許可されたsambaサーバの共有フォルダにアクセスできるようになりました。

使用後の心配

ここまでで、ゲストアクセス有効化に必要な設定をクライアントとサーバ(共有フォルダ)の両方で実施し、無事ゲストアクセスができるようになったのですが、どちらかというと問題なのは、

「使わなくてよくなったゲストアクセスをきっちりと元通り(ゲストアクセスが拒否されるように)戻す」

というお片付け的な設定を忘れないようにしないといけないということです。長々とゲストアクセスを使われるというのもよくないですし、使い終わっているのに有効化されたゲストアクセスが放置されているというのもよくない状況です。

ただ、「使い終わりました」というのは人間にしか分からないので、どうやって使い終わったのか(=もう使わないのか)を検出するのが難しい。