Linuxでwwwサーバをたてています。apacheを使っています。

ちなみにCentOS5です。
DocumentRootは/var/www/htmlなのですが、ディレクトリの所有者がrootでパーミッションが755なので、ここに書き込むにはいちいちrootにならなければならず、セキュリティ上からも手間からもよくない運用だと思っています。
どこでも誰にでもあるような問題に思うのですが、スマートというか一般的な解決策があれば教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2008/10/05 17:26:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント23pt

まず、定石として、DocumentRoot を公開してはいけません。Apache インストール直後、DocumentRoot は /var/www/html に決め打ちとなっており、攻撃が仕掛けられやすいからです。


適当な公開ディレクトリを用意し、Alias で仮想ディレクトリ名を付けるべきです。

こちらのディレクトリに、適切なオーナーと適切な属性を付けておけばいいでしょう。

id:nikita_r

ありがとうございます。

aliasの指定方法はマニュアル本に書いてあるのですが、具体的にどこに置けばいいのかなどは分かりません。試行錯誤してみます。

2008/10/05 14:46:35
id:a_suenami No.2

回答回数20ベストアンサー獲得回数2

ポイント23pt

DocumentRootは/var/www/htmlなのですが、ディレクトリの所有者がrootでパーミッションが755なので、ここに書き込むにはいちいちrootにならなければならず、セキュリティ上からも手間からもよくない運用だと思っています。

 

ここまでわかっていながら、何を“問題”だと思っているのかわからないのですが、単純に所有者を変更すればいいのではないですか?

 

また、コンテンツの更新にはFTPをご利用ですか?その他の方法をご利用ですか?

いずれにしてもrootでログインできるようにしておくのは危険ですし、仮にSCPを利用しているようでしたらシェルログインもできるということですので、早急にディレクトリ管理者を変更して、rootでのSSHアクセスを制限するべきだと思います。

http://q.hatena.ne.jp/answer

id:nikita_r

数人で運用したいのですが、apacheグループに変更してもうまくいかなかったもので。

それに、こんなべたな方法が定石だと思えなかったもので質問しました。

2008/10/05 17:23:12
id:a_suenami No.3

回答回数20ベストアンサー獲得回数2

ポイント22pt

DocumentRootは/var/www/htmlなのですが、ディレクトリの所有者がrootでパーミッションが755なので、ここに書き込むにはいちいちrootにならなければならず、セキュリティ上からも手間からもよくない運用だと思っています。

 

ここまでわかっていながら、何を“問題”だと思っているのかわからないのですが、単純に所有者を変更すればいいのではないですか?

 

また、コンテンツの更新にはFTPをご利用ですか?その他の方法をご利用ですか?

いずれにしてもrootでログインできるようにしておくのは危険ですし、仮にSCPを利用しているようでしたらシェルログインもできるということですので、早急にディレクトリ管理者を変更して、rootでのSSHアクセスを制限するべきだと思います。

http://q.hatena.ne.jp/answer

id:Quphondi No.4

回答回数59ベストアンサー獲得回数2

ポイント22pt

http://q.hatena.ne.jp/1223182382

  urlはダミーです。

 apacheに限りませんが、サーバプロセスはrootで動かさない方が安全です。不測の事態でサーバプロセスを乗っ取られた場合、root権限で動いていると、サーバ全体の統制をとられてしまうからです。

 私が取っている対策を紹介すると…、あ、基本的なLinux/UNIXの操作は理解しているという前提でご説明します。

 まず、apache用にユーザ www と、グループ www を作ります。グループwwwには、ユーザwwwを始め、web pageコンテンツを編集するユーザを加えます。

 DocumentRootに当たるディレクトリ配下ディレクトリのバーミッションは 775または664 として、所有権をwww:wwwとします(# chown -R www:www [DocumentRoot])。そして、apacheの設定ファイル(httpd.conf)で、User wwwにGroup wwwにします。

 こうしておけば、コンテンツを編集するユーザはrootになることなく書き込みができます。

 

 DocumentRootを置くディレクトリについては、私は特にデフォルトでも支障ないと思います。例え異なるところに置いたとしても、rootを盗られたら全く意味がなですし、findされたら結局同じです。また、なまじ変な所に置くと管理者/ユーザが混乱して使いにくいサーバになってしまいますし(苦笑)。

 乗っ取り対策をするのであれば、1週間~1が月程度の遡及ができるバックアップを定期的に取っておくことをおすすめします。

 あと、これは蛇足ですが、sshdやftpdは受入ポート番号をずらしておく、使わないならことをおすすめします。デフォルトのままですと、絶え間なくポートスキャンがやってきて、精神衛生上(笑)もよろしくありません。我が家では、リモートルータの仮想サーバ機能を利用してずらしてますが、この対策以降、ほぼ完璧にアタックが無くなりました。ご参考になれば幸いです。

 

 

id:nikita_r

ありがとうございます。

そういえばwwwとかwww-userというのがありましたね。

yumまかせにしたのがどうもあやまりだったようです。

考え直してみます。

2008/10/05 17:25:21

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません