客からメールが送信できないと連絡があった。
grep sasl_username /var/log/mail
とやると、test@ちょめちょめ というアカウントが破られているようだ。
即座にアカウントを非アクティブに設定。
調べると、そのサーバーには、他にも test@ちょめちょめ が多数あり、どうも前任者がテスト用に作成していたようで、加えてパスワードがザルだったようだ。
今、その前任者の組んだPHPのプログラムの機能追加を行っているが、あらゆる所にGETのパラメータをSQLのクエリーに直突っ込みしていて辟易している。
とりあえず、数値のみしか扱わないパラメータは、 is_numeric() でSQL injection を叩き落とす処理を適宜入れているが、セキュリティを全く考慮していないコードなので、書き直した方が早いんじゃね?って感じ。
以前に、パラメータをそのままページの一部に組み込んでいたので、パラメータ部にURLを入れられて、スパムメール送信フォームがページ内に出現なんて事もあった。
水の入ったコップをテーブルの角に置いておくとどうなるか? ってのはちょっと想像したら、将来起こりそうな事が予測できそうなものだが、現実には、引っ掛けて床を水浸しにしならないと分からないってのも困ったもんだねえ。