PrintNightmareめんどくせえ…
Print Nightmare(CVE-2021-34527)、修正プログラムがまだ出ておらず、Workaroundだけが出てる状態だけど(2021年7月7日 1:26時点)、この2つあるWorkaroundのうちの1つが一見面倒に見えて、1つがお手軽だけどいろいろと大変なことになる、という話し。
追記:修正公開されたようです(2021年7月7日 10:00時点の情報)。が、こんだけ迅速だと地雷埋まってないか心配。
Workaround自体は、以下のページに記述されている。
Workaroundは2つ。Print Spoolerサービスを停止するか、ローカルポリシーを変更するか~Print Spoolerサービス停止は大いなる罠~
Print Spoolerサービスの停止はものすごい罠で、「Print Spoolerサービスを停止する=ローカルにつながってるプリンタがリモートから見えなくなる」のは正しいんだが、ローカルのプリンタも見えなくなる。それもリアルなプリンタだけではなく、仮想プリンタ(例:Microsoft Print to PDFとかMicrosoft XPS writeとか)も見えなくなる。
とはいえ、仮想プリンタが見えないだけならば、WordとかExcelとかPowerPointの「保存する」で、「PDF形式」で保存すりゃいいんじゃね?と思うわけだが、これが大いなる罠だった(一部の環境の人にとって)。
- Print Spooler停止→WordとかでPDF保存出来ない(まじか)
Print Spoolerを停止したら、保存→PDF形式を指定してファイル保存できないと嘆いていた友人A。一方で、Print Spoolerを停止してもPDF形式を指定してファイル保存できるオレ。話を聞くと、にわかには信じがたい事実が判明してくる…。
検証開始~環境の差異はMicrosoft Officeのバージョンとアドオン有無
基本は環境の差異の確認なので、確認してみたら、わりかしあっさり出てきた(もっと面倒だと思ってた)。
- オレが使ってるOffice:Microsoft Office Professional Plus 2019
- 友人Aが使ってるOffice:Microsoft 365 apps for enterpriseで使えるOfficeアプリ。どうもAdobe Acrobatも入ってるっぽく、OfficeのAcrobatアドオンも含まれているっぽい。
Microsoft 365で使えるOfficeのアプリのせいか、Acrobatアドオンが悪さしているのかわからないが、友人Aの環境では、Microsoft 365 apps for enterpriseで使えるOfficeアプリケーションは(少なくともWordとExcelは)、PDFに印刷もPDFに保存もPDFにエクスポートも「全部同じコンポーネント(=印刷)を通るっぽく、そりゃ使えないわ、という結論に。
Acrobatアドオンが悪さをしているのか、Microsoft 365 apps for enterpriseで使えるOfficeで挙動が変わったのかわからないが、PDF作成時の使用コンポーネントが統一されたっぽく、それでPDF作成が出来ない、と考えられる。
ちなみにMicrosoft Office Professional Plus 2019では、以下のような感じ。
よろしい。ならばローカルポリシーを変更だ
ということで、ローカルポリシーを変更する方法を提示*1。
文章にすると長いが、実際にやってしまえばすぐに終わる*2。
以下が、「印刷スプーラーにクライアント接続の受け入れを許可する」まで選択して、右クリックでメニューまで出した画面。
で、編集を選択すると、以下のような画面が表示される。
オレの場合は、すでに「無効」にした後なのでこうなっているが、何もしてないと「未構成」になっている。ここは潔く「無効」にすることに。
ポリシーを変更したら、忘れずPrint Spoolerを再起動だ。お兄さんとの約束だぞ!
ここまでやってもPrint Spoolerサービスを再起動しないと無駄なので、サービス再起動をしよう。Print Spoolerを停止できる人ならば再起動もできるとは思うが、念のため画面は以下に。
上記はmmc.exeを実行→「サービス」スナップインを追加→サービス一覧表示→Print Spooler選択→右クリックまで済ませた画面。
ここで「再起動」を選んで左クリックでことたりる。
むすび~サービス停止は罠が多い&慣れればポリシーいじるほうがラクだが、いじったことを忘れないように
今回、Print Spoolerサービスの停止が何気に罠が多いという知見と、ポリシーいじるのが意外にラクだという知見(の確認)の両方を得た(後者はドメイン環境だと当たり前なんだけど、あまり個人環境では使わないんだよね)。
ただ、あくまでこれはWorkaroundなので、修正プログラムが公開されたら早めの適用を。そして修正プログラムを適用したら、ポリシーをもとに戻すことも考慮するように*3。でないと、このポリシー変更でまた無用なトラブルを引き起こす、ということも考えられるので…。