2015/10/25

萌々ぼ〜ど(正式名:被羅目板,通称:萌え板)をgithubに登録しました(2)

しなしなです。前記事を書いているうちにセキュリティ(笑)バージョンがいるのではないかと思い,リポジトリを増やして作ってみることにしました。githubでのブランチのやり方がわからなかった。

https://github.com/sina2/moesec/


Perlのセキュリティとか思う所(効率的なところ)とか色々あるのだが,まぁそれはそれとして。

そもそも萌え板のセキュアじゃない機能を外していくと,全部無くなる可能性があるのだがw

主な変更点(下のほうが古いです)

・簡易投票機能の削除

・ランクログ変換機能の削除

・HTML生成機能の削除

・過去ログ機能( past_log.cgi )の削除

・提供機能( sum_up.cgi )の削除

・アイコンの自動削除機能( ico_del.cgi )の削除

 ・IPAに書いている Perlのセキュリティ対策をしています。

・・コマンドインジェクション対策に open() をsysopen()に変更しました。
https://www.ipa.go.jp/security/awareness/vendor/programmingv1/a04_01.html
このサイトを元に1対1対応で置換。
→ use Fcntl;
open( $fh , $filename )   → sysopen( $fh , $filename , O_RDONLY )
open( $fh , > $filename ) → sysopen( $fh , $filename , O_WRONLY | O_TRUNC | O_CREAT )
open( $fh , +< $filename ) → sysopen( $fh , $filename , O_RDWR )


・・mail関係にopen()使っていたので,機能ごと全削除しましたヽ(`▽´)/
 ついでにEncode.pm要らなくなったので削った。

・・gzip関係にopen()使っていたので,機能ごと全削除しましたヽ(`▽´)/
自前のHTTPのgzip圧縮転送に使われてました。転送時間よりセキュリティということで。パフォーマンス?なにそれおいしい?

・・system exec backticks fileglob glob eval 関数は使ってなさそう。
https://www.ipa.go.jp/security/awareness/vendor/programmingv1/a04_02.html
 ながめたかんじ。なにか出たら対応します。

・・Taintモードに対応しました
https://www.ipa.go.jp/security/awareness/vendor/programmingv1/a04_03.html

「記事削除」とかアイコン削除」でのファイル削除( unlink )がTaintモードで怒られたのでファイルを消さないようにしました。なので,記事消しても画像ファイルとBGMファイルが残ります。


----ここから下は前記事と同じです。

git (git fetch & git merge origin/master ) で更新できるようにしました。
ログファイルや設定ファイルの類はバージョン管理から外しました。ただしmoe_bbs_cnf.pl を除く。
#インストール時にリネームすることで逃げて対応しています。設定の追加はどうやって通知すれば良いのか・・・
#他のファイルは最初の一回目のアクセス時に新規で開くように修正したつもり・・・・元の変更はコメントアウトで残しています。


UTF-8に対応しました。
 jcode.plはUTF-8に対応していないため jcode.pl → Jcode.pmEncode.pm と機械的に置換しています。元の変更点はコメントアウトで残してるつもり・・・。



cgi-lib.plでもサイズの大きなファイルをアップロードできるように変更しました。
cgi-lib.pl では131072(2^17)bytesが最大ですが,それ以上のファイルサイズでもアップロードできるように変更してます。とりあえず手元の環境では動いている模様。

再配布用に cgi-lib.pl に戻しました。




インストールは前記事参照




最後におまじない


当サイトの掲載内容を利用することにより、万一利用者に損害や不利益が生じたとしても、当サイトは一切責任を負わないこととします。


0 件のコメント: