質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

1回答

2735閲覧

apache,mysqlなどをインストールするとなぜユーザーが作られるのですか?

mint.cherry

総合スコア284

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2016/06/01 07:52

編集2016/06/01 07:58

質問はタイトルの通りです。
apacheパケージをインストールすると勝手にapacheというユーザーやグループが作成されます。
なぜでしょうか?

ps aux | grep httpdを実行したらhttpdはapacheが動かしている風に見られます。
httpdはapacheというユーザーが実行しているということですか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

以下は推測ですが、
0. apacheにしてもMySQLにしても実行するユーザが必要である
0. もし作成しない場合は既に存在しているユーザで実行する必要があるが、そのユーザのアクセス可能な範囲とapache等がアクセス可能であるべき範囲は異なる可能性が高くなる。

その結果として問題になる点として
0. アプリケーションの不具合/バグによって、アクセスしてはいけないファイルにアクセスしてしまうケースが発生する
例)ApacheがMySQLのデータファイルのロックを奪ってしまい、MySQLが動作しなくなる、/etc/以下を消してしまう等
0. apache等が乗っ取られた場合の被害が本来アクセスすべき範囲よりも拡大する

と言ったことが発生するからではないでしょうか。

投稿2016/06/01 08:06

tanat

総合スコア18713

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tanat

2016/06/01 08:22

> ps aux | grep httpdを実行したらhttpdはapacheが動かしている風に見られます。 httpdはapacheというユーザーが実行しているということですか? はい。ご提示の例ではhttpdはapacheユーザが動かしているという事になります。 *OS/ディストリビューションによって作成されるユーザは変わることもあるかとは思います。
mint.cherry

2016/06/01 08:29

回答ありがとうございます。 分けられているのもセキュリティの関係なんですね。 apacheユーザーが乗っ取られた場合に権限で被害が最小(apacheがアクセス可能な所)で済むということですか? 実際に起きた事例があるのでしょうか?
tanat

2016/06/01 08:35

> apacheユーザーが乗っ取られた場合に権限で被害が最小(apacheがアクセス可能な所)で済むということですか? そうですね。 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ユーザをログイン可能なユーザに設定してしまって、ブルーフォースアタックで突破されるなんていうケースも割とよくあるケースだと思います。
tanat

2016/06/01 08:47

あ、誤解があるといけませんが、 "ユーザが作られる" のはそういった機能/設定を持つパッケージ管理ツール経由でインストールした時であって、 ソースから自分でビルドしてインストールした場合にはユーザは作られません。
mint.cherry

2016/06/01 08:56

返信ありがとうございます。 URLありがとうございます詳しく見たいと思います。 やっぱり、ログインがそもそもできない使用になっているのですね。[sudo su apache]とやっても変わらなかったので…完全にapacheを動かす為だけのユーザー? apacheをログインできるような設定にしても、攻撃者は最初にapacheがログインできるようなユーザーだと気づく必要があります。どのようにして気づくのかも気になります…
mint.cherry

2016/06/01 09:03

質問ばかりですいません(汗) 実はそれも気になっていました。ソースからビルドがわかっていないです。 2つインストールの方法があるということなんですか? yum install などのパッケージ管理を使った方法 wgetなどで圧縮したパッケージをもらう方法 後者のほうがユーザーが作られないということなのですね。
tanat

2016/06/01 09:05

そうですね。 例えばyumでインストールされた場合に作られるapacheユーザはnologinに指定されていて、apacheを動かすためだけのユーザです。 >apacheをログインできるような設定にしても、攻撃者は最初にapacheがログインできるようなユーザーだと気づく必要があります。どのようにして気づくのかも気になります… 気づいてアタックをかけてくるわけでは無く、 この場合、telnetやSSHでのログイン試行を辞書攻撃や総当たりで試すケースが殆どかと思います。 とりあえず22番ポートにアクセスしてみて、ポートが空いてたらrootとかapacheとかtestuserみたいなありがちなユーザ名でログイン試行してみる。という感じです。
tanat

2016/06/01 09:07

Linuxにおけるソフトウェアのインストールについては Linux ソフトウェア インストール あたりで検索して上位に出てくる http://note.kurodigi.com/post-0-15/ に良くまとまっていたので読んでみて下さい。
mint.cherry

2016/06/01 09:16

返信ありがとうございます。 そういえば、/etc/passwdのapacheユーザーを確認したところapacheのところはnologinになってました。 パスワードだけでなくそこも総当たりなんですね(汗)個人的に思うのは、sshをパスフレーズではなく鍵にしちゃえばいいと思うのですが… URLありがとうございます。見させていただきます。
tanat

2016/06/01 09:31

はい、sshに関していえば、sshのパスワードログインを不許可にして、鍵認証だけにするのは非常に有効な方法というか、プロが設定する場合はやらないと重過失を問われるレベルの必須項目だと思います。 合わせて、IPによるアクセス制限も行っておけば、かなり固くなりますね。 ただ、例えそうなっていても、ログインが必要無いユーザに関してはnologinにしておくのは必要ですね(正確には、ログインの必要のあるユーザにだけloginを許可する形)
mint.cherry

2016/06/01 09:50

返信ありがとうございます。いろんなことが解消されすっきりしました。ありがとうございます。 インフラの業務を携わっているときに、sshは踏み台に鍵認証、それぞれへパスフレーズという感じでやっています。IPも制限かけていました。 そうですね、必要なぶんだけログイン可能にすればいいのですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問