apache,mysqlなどをインストールするとなぜユーザーが作られるのですか?
- 評価
- クリップ 0
- VIEW 1,483
質問はタイトルの通りです。
apacheパケージをインストールすると勝手にapacheというユーザーやグループが作成されます。
なぜでしょうか?
ps aux | grep httpd
を実行したらhttpdはapacheが動かしている風に見られます。
httpdはapacheというユーザーが実行しているということですか?
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+3
以下は推測ですが、
- apacheにしてもMySQLにしても実行するユーザが必要である
- もし作成しない場合は既に存在しているユーザで実行する必要があるが、そのユーザのアクセス可能な範囲とapache等がアクセス可能であるべき範囲は異なる可能性が高くなる。
その結果として問題になる点として
- アプリケーションの不具合/バグによって、アクセスしてはいけないファイルにアクセスしてしまうケースが発生する
例)ApacheがMySQLのデータファイルのロックを奪ってしまい、MySQLが動作しなくなる、/etc/以下を消してしまう等 - apache等が乗っ取られた場合の被害が本来アクセスすべき範囲よりも拡大する
と言ったことが発生するからではないでしょうか。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.35%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2016/06/01 17:22
httpdはapacheというユーザーが実行しているということですか?
はい。ご提示の例ではhttpdはapacheユーザが動かしているという事になります。
*OS/ディストリビューションによって作成されるユーザは変わることもあるかとは思います。
2016/06/01 17:29
分けられているのもセキュリティの関係なんですね。
apacheユーザーが乗っ取られた場合に権限で被害が最小(apacheがアクセス可能な所)で済むということですか?
実際に起きた事例があるのでしょうか?
2016/06/01 17:35
そうですね。
apacheやそのモジュールの脆弱性で任意のコードが実行され得るケースというのは
事件として発覚してるかどうかはおいておいて、頻繁に発見されています。
https://www.google.co.jp/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=apache%20%E4%BB%BB%E6%84%8F%E3%82%B3%E3%83%BC%E3%83%89%20%E5%AE%9F%E8%A1%8C
また、設定ミスでapacheユーザをログイン可能なユーザに設定してしまって、ブルーフォースアタックで突破されるなんていうケースも割とよくあるケースだと思います。
2016/06/01 17:47
"ユーザが作られる"
のはそういった機能/設定を持つパッケージ管理ツール経由でインストールした時であって、
ソースから自分でビルドしてインストールした場合にはユーザは作られません。
2016/06/01 17:56
URLありがとうございます詳しく見たいと思います。
やっぱり、ログインがそもそもできない使用になっているのですね。[sudo su apache]とやっても変わらなかったので…完全にapacheを動かす為だけのユーザー?
apacheをログインできるような設定にしても、攻撃者は最初にapacheがログインできるようなユーザーだと気づく必要があります。どのようにして気づくのかも気になります…
2016/06/01 18:03
実はそれも気になっていました。ソースからビルドがわかっていないです。
2つインストールの方法があるということなんですか?
yum install などのパッケージ管理を使った方法
wgetなどで圧縮したパッケージをもらう方法
後者のほうがユーザーが作られないということなのですね。
2016/06/01 18:05
例えばyumでインストールされた場合に作られるapacheユーザはnologinに指定されていて、apacheを動かすためだけのユーザです。
>apacheをログインできるような設定にしても、攻撃者は最初にapacheがログインできるようなユーザーだと気づく必要があります。どのようにして気づくのかも気になります…
気づいてアタックをかけてくるわけでは無く、
この場合、telnetやSSHでのログイン試行を辞書攻撃や総当たりで試すケースが殆どかと思います。
とりあえず22番ポートにアクセスしてみて、ポートが空いてたらrootとかapacheとかtestuserみたいなありがちなユーザ名でログイン試行してみる。という感じです。
2016/06/01 18:07
Linux ソフトウェア インストール あたりで検索して上位に出てくる
http://note.kurodigi.com/post-0-15/
に良くまとまっていたので読んでみて下さい。
2016/06/01 18:16
そういえば、/etc/passwdのapacheユーザーを確認したところapacheのところはnologinになってました。
パスワードだけでなくそこも総当たりなんですね(汗)個人的に思うのは、sshをパスフレーズではなく鍵にしちゃえばいいと思うのですが…
URLありがとうございます。見させていただきます。
2016/06/01 18:31
合わせて、IPによるアクセス制限も行っておけば、かなり固くなりますね。
ただ、例えそうなっていても、ログインが必要無いユーザに関してはnologinにしておくのは必要ですね(正確には、ログインの必要のあるユーザにだけloginを許可する形)
2016/06/01 18:50
インフラの業務を携わっているときに、sshは踏み台に鍵認証、それぞれへパスフレーズという感じでやっています。IPも制限かけていました。
そうですね、必要なぶんだけログイン可能にすればいいのですね。