主様 のすべての投稿

scpでIDとパスワードを自動入力させる方法(expect)。

expectを利用して、sshやscpにおけるIDとパスワードを自動入力させる方法は、いろいろなサイトで公開されています。

今回、この記事を記載した理由は「password:」で止まってしまう現象が発生しました。
多くのサイトで記載されている方法では、この「password:」で止まってしまう現象を回避出来なかったため、その方法を記載します。

実際に使用したコマンドは以下の通りです。

a.txtファイルを127.0.0.1のサーバ(今回は自分自身のサーバ)にあるuserというユーザの/home/userディレクトへコピーしています。

パスワードは「passwd」なのですが、その後ろに「\r」を追加することが肝でした。

これにたどり着くまでが長かった。。。(^^ゞ

でもこれで問題なく解決しました。

環境によって、この「\r」が必要ではない場合もあると思いますが、一応これも方法の一つと考えていただければ幸いです。

FortiGateでポートフォワーディング

セキュリティの観点から、ポートフォワーディングを行いたい時があります。
サーバ側でポートを変更する対策も考えられるところなのですが、イントラ環境ではデフォルトポートで、外部とはポートフォワーディングしたいという時があります。
そういう時は、ルータでポートフォワーディングすることもありますが、今回はUTM(FortiGate)側で対応を行います。

「ポリシー&オブジェクト」→「バーチャルIP」で、バーチャルIPを編集します。

「ポートフォワード」を有効にします。
「Externalサービスポート」に外部からアクセスするポート番号を指定します。
「ポートへマップ」にフォワードする先のポート番号を指定します。

deck.glをCentOSで動かしてみる。

はじめに

野暮用でビックデータを可視化することになってしまい、今迄はOpenLayersをゴリゴリっとしてたのですが、MVT使っても厳しかろうというところから、WebGL関連で可視化を目指すことにしました。

何にしようかと考えていたところ、UBER社が提供しているdeck.glが気になり、チョロッとお試しをdeck.glがベースとなっているkepler.glでやってみたところ、ええ感じで動くじゃないですか!

そんじゃあ、deck.glで実装決定!ということから、まずはdeck.glの環境構築に取りかかりました。

kepler.glについては、何かの機会にお話するとして(某ローカルコミュニティで発表予定)、今回はdeck.glの実装のみのお話を簡単に記録します。

対象サーバはWindowsじゃなく今回もCentOS 7です。
CentOS 8が2〜3日前に公開されたので、そこからCentOS 8で実相も考えたのですが、先の某ローカルコミュニティでの発表が来週に控えているので、既に稼働中のCentOS 7上で実装することにしました。

ちなみに、こんなこと書いていますが、実際にCentOS 7で実装してみて思ったのですが、CentOS 8で実装したとしても何も異る点は無いはずです。
理由は、実相はnode.js上で行うため、node.jsの実装方法自体が変わらない限り変更は無いということです。

参考にさせて頂いたサイトはこちらになります。

https://qiita.com/keijipoon/items/92d9551930fe52d6c90a

そろそろ、この手の記事をQiitaに書いた方が楽なんじゃないか?とか、そっちの方が見てもらえるんじゃないかとか思ってはいるのですが、趣味なんです(^^;

node.jsのインストール

node.jsのインストールは先日こちらの記事に記していますので、そのまんま実装しました。
と言うことで、参照してください。

node.jsを既にインストールされている方は、無視して次の作業を行ってください。

luma.glをインストール

コマンドライン上で以下のコマンドを実行します。

終わりです。

deck.glのインストール

こちらのサイトからダウンロードしてきます。

deck.glのインストールと言っても、取り敢えずダウンロードして、展開するだけです。

https://github.com/uber/deck.gl

適当なフォルダへ解凍します。

サンプルプログラムを動かしてみる。

なんか既にインストール終わっているみたいです。
サンプルプログラムを幾つか試しに動かしてみようと思ったのですが(2分程)、実際に動くのは参考にさせて頂いたサイトでも紹介されていたサンプルだけでした。

ということで、ほぼ同じ感じの内容ですが、以下のフォルダへ移動します。
(解凍したdeck.glの中にあります。)

後は、そのまんま実行するだけ。

終わりです。
環境さえ整っていれば、Windowsで実装するのと何も変わりませんでした。
という結果です。逆に、Linuxの方が楽じゃね?

node.jsをインストールすることから始めます。

今回は、node.jsをインストールすることが目的ではないのですが、この後に書く予定のdeck.glをインストールするために、node.jsをインストールする必要が生じたため、手順を踏んで記録に残すことにしました。

node.jsのリポジトリを登録する。

またしても、CentOS 7上に環境を構築します。
以下のサイトを開いて、最新版を確認します。

https://github.com/nodesource/distributions/tree/master/rpm

執筆時点では、setup_12.xが最新版でした。
最新版をインストールするため、以下のコマンドを実行します。

これで、基本的なインストールは完了です。

実は、過去にnode.jsをインストールしていたマシンだったので、こんなメッセージが表示されました。

「sudo yum remove -y nodejs npm」ということで、削除します。

その後の情報も確認しつつ、node.jsのパッケージをインストールします。

これで完了です。
バージョン確認を実施し、最新版のnode.jsがインストールされていることを確認しましょう。

無事インストールが完了しておりましたので、今回はここまでとなります。
続きは別途。。。

CentOS 8 リリース待ち→リリースされた2019-09-24(^^)

2019年5月7日にRHELがリリースされてからもうすぐ100日が経過しようとしている。

<2019-09-25追記>
現地時間9/24、CentOS 8がリリースされました!
これで使えるようになりますが…問題は、VirtualBoxでGUIを含む状態でインストールする場合には、問題があるようです。
以前(CentOS 7)から気にはなっていたのですが、基地の問題として残っているようです。
仮想マシンとして考えている方で条件が合致される場合は、他の仮想か技術を考えた方が良いかも知れませんね。

意味が違ったようですm(__)m
「Server With a GUI」/「サーバ(GUI)」を選択してインストールするとGUIが立ち上がらない障害がある様です。
詳しくは以下のサイトをご参照下さい。
https://wiki.centos.org/ja/Manuals/ReleaseNotes/CentOS8.1905#head-9ed7a1765d703716a543781d18c13e50868f0516

と言いつつ、読んでみてもよく解らなかったので調べてみることにしたら、こちらの記事が解り易かった。
https://qiita.com/edward999th/items/d199125dbb8286d91152

「ベース環境」の選択で「Server with a GUI」もしくは「サーバー(GUI)」を選択してインストールすると既知の問題に遭遇するらしい。
インストーラのバグか?という感じですが、原因までは調べていません。
「ワークステーション」を選択してインストールする分には問題が無いようなので、GUIを使いたい場合には別の選択肢を関g萎えた方が良さそうですね。

<2019-09-23追記>
なんか、明日(2019-09-24)にリリースされるそうです。
9月に入ってからのダタバタ劇はなんだったのか?踊らされていたのか?
とにかく、現地時間の明日にはリリースされるとのこと、期待して待ちましょう。

※2019-08-26 時点でまだリリースされていません。
※2019-09-15時点でまだリリースされていません。

※2019-09-23時点でまだリリースされていません。

<2019-09-15追記>2019年8月にリリースされたRHELに対応するため、CentOS 7.1909の更新準備が先行されているのですが、wikiを見てみると約1ヶ月くらい掛かるみたいです。10月以降にならないと開発は再開される見込みは無さそうですね。年内にリリースされるのかなぁ?

RHELのクローンとしては、CentOS/Scientific Linux/Oracle Linuxなどが知られているが、以前にCentOSよりリリースが早くて話題となったScientific Linuxは8以降のリリースを行わないとの表明が行われていますね。

単純な比較は難しいところですが、CentOSとOracle Linuxはクローンと言われているけど、Oracle Linuxは少し違いますよね。

Oracle Linux 8は7/18にリリースされました。
CentOSはまだ少し掛かりそうです。

進捗状況は以下のURLで公開されています。

https://wiki.centos.org/About/Building_8

もうカウントダウンですねw

8/15にボストン大学でDevConfが開催されるので、その頃にはRC版が出てくれそうな感じかな?
残念ながら発表はありませんでしたね(^^ゞ

9/10に動きがありました。
7.7がリリースされるそうです。そのため、8の開発が停止してしまいました。
もうすぐ!と思ったら、まだ先になりそうです。
首を長くして待ってます。

正式リリースが待ち遠しいですが、更にクラウド(VPSなど)で使えるようになるには、まだまだ時間が掛かりそうな雰囲気です。

リリースされたら、インストール方法などをまとめたいと思っています。

8/15時点では、Release Workを残すのみ!
最終段階か?と思いきや・・・

こんな感じで、まだ更新中だったりしています(^^ゞ
https://koji.mbox.centos.org/koji/index

UTC 2019-08-15 15:50頃

でも、ここまで来ると本当に「あと少し!」って感じですね。

早ければ明日にもリリースか?とか期待してしまいますが、土日は進捗が止まっているので、来週8/21辺りが最短リリースじゃないかな?と、期待してます(#^.^#)

さてさて、まだまだリリースされる感じがしない。
8/20から全く更新する気配すら感じられなくなりました。
オープンソースカンファレンスの影響だろうか?
ここまで来たら、来月中にはリリースされるでしょう。
CentOSのサイトでは、「いつリリースされるの?」というコメントが出ていたり、首を長くして待っている人がいらっしゃいますね。
もう、ほとんどの作業は済んでいるはずなので、最後の詰めがしっかりされて発表して頂ければと思います。
しばらく、期待して待ちましょう。


2019-09-10 According to this thread, work was stopped on CentOS 8 after upstream released 7.7. Since so many more users have CentOS 7.x in production, and no one has 8 yet, priority has been given to the 7.7 update… and once it is done, work will continue on 8.

https://wiki.centos.org/About/Building_8

9/10時点で7.7のリリース作業のため、8の作業が停止してしまいました。
ちょっと厳しいなぁ~
今月中のリリースはあるのか?

CentOS 7でPHPのアップデートがErrorになる

PHPがアップデートできない!

※この事例は、remiリポジトリを使用しています。またPHP71を対象としています。remiリポジトリを使っていない場合は参考にならないかも知れません。PHP71以外のバージョンでは適宜コマンドの指定を変えてください。ご注意ください!

CentOS 7.5-1804でyum updateを実施しようとしたら、アップデートが出来ませんでした。
手動でPHP以外のアップデートを済ませて再度確認を行った結果、以下のエラーが原因でした。

当然、–skip-brokenとかやる気は全く無いので、ググってみると同様の現象に見舞われている方を発見!
そのQAに書かれている内容を見て何となく方向性は判ったのだが、どうも気に掛かる。
やっぱり1個足りない気がする。。。。
危なっかしいので、万が一のことを想定しスナップショット(バックアップ)を取得してから以下の手順を順次実施した。

アップデート手順

まずは、障害を取り除く

まず最初にエラーメッセージ記載されているパッケージを以下のコマンドで削除する。

Dependencies ResolvedとDependencies Removedの項目にも書かれているが、phpMyAdminもトランザクションの影響で削除されている。
こういう時、yum -yオプションは避けた方が良いだろう。

必要なパッケージを再度インストールして更新する。

とりあえず、参考にしたサイトに記載されていた内容でインストールしてみた。その手順が以下になる。

やっぱり、phpMyAdminがインストールされていない!
phpMyAdminを明示的に入れる必要があるわけで、以下のコマンドでインストールを行う。

無事入りました!
ちなみに、こちらはremiを使ってPHP71の事例となっていますが、その他のバージョンに関しては適宜バージョン指定を変えてくださいね。

CentOS 7 メールサーバ構築

※本記事は執筆中であり、一部正確ではない部分があります。でも一応は動くはずです。

今更ですが、CentOS 7にメールサーバを構築します。
RHEL 8(RedHat Enterprise Linux 8)が公開されているのに、今更な感じは拭えませんが、多分、CentOS 8でも同じ感じで設定できるでしょう(^^;

インターネット上を散策すると、私を含めて色々な方がインストール方法をブログなどに掲載されていますが、簡単なインストール方法は分かるんだけど、実はファイアーウォールが無視されていたり。。。SELinuxを無効にするとか。。。それって良いの?という感じになったり、少し不安がよぎります。

そんなことがあって、自分に合った記事を見つけるのは意外と大変なんですよね。

ということで、この記事も私に合った記事になっていますので、参考にされる方はご自身の環境に合うか合わないかを判断した上で考えてみてください。

本記事では、メールサーバのインストールを何とか使えるレベルから少し踏み込んでセキュリティ対策も考えた状態までもって行こうと思っています。
それと合わせて、少しだけですけどデフォルトよりも少しパフォーマンスを上げてみようと思います。

こんなことやります。

まず最初に、本記事で紹介するメールサーバでは、postfixとdovecotを採用することにしました。
他のsendmailを使う方などは対象外になります。

以下の様な構成です。

サーバの種類概要パッケージ
SMTPサーバメール送信postfix
POPサーバメール受信dovecot

インストール前の準備

メールサーバを立ち上げようなんて考えている方はご存知とは思いますが、DNSの設定を行う必要があります。
ドメインを取得して、AレコードとMXレコードを設定してください。
まず、AレコードでグローバルIPアドレスとドメインを紐づけます。
次に、そのドメインとMXレコードを紐づけます。
サーバ本体とは別にファイアウォールを設置されている場合は、そちらの設定も忘れずに行います。

SMTPサーバ/postfix

SMTPサーバとしてpostfixをインストールします。

私の環境では、デフォルトでインストールが完了していました。
以下のコマンドでインストール状況を確認しましょう。

インストールされていない場合には、いつものようにyumでインストールします。
#CentOS 8ではyumがdnfへ変更されるんでしたね。

インストール自体はこれで終わりです。

postfixの設定

postfixの設定を行います。
/etc/postfix/main.cfを編集します。
編集項目のみを抜粋します。

スパム対策

スパム対策を行います。
まず、必要なパッケージをインストールします。

spamassassinを利用したスパム対策では、procmailを使用します。
postfixの設定を変更します。
/etc/postfix/main.cf の下記の内容を有効にします。

/etc/procmailrcを作成し、以下の様に編集します。

通常は、この後にfirewall-cmdでsmtpを有効にしいます。

ここまでは簡単な設定です。
SMTPサーバを外部の方が使われないのであれば良いのですが、SMTPサーバを勝手に外部の人が使うケースがあります。
そうならない為に、スパム対策が色々とあります。
そこまでの内容をここで記載するには、時間が掛かるので、今回はここまでにします。
会社などで外部からSMTPサーバへアクセス出来ないようなにしている場合にはこの程度で十分ではないかと思います。
社外からSMTPサーバを使えるようにすると、関係のない人もSMTPサーバを利用出来てしまいます。
インターネット上の公開サーバなども同じです。
その場合には、スパムホスト対策やSMTP-AUTHやCRAM-MD5認証など対策を行う必要があるでしょう。
詳しくは、別の機会に投稿したいと思います。
私の環境では、firewallでSMTPを閉じてしまいました。
外部からSMTPのサービスを使用できなくするだけでOKです。

POPサーバ/dovecot

POPサーバにはdovecotを利用します。
dovecotが入っていない場合には、以下のコマンドでインストールします。

dovecotの設定

dovecotの設定を行います。
まず、/etc/dovecot/conf.d/10-mail.confを編集します。
SSL用のpop3sも有効にしていますが、使わなければコメントアウトしておきます。

firewallの設定を行います。

サービスを起動

サービスを起動します。

mailx コマンドによる動作確認

mailxコマンドを用いて動作確認を行います。
まずは、mailxをインストールします。

mailxコマンドを実行します。

dateコマンドで日時を出力し、その結果をメールのタイトルとして送信します。
-rで送信元のメールアドレスを指定し、一番最後に送信先を指定します。

実際に受信をしてみるとわかりますが、送信してから受信完了するまでに時間が掛かる場合があります。

失敗すると、次に再送を行うまでに3分程時間を要する設定にデフォルトではなっています。

ちょっとだけチューニング

ほんの少しだけチューニングします。
/etc/postfix/main.cfの最後に以下を追加します。

詳しくは別途調べてみてください。
少し改善されていると思います。

Vulsによる脆弱性の検査

はじめに

今回はVulsを用いた脆弱性の検査を行う。
対象とするシステムはCentOS 7とする。
また、本サイトは個人運営のため、メンテナンスが不十分であり対象パッケージのアップデートに追従できていないことに注意!

流れは以下の通り。

  • Vulsインストールの下準備
  • 脆弱性情報の準備
  • Vulsによる脆弱性の検査
  • 可視化

以上について順を追って記載する。
オフィシャルなインストール方法は以下のURLに示されており、参考にしている。
https://vuls.io/docs/en/install-manually-centos.html

Vulsインストールの下準備

実行ユーザの作成

Vulsを実行するユーザの作成を行う。

sudoを許可するためにvisudoでユーザに許可をします。

セキュリティ確保の為、不要なユーザによるsudoを許可したくない場合には、作業終了後に上記の内容を削除する。
※継続的なモニタリングを行う場合には、残しておく必要あり。

ログ格納用ディレクトリの作成

vulsのログを格納するディレクトリを作成する。

go環境のインストール

以下のサイトからパッケージをダウンロードする。

https://golang.org/dl/

本資料作成時点における最新バージョンは1.12でしたので、以下のコマンドを実行し解凍する。

goの環境変数を設定する。
/etc/profile.d/goenv.shを新たに作成する。

ここでvulsの実行ユーザでgo環境の確認を行う。

環境変数を読み込む。

バージョンが正しく表示されていれば、goのインストールは成功している。

脆弱性情報の準備

NIST(アメリカ国立標準技術研究所)が提供するNVDと、IPA(情報処理推進機構)が提供するJVNから脆弱性情報を取得する。

gitのサイトを覗いてみると、どうも日本人の方がまとめてくれているみたいですね。感謝!

今度は、Linuxのディストリビュータが提供されているOVALも取得する。

各データベースを構築する。

NVDのデータベースを構築する。
相当古い情報から取得するので、時間は結構かかる。
オフィシャルのインストールマニュアルには、AWSで10分程度となっていたが、1〜2時間程度は覚悟した方が良さそう(^^;
出力さているログを見ていると、西暦が記されたファイルがちらほら見受けられるので、進捗状況が分かると思う。

JVNのデータベースを構築する。

こちらは更に古くて1998年以降のデータベースになる。
オフィシャルのインストールマニュアルには、こちらもAWSで10分程度とされているが、実際どれだけかかるのか。。。
2005年のデータまでは比較的速やかに登録が進むのだが、2006年くらいからいきなり重くなる(^^;
日本では2006年くらいから本気で取り組みを始めたということなのだろうか?(笑)

OVALのデータベースを構築する。

ここからはある意味でオプションデータベースみたいな感じもするけど、オフィシャルマニュアルに記載があるので、合わせて登録する。

gostのデータベースを構築する。
これまでよりは少し短い時間で構築できるが、それも10分程度は覚悟。
ディストリビューたから脆弱性に関するパッチが提供されていないものを検出出来るとのこと。

Exploitのデータベースを構築する。
エクスプロイトコードを表示出来るExploit DBがVuls 0.6.0から提供されているので、それを使いたい場合に追加する。ここもオフィシャルマニュアルの丸コピ


Vulsのインストール

データベースの準備が整い、これからVulsのインストールを行う。
ここは、オフィシャルマニュアルを丸コピ!
※Vulsを再インストールするとかアップデートする際には、ここでインストールするソースを含めた生成物を削除する必要があるらしい。方法については後述する「Vulsのアップデート」に記したが、オフィシャルマニュアルも合わせて確認すること。

Vulsの設定ファイルを作成する。

設定ファイルの確認を以下のコマンドで行う。

エラーが表示されなければ完了である。

Vulsによる脆弱性の検査

ローカルスキャンの方法を記載する。
ローカルスキャン以外にもリモートスキャンを行う方法等も準備されているので、必要に応じてセットアップなどを行ってやってみるのも良いかと思う。
ローカルスキャンのコマンドは至ってシンプルで以下のコマンドで実施する。

Vulsのアップデート(新規インストール時は不要)

Vulsをアップデートする時は、実行モジュールとソースを全削除してから行うらしい。
ということで、ここで記載する内容は、Vulsをアップデートする際に行う事前作業であり、新規インストール時には必要ない。

スキャン結果の確認

スキャン結果を確認してみる。
困ったことに、-format-short-textオプションが使えなくなっているみたい。
オフィシャルマニュアルにはまだその記載があるのだが、諦めて他の出力結果を試してみる。

デフォルトの出力結果を出してみた。
コマンドは以下の通り。

ちなみに、この時点で-lang=jaは全く意味が無かった(笑)
日本語が出てくれることを期待しただが。。。結果は以下の通り

Total: 200 (High:49 Medium:133 Low:18 ?:0),
全体で200の脆弱性を確認している。
各レベルに対応した数値が提示されている。

199/200 Fixed
200件中199件でアップデートパッケージが提供されている。

後の説明は省略。。。。

表は、それぞれの脆弱性に関するレポートが示される。

TUI形式で表示することも可能。

終了は、Ctrl+Cで行う。

VulsRepoを用いた解析方法などもあるようだが、今回はここまで。

WebAssembly 事始め

WebAssemblyのインストール

WebAssemblyを導入してみようと思い立ち、取り敢えずググること数時間。
WebAssemblyって面白そう!ということで、その辺に転がっていたCentOS 7に取り敢えずインストールして試してみようかな?と言うことでやってみた。

よく解らないながら、node.jsを入れておくと良さそうなので、インストールしておく。

他にも入ってるかも知れないけど、gccとか既に入っていたので無視!
確認のために必要なWebサーバについても、Apacheがインストールされているので、こちらも無視。
まあ、何かあったらエラー出てくるだろう?ということで。。。

適当なディレクトリを作成して、gitでクローンを作るところから始まる。

よくわかんないけど、こんな感じでおまじないを入れる。

最初はそこそこ時間掛かるみたいです。
終わったら、サンプルプログラムを動かしてみようと思います。

サンプルプログラムと実行

サンプルプログラムと言っても、単なるHell Worldですが。。。(^^ゞ

ここではC言語なのに、敢えてsample.cppとして作りました。
コンパイルしてみます。

忘れていました。emsdkを構築したディレクトリで以下のコマンドを実行して、環境設定を行います。

このままだと毎回上記のコマンドを実行する必要が生じますので、ログイン時に設定する様にした方が良いですね。(割愛しますが。。。)

コンパイルします。

.jsだけ作る場合は、以下のコマンドになります。

# emcc -o sample.js

確認方法は2通りあります。
node.jsで動作確認する場合は以下のコマンドで確認出来ます。

# node sample.js

Webサーバで確認する場合は、.jsと.wasmと.htmlを/var/www/html以下の適当なディレクトリへ保存します。
あとは、ブラウザでアクセスしてみてください。

こんな感じ

こんな感じの画面が出たら成功です!

どのファイルがWebサーバに必要なのか解らなかったのですが、結局全部欲しいらしいw
これだけだと、単なるリソースの無駄遣いプログラムを作っただけなのでは。。。?
はい、そうですw

Qtが連携出来そうなので、Qtと連携してみようと思います。

仮想OSでインストールしたWindows 10がLAN上のNASに繋がらない時の対応

概要

VirtualBoxでWindowsをインストールした時に、LAN上のNASが接続出来ない状況が発生しました。
その対処についてまとめます。

最終的な結果として、プレインストールのWindows PCで同現象が発生していないことから、Windowsをメディア等からインストールした時に発生する現象であると思われます。
私の環境では、Windows 10で現象が確認されましたが、Windows Server 2016でも同現象が発生するもとの思われます。
その他Windowsの各バージョンにおいて発生した場合でも参考になるかも知れません。

Windows からNASに接続出来ない場合の対処法として記録します。

具体的な現象

VirtualBoxでWindows 10の環境を構築しました。
VirtualBoxでLAN上のネットワークに接続する方法は他にもありますが、ブリッジ接続を選択しました。
プライベートネットワークとして接続しています。

この状態で、通常のプレインストールされたWindows PCであれば、特に気にすることなく接続出来ると思うのですが、新規にインストールしたWindowsからは見えませんでした。

対策内容

幾つかの対策を行いました。
それぞれ順を追って説明しますが、以下に一覧を記します。

VirtulaBoxにおけるネットワークの設定

WindowsをVirtualBoxで仮想OSとして構築した場合について記載します。
ホストOS(Physical OS)の場合は、この項目の内容を飛ばして、次の設定に進んでください。

Windows側のネットワークの設定

Windowsのネットワーク設定がパブリックになっている可能性があります。
当初、私の環境ではパブリックになっていたのでプライベートに変更しました。設定は以下の手順です。

「ネットワークとインターネットの設定」を開きます。

画面右下のネットワークアイコンを右クリックすると以下のポップアップが表示されます

「ネットワークとインターネットの設定を開く」を選択します。

赤枠で囲んだイーサネットのアダプタをクリックします。

「パブリック」になっていたら、「プライベート」に変更してください。

ネットワークと共有センターの設定

ネットワークと共有センターの設定は、一つ前の画面にある「ネットワークと共有センター」を選択すると移動が楽です。

左メニューの「共有の詳細設定の変更」を選択します。

「ネットワーク探索を有効にする」を設定してください。

ワークグループの設定

「コントロールパネル」→「システム」を開きます。

「設定の変更」を開きます。

「変更(C)」で開かれるダイアログで、ワークグループを適切に設定してください。

ここまで来ると、エクスプローラで「ネットワーク」を選択すると、対象となるNASの名前が表示されたりします。
表示されない場合もありますので、あまり深く考えないで次へ進みましょう。

レジストリの設定

最大の難関はここでした!

「regedit」を起動します。
次に、以下のレジストリを探します。

「AllowInsecureGuestAuth」の項目を確認し、「1」をセットします。

再起動を行うことをお勧めしますが、私の場合は再起動なしでもNASへアクセス出来る様になりました。

ただ、このレジストリが見つからない場合もあります。
環境に依存している可能性もあり、判断が難しいところですが、新規に作ってしまうという手もあるのか?ご自身の責任で試してください。
レジスタを追加するのは、最後の手段にしておく方が良いでしょう。
保証も何もありません。

最後に

この現象はWindowsのアップデート後に発生している方も多い様です。
SMB絡みの不具合でもあると思いますが、MS社からすれば仕様なのかな?
そもそもWindows自体が安定性に乏しいということなのでしょう。
この問題は、Windows Server 2016でも報告されているので、アップデートの際にきちんとしてくれるとかないのかねぇ?MS社は無駄な労力をこういうところで強いるので、サポートをもっと手厚くしてほしいですね。

これがWindowsカテゴリ最初の投稿になるとは・・・w