久しぶりにSSLの設定をしなければいけなくなったので0.9.7系の最新など入れてみた。
make install後、下記のエラーがでた。
cannot create /usr/local/ssl/man/man3/EVP_BytesToKey.3: Too many levels of symbolic links
シンボリックリンクのエラーのようだったので実際にみてやるとEVP_BytesToKey.3 -> EVP_BytesToKey.3ってなってたw。子犬が自分のしっぽと戯れてるようじゃないか(何。EVP_BytesToKey.3は以前のOpenSSLが作ったものものらしくこいつがループの原因になるようなので削除してやった。
これでうまくいきそうに思ったのだが、なにやらまたmake installでこけた。
installing fipsld cp: fipscanister.o.sha1: No such file or directory cp: fipscanister.o: No such file or directory *** Error code 1 Stop in /usr/home/coo/work/openssl-0.9.7m/fips-1.0. *** Error code 1 Stop in /usr/home/coo/work/openssl-0.9.7m.
とりあえずググッてはみたがFIPSとかいうやつのおかげでエラーを吐くという文献はあったがいずれも解決策までいたっていない。PATCHもあったがこれも使えなかった。
そこでports様に頼ることにしてみた。portsだとすっきりとインストールできた。何故だ。何故だ!結局、もう一度ソースから入れ直してみようとconfigでno-fipsと指定しmake installしてもダメだった。どうやったら解決できるんだろうか。
POSTED AT 00:15:16 IN Apache | COMMENT : 0 | TRACKBACK : 0
Apache2系をユーザ権限でうごかすことに特にこだわっているわけでもないけど、気になるので少し方法を探ってみる。
MPM(Multi Processing Module)のperchildを使ってみるのはどうかと思い少し調べてみた。が、Apache-usersのMLにperchildの開発がとまっているらしく新たな動きがないというのを見かけた。ほかにmod_suid2をいれてみる方法もあることはあるがrootでApacheを動かしてしまうのもちょっとなぁぁと思いつつ結局Apache2系での 設定を様子見にする。慌てる必要もないしなぁ。
仕事で使用するのはやはりわかってはいたが1.3系が安定してるってことで納得。ふむふむ。
POSTED AT 14:27:12 IN Apache | TRACKBACK : 0
あるWeb用のプログラムの検証をしたいがためにPerl5.8にあげてテストしていたんだけど、apache権限で作られたファイルをいちいちrootになって消すのがまんどくさんくなってきたのでsuEXECの設定を試みる。
ns.starsugar.jpなサーバはApache2系でここにのっかってるサイトはすべてVirtualHostで運用してる。で、suEXECもバーチャルサーバ用の設定をしないといけない。
configureは適宜に読みかえて
./configure --enable-modules=all --enable-mods-shared=all --enable-suexec --with-suexec-caller=httpd --with-suexec-userdir=virtualサーバのあるディレクトリ --with-suexec-docroot=virtualサーバのあるディレクトリ
<VirtualHost>ディレクティブに以下を追加。1.3系とは記述が違うので注意する。
<VirtualHost> SuexecUserGroup ユーザ グループ </VirtualHost>
SuexecUserGroupはmod_suexecを使うようなのでmoduleがloadされている場所にmod_suexecがloadされるように追加されているかをチェックする。
LoadModule suexec_module modules/mod_suexec.so
Apache2のドキュメントとかみてもこの設定でよいはずなんだけど...まともに動かないです(泣。パーミッションの設定を変えたら、パーミッションエラーになってしまうし。error_logにはsuexecがちゃんと起動されているのに..。あと、うちはPHPが主なので使っても意味なし。(PHPはDSOにしてるのでダメみたいです)
もうちょっと、別のcgiとか動かして検証しよう。
つか、漏れのgidがデフォルト値より小さかった...orz
あと、perlのパスがまちごてた(自爆
POSTED AT 14:27:12 IN Apache | TRACKBACK : 0
あるクライアントのSSLサーバ証明書を更新したので証明書の入替作業をしてますた。
WindowsのIEで証明書をコピーしてそのままTTSSHでサーバつないでviでファイル作ってそこにこぴぺするとファイルがbinaryになっちゃうんですな。それがなんでbinaryなるのかよーわからん
おかげで5分とかからない作業がApacheを15分ほど止めることになるとはまいったまいった。
POSTED AT 14:27:12 IN Apache | TRACKBACK : 0
こんな感じででてます。うーん。以前のバージョンでのbugはFreeBSDとかはあんまり影響しないらしいがまぁせっかくなのでいれといた。
というか、このところチェックしていなかったので今更なんだけどOpenSSLのセキュリティ勧告に気づいてなかった...。入れ替えとかなあかんやん。
POSTED AT 14:27:14 IN Apache | TRACKBACK : 0
このあいだ設定したうちのVirtualhost。suEXECの設定をしたんだけどapache権限でうごいちょるようだ。
こんなときはぐぐってみよう〜
Virtualhostの場合httpd.confの<VirtualHost>に UserディレクティブとGroupディレクティブを指定しなきゃいけないってことと、cgiをおきたいディレクトリはdocrootにばーちゃるほすとの設定をしてるディレクトリを指定しなきゃいけないらしい。(最初docrootをデフォルトにしていたのでsuexecとして動いてくれなかったのだ)
もう一度インストールのやりなおしと設定を変えてみる
configure
./configure --enable-module=all --enable-shared=max --enable-suexec --suexec-caller=www --suexec-docroot=/pub/virtual --suexec-userdir=/pub/virtual
httpd.conf
<VirtualHost *>
ServerAdmin webmaster@*****.jp
DocumentRoot /pub/virtual/*****.jp/htdocs
ServerName *****.jp
User hogehage
Group guest
</VirtualHost>
ちゃんと動きますた〜。勉強になるなぁ...
POSTED AT 02:38:50 IN Apache | TRACKBACK : 0
昨日、.htaccessに書いた訳なんだけどなんか書き方間違ってるよね(ワラ
PHPの環境変数$_SERVER['REMOTE_HOST']が取得出来なくなったのだ。つかあぱーちのaccess_logもREMOTE_HOSTでてないのでつが(ぉぃ。で以下のように書き方を変えてみる。というかdenyとallowの順もまちごーてるよな(まて
SetEnvIfNoCase User-Agent "Ninja" SsS
SetEnvIfNoCase User-Agent "Steeler" SsS
SetEnvIfNoCase User-Agent "Slurp" SsS
SetEnvIfNoCase User-Agent "GetHTML" SsS
SetEnvIfNoCase User-Agent "FAST-WebCrawler" SsS
SetEnvIfNoCase User-Agent "^Mozilla/[0-3]{1}" SsS
order allow,deny
allow from all
deny from env=SsS
むぅ。はずかしいのぅ
POSTED AT 14:27:17 IN Apache | TRACKBACK : 0
logが3Mくらいになっていたので整理してみた。
半年ほど整理できていなかったので削除することにする。その中でお行儀がスゲー悪いものを発見。「Pockey-GetHTML」。ぐぐってみると思いっきり評判悪いです。はねることにしますた。つかうちも1秒間で4〜6回の頻度で情報を抜かれてたわけで。
httpd.confではねるか、.htaccessではねるか。.htaccessで書いちゃったけど。
SetEnvIf User-Agent "Ninja" [NC] SsS
SetEnvIf User-Agent "Steeler" SsS
SetEnvIf User-Agent "Slurp" SsS
SetEnvIf User-Agent "GetHTML" SsS
SetEnvIf User-Agent "FAST-WebCrawler" SsS
SetEnvIf User-Agent "^Mozilla/[0-3]{1}" SsS
<Files *>
Order deny,allow
deny from env=SsS
</Files>
思えばhttpd.confに書いたほうがはやいかもね(ワラ
POSTED AT 14:27:17 IN Apache | TRACKBACK : 0
(昨日の続きぽい)
マニュアル見ながらhttpd.confにRewrite類いをごにょごにょ書いてみる。つか起動したらエラーでましたよ?つかこのApacheにmod_rewrite組み込まれていないのですが...(ワラ
というわけでmod_rewriteを組み込んでもう一度再起動〜
うーん。
https://www.xxxx.co.jp/ が https://xxxx.co.jp/ とかで見にこられた場合RewriteRuleには http://www.xxxx.co.jp/ へ逝ってくださいみたいに書いたけど443でつなぐ以上はあの怪しげな「セキュリティの警告」(ばいIE)がでてきてからhttp://www.xxxx.co.jp/へ逝ってしまわれるんだな... これだったらRedirectと同じやん...
証明書にかかれてる発行先はwwwついてるから仕方ないのかしらん
POSTED AT 14:27:19 IN Apache | TRACKBACK : 0
ちとnamed.confの書き方がわるく某Webサイトに迷惑かけてしまった。ごめんなさい。wwwをつけないでアクセスするとうちが表示されちゃうような書き方してた訳で。
で、ふとそれで気づいたんだけどSSLなサイトでwwwとかつけないでドメインだけできた場合、認証されてないぞよとかいわれちゃうのでわと(コラ。Apacheでrewriteの設定をどのへんに書き足せばよいのか悩みちう。
つか調べれば調べるほど便利すぎます>rewrite。でもまだどこらへんに追加すればよいのかわかりませんが(ワラ
明日Mac使えないから一日調べてみるかなとも思ったり。
つかデザインラフいつあげるんですか?>わし
POSTED AT 14:27:19 IN Apache | TRACKBACK : 0
あいかわらずSSLのバーチャルホストの設定にハマって1週間ちかくたってきますた。
hoge.or.jp*1(21X.XX.1.14)のorange、starsugar.org(21X.XX.7.178)のwwwをともにzoneファイルにてSSLのサーバ(21X.XX.1.62)に向けている。ローカルIPでバーチャルホストを設定しているのになぜか全然各DocumentRootを見てくれないのと、現状はhttpsで接続しようとするとブラウザから「サーバが見つかりません」と言われてしまう。(*1 hoge.or.jpなるドメイン名は仮につけたものです)
rc.confにて複数IPを割り当てずみ
<IfDefine SSL>
Listen 80
Listen 443
</IfDefine>
### Section 3: Virtual Hosts
NameVirtualHost 192.168.0.1
NameVirtualHost 192.168.0.2
<VirtualHost 192.168.0.1:80>
ServerAdmin webmaster@orange.hoge.or.jp
DocumentRoot "/pub/virtual/orange/htdocs"
ServerName orange.hoge.or.jp
ErrorLog /pub/virtual/orange/logs/error_log
CustomLog /pub/virtual/orange/logs/access_log common
</VirtualHost>
<VirtualHost 192.168.0.2:80>
ServerAdmin webmaster@starsugar.org
DocumentRoot "/pub/virtual/starsugar.org/htdocs"
ServerName www.starsugar.org
ErrorLog /pub/virtual/starsugar.org/logs/error_log
CustomLog /pub/virtual/starsugar.org/logs/access_log common
</VirtualHost>
## SSL Global Context
<IfDefine SSL>
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
</IfDefine>
<IfModule mod_ssl.c>
SSLPassPhraseDialog builtin
SSLSessionCache dbm:/usr/local/apache/logs/ssl_scache
SSLSessionCacheTimeout 300
SSLMutex file:/usr/local/apache/logs/ssl_mutex
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLLog /usr/local/apache/logs/ssl_engine_log
SSLLogLevel info
</IfModule>
<IfDefine SSL>
NameVirtualHost 192.168.0.1:443
<VirtualHost 192.168.0.1:443>
DocumentRoot "/pub/virtual/orange/htdocs"
ServerName orange.hoge.or.jp
ServerAdmin coo@orange.hoge.or.jp
ErrorLog /pub/virtual/orange/logs/error_log
TransferLog /pub/virtual/orange/logs/access_log
SSLEngine on
(...snip...)
</VirtualHost>
NameVirtualHost 192.168.0.2:443
<VirtualHost 192.168.0.2:443>
DocumentRoot "/pub/virtual/starsugar.org/htdocs"
ServerName www.starsugar.org
ServerAdmin webmaster@starsugar.org
ErrorLog /pub/virtual/starsugar.org/logs/error_log
TransferLog /pub/virtual/starsugar.org/logs/access_log
SSLEngine on
(...snip...)
</VirtualHost>
</IfDefine>
ローカルIPで書いてるところをグローバルIPにしてみるとちゃんとhttp、httpsで接続して設定したDocumentRootを見てくれるし、サーバ証明書もそれぞれのが見えるし。
ここ読んでくれたひとで思い当たるふしがありましたら声かけて下さいませ〜m(_ _)m
POSTED AT 15:30:52 IN Apache | TRACKBACK : 0
先週末やり残したSSLの設定をきちんとやってみる。openssl-0.9.7bをmakeしたらerror吐いたので0.9.6jを使い、Apacheは1.3系でやってみることにする。
$ ./config --prefix=/usr/local --openssldir=/usr/local/ssl -fPIC $ make # make install
DSOにするので オプションに-fPICをつけとくらしい。
$ tar zxfv apache_1.3.27.tar.gz $ tar zxvf mod_ssl-2.8.14-1.3.27.tar.gz $ cd mod_ssl-2.8.14-1.3.27 $ ./configure --with-apache=../apache_1.3.27 --with-ssl=../openssl-0.9.6j --prefix=/usr/local/apache --enable-shared=ssl --enable-module=so $ cd ../apache_1.3.27 $ make $ make certificate # make install
make certificateをすると以下のようにきいてくるのでてけとうにいれる
Signature Algorithm ((R)SA or (D)SA) [R]
自分のさばなんぞに高い認証局など使えないのでここを参考にして独自で認証をするようにしてみる。
まぁ会社で使うときはちゃんと公的認証機関使うようにはしないとなと思ってみたり。
あとApache2.0.46も入れ換えておいた。
POSTED AT 09:54:34 IN Apache | TRACKBACK : 0
なーんもやる気ないし。ネタでもなく昨日はマジにまた会社やめたいと言ったのは内緒だ(ワラ。やめるつもりである部署で大暴れしたのに...(ぉ
自分だけがいっしょけんめーやってるって言うつもりないけどあまりに見返りないと少しツライ。別に仕事だけじゃないけど。
そーいえばこの間、和歌山城へ夜桜見に行ってきた。その日の昼下がり、用があってたまたま近くを通ったら桜が3〜5分咲きだったのかな。夜も雨降る前だったし暖かった。1時間半ほど座って桜見てたな...
Apache2.0.45がReleaseされてたのでさっそくげとー。まけまけいんすとーるしてみた。(FreeBSDにて
./configure --enable-modules=all --enable-mods-shared=all
なんか--enable-soでやってみたけど何故かそーするとPHPをLoadするあたりでコケます。やりかたがきっと悪いのでしょう(しくしく
POSTED AT 15:32:23 IN Apache | TRACKBACK : 0
なんかまたApacheにセキュリティホールがあるとかで2.0.40とかでてるし...。とりあえず、げとしたので1台だけApache2系いれてるので明日にでもインストールしよかなと(明日かよ。そろそろApache2系 + PHP4.2.2で運用してみてもいいかなぁ。思案中。
iBookを搾取(嘘。MacOSX10.2が来たらいれよう。
POSTED AT 14:27:34 IN Apache | TRACKBACK : 0
Apacheのセキュリティホールが見つかったので取り合えずBugtraqのメイルみたり某ちゃんねるのlogを流して見てみたり。取りあえず1.3.26と2.0.39の両方げと。痛いのはApache1.3全バージョンてこと。会社のさーばはやらなきゃいけないのはともかく家にあるFreeBSDもしなきゃいけないってことだ。
てな訳でさっさと1.3.26アゲちゃいましたと。昼すぎにportsになかった1.3.26も夜になったらあったので家のさばもやっといた。
ヘコみすぎでそのへんでクダまいてるときあるのでご注意(ワラ
POSTED AT 14:27:36 IN Apache | TRACKBACK : 0
精神的に疲れたそげ。今日もなんやかんやで朝まで起きてたし。
さば移転も昨夜切替えて終ったんだけどいまいちおかしな感じがする。
PHPなところでまず...httpd.confには一応
AddType application/x-httpd-php3 .php3 AddType application/x-httpd-php .php .phtml
てな具合に書いている訳なんだけどそれぞれのVirtualHostのDocumentrootには.htaccessファイルがあってここでも
AddType application/x-httpd-php3 .html
って書いていたりする。まぁその時によってデザイナーがDreamweaverで編集できるようにというアレなわけですが。これがうまく認識していないのかどうかわかんないのだがヒドイ時には実際にhtdocsに存在するphpを組み込んだ.htmlが表示されないどころかNot Foundになっちゃう。原因がいまいちわかんない。 httpd.confに直接書いちゃうほうがよいのかなぁ...
あと設定しているVirtualHostにftpできない...
今までグローバルIPアドレスを割り振っていたんだけど今回からはふらないでする方法を取った。ドメイン名とそのユーザとパスワードでftpしたら拒否された。うーん。ユーザ設定してるのに。named.confとかzoneファイルとかrc.confとかみまくってもわかんなかった。どこを調べればいいんだろ...
自社のさばとは言えやっぱりこれで商売するものと思えばなんとなく精神的にぴきーーんとくるなぁ。クレームきそうなんで明日からちょっとばかし会社へいきたくねぇ...
つか辞めるし(ぉぃ
早朝、CubeG4のHDDの中身整理してたら写真見付けた(謎。あたし、はしゃいでるし。セツネ。
てなわけでみっしぇるがんえれふぁんと聽きつつ現実逃避。
POSTED AT 14:27:37 IN Apache | TRACKBACK : 0
むぅ。
支障のhttpd.confを拝見させてもらい自分のhttpd.confと見比べてみる。
むむぅ。
LoadModule php4_module libexec/libphp4.so
の後に
LoadFile /ぱす/libpq.so
を書いてはったんで、もう一度上記2行の書く順番を変えてからhttod.confを修正。でPHP4.2.0を再インストール。
...
httpd start した...むむむ。phpinfo.phpを作ってブラウザで確認。PHP4.2.0であることも確認。
mbstringとかつかわはるんだったらmb_output_handler の不具合があるらしいのでぱっちあてませう。
# このへんはPHP-usersMLでも流れてます。
POSTED AT 14:27:38 IN Apache | TRACKBACK : 0
Apache1.3.24 + PHP4.2.0をインストール。はまってます(わら。
つかPHP4.2をインストールするとApacheが起動しなくなっちゃうんだよね。そんな手のこんだことしてねーんだけどなぁ...
$ tar xvfz apache_1.3.24.tar.gz $ cd apache_1.3.24 $ OPTIM="-O2" ./configure --enable-module=all --enable-shared=max $ make # make install # /usr/local/apache/bin/apachectl start
↑ここでApacheの起動は確認してみた... 起動するんだよね... 一旦Apacheを終わらせてみる。
$ tar xvfz php-4.2.0.tar.gz
$ cd php-4.2.0
$ ./configure --enable-mbstring
--enable-mbstr-enc-trans
--with-pgsql=/usr/local/pgsql
--with-apxs=/usr/local/apache/bin/apxs
--enable-trans-sid
--without-mysql
$ make
# make install
# cp php.ini-dist /usr/local/lib/php.ini
httpd.confを確認
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps LoadFile /usr/local/pgsql/lib/libpq.so LoadModule php4_module libexec/libphp4.so
ClearModuleListに
AddModule mod_php4.c
があるか確認。で、Apacheを起動
# usr/local/apache/bin/apachectl start Syntax error on line 223 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/libexec/libphp4.so into server: /usr/local/apache/libexec/libphp4.so: undefined symbol: RETRUN_STRINGL /usr/local/apache/bin/apachectl start: httpd could not be started
なんなんだ...(^^;。RETRUN_STRINGL って...
結局PHP4.1.2をインストール...ちぇ。
POSTED AT 14:27:38 IN Apache | TRACKBACK : 0
21日に書いてあったWebサーバ攻撃なお話はワームす。そーりー
POSTED AT 14:27:49 IN Apache | TRACKBACK : 0
昨日起きてMacOSXのApacheのログを見た。何やら怪しげなログが20日未明から続いていた。Webサーバに特に何もないし、侵入された形跡もないし。不気味だなぁと思ってたらLinux-usersのMLでWebサーバ攻撃の話が でたので読んでみるとうちと全く同じようなログが残ってたらすい。
IIS(MicrosoftのWebサーバ)をターゲットにしたbuffer overflow攻撃らすいす...M$もMicrosoft Updateサイトをやられたらしくってちょっと 笑ってしまった。自宅も会社もApacheなので影響はなかったけどいろいろ気遣いすることが増えてくるんだなとしおしお。今日はwlugでもその話でもちきりっす;-)
POSTED AT 14:27:50 IN Apache | TRACKBACK : 0