Pocket

新年明けましておめでとうございます!!!?
2018年もよろしくお願い致します。

新年一発目のブログは!?Ansibleでubuntuに対して実行したら出落ち並にハンパないエラー出たのでブログします。


■Error

元々baseパッケージを使いたいため、gitやらvimなどなどインストールを始めに行っているのですが、そこでまずエラーが出てる状態。(完全に出落ち)エラー見ると

「/var/lib/dpkgにパッケージインストールしてもいいんだけど、あんたホントにrootなん?」

と疑ってる様子。ちなみに実行ユーザはsudoパスなしでrootになれるからrootだバカヤローと言いたいところ。–ask-sudo-pass付けても同様。


■ansible become

http://docs.ansible.com/ansible/latest/become.html

Ansible 2.0.x and below has a limitation with regards to becoming an unprivileged user that can be a security risk if users are not aware of it. Ansible modules are executed on the remote machine by first substituting the parameters into the module file, then copying the file to the remote machine, and finally executing it there.

Everything is fine if the module file is executed without using become, when the become_user is root, or when the connection to the remote machine is made as root. In these cases the module file is created with permissions that only allow reading by the user and root.

The problem occurs when the become_user is an unprivileged user. Ansible 2.0.x and below make the module file world readable in this case, as the module file is written as the user that Ansible connects as, but the file needs to be readable by the user Ansible is set to become.

・訳)

Ansible 2.0.x以下には、ユーザーがそれを認識していない場合にセキュリティ上のリスクとなり得る非特権ユーザーになることに関して制限があります。パラメータをモジュールファイルに代入からファイルをリモートマシンにコピーし、最後に実行することによってリモートマシン上で実行可能なモジュールが実行されます。

モジュールファイルがbecomeを使わずに実行された場合、become_userがrootの場合リモートマシンへの接続がrootとして行われた場合はすべて問題ありません。このような場合モジュールファイルはユーザーとrootによる読み取りのみを許可する権限で作成されます。

この問題はbecome_userが特権のないユーザーである場合に発生します。 Ansible2.0.x以下でモジュールファイルはAnsibleが接続するユーザーとして書き込まれますが、ユーザーが読み取り可能にする必要があります。

デフォルトでrootユーザにパスワード認証のログインができない!つまりPlaybookを実行時にroot権限が必要なPlaybookが実行できない場合がある。なので!対処方として、

・一般ユーザで接続からのsudoを利用してroot 権限を実行→◎
・root ユーザの公開鍵認証を登録し、root ユーザでログインできるようにする→☓(DANGER)

ということはymlbecome: trueが入っていないのでは??


■server01.yml

うむ!漏れだったw正しくは


■確認


■まとめ

一瞬で気づいてヨカタ。

Pocket

カテゴリー: AnsibleUbuntu

adachin

1989年生まれのSRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWS/Azureでのインフラ構築、Docker開発環境の提供、Kubernetes保守、インフラコード化、新技術の検証、リファクタリング、セキュリティ強化などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTAで未経験者にインフラのコーチング/コミュニティの運用を実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください