2014年4月30日水曜日

tomcatのエラー画面に表示されるバージョン情報を消す

http://www.ibm.com/developerworks/jp/security/library/se-banner/

2014年4月25日金曜日

Apache Struts2 の脆弱性対策について(CVE-2014-0094)(S2-020)

https://www.ipa.go.jp/security/ciadr/vul/20140417-struts.html
■概要: Apache Struts のバージョン 2.0.0 から 2.3.16 には、ClassLoader を操作される脆弱性が存在(CVE-2014-0094)が存在しますが、同様の脆弱性がApache Struts 1.Xにおいても存在することを確認された。
デフォルト状態のStruts1.X及びStruts1.Xを拡張したフレームワークが本脆弱性の影響を受ける可能性。
過去、Struts2に関する攻撃は脆弱性公表後に早期に行われている傾向がある。
今回のStruts1.Xに対する脆弱性についても、同様に攻撃が行われる可能性があるため、早急な対策を推奨。

■対象となるアプリケーションとバージョン Struts1.X (検証済バージョンはStruts 1.3.8、Struts1.3.10のみですが、他のバージョンも影響を受けると想定される。)

■対策: Struts1.Xはサポート切れの製品であるため修正パッチは提供されない可能性がある。
本脆弱性にはパラメータ名に不正な文字列が含まれる特徴がある。
Struts2では不正なパラメータを遮断する設定機能が提供されていますが、Struts1.Xに同様の機能は存在しないため、設定で回避することが出来ない。
そのため、ServletFilterやWAF等を使用して不正なパラメータ名を含むリクエストを遮断する必要があります。

遮断用文字列の例 (^|\.)[cC]lass\.
※「.Class.」「.class.」「(行頭)Class.」「(行頭)class.」の場合検知するような正規表現となります。
ただ、パラメータ名に前述の文字列を含む リクエストが遮断されるためアプリケーションの正常動作に影響を与える可能性があります。

■想定される被害 (1)サービスの停止 (2)リモートからのファイルの読み込み (3)リモートからのコードの実行
■参考(類似の脆弱性) S2-020 CVE-2014-0094 http://struts.apache.org/release/2.3.x/docs/s2-020.html
http://www.scutum.jp/information/waf_tech_blog/2014/04/waf-blog-036.html

■対策コード
http://www.mbsd.jp/img/testFilter.java


sar CPU・ネットワーク・メモリ・ディスクの情報確認 LinuxCommand

■インストール
CentOS/iostat,sarコマンドのインストール
http://linux.just4fun.biz/CentOS/iostat,sar%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB.html#n7f92f26

■インストールしたけど実行できないとき
http://www.uetyi.mydns.jp/wordpress/linux-server/entry-122.html


以下インストールして実行できず実行できるようになるまでのメモログ。CentOS6.3
[root@xxxxx  ~]# sar
-bash: sar: コマンドが見つかりません
[root@xxxxx ~]# yum install sysstat
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.kddilabs.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package sysstat.x86_64 0:9.0.4-22.el6 will be installed
--> Processing Dependency: /etc/cron.d for package: sysstat-9.0.4-22.el6.x86_64
--> Running transaction check
---> Package cronie.x86_64 0:1.4.4-12.el6 will be installed
--> Processing Dependency: dailyjobs for package: cronie-1.4.4-12.el6.x86_64
--> Processing Dependency: /usr/sbin/sendmail for package: cronie-1.4.4-12.el6.x86_64
--> Running transaction check
---> Package cronie-anacron.x86_64 0:1.4.4-12.el6 will be installed
--> Processing Dependency: crontabs for package: cronie-anacron-1.4.4-12.el6.x86_64
---> Package exim.x86_64 0:4.72-4.el6 will be installed
--> Running transaction check
---> Package crontabs.noarch 0:1.10-33.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                Arch           Version               Repository    Size
================================================================================
Installing:
 sysstat                x86_64         9.0.4-22.el6          base         230 k
Installing for dependencies:
 cronie                 x86_64         1.4.4-12.el6          base          73 k
 cronie-anacron         x86_64         1.4.4-12.el6          base          30 k
 crontabs               noarch         1.10-33.el6           base          10 k
 exim                   x86_64         4.72-4.el6            epel         1.2 M

Transaction Summary
================================================================================
Install       5 Package(s)

Total download size: 1.6 M
Installed size: 4.8 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): cronie-1.4.4-12.el6.x86_64.rpm                    |  73 kB     00:00
(2/5): cronie-anacron-1.4.4-12.el6.x86_64.rpm            |  30 kB     00:00
(3/5): crontabs-1.10-33.el6.noarch.rpm                   |  10 kB     00:00
(4/5): exim-4.72-4.el6.x86_64.rpm                        | 1.2 MB     00:00
(5/5): sysstat-9.0.4-22.el6.x86_64.rpm                   | 230 kB     00:00
--------------------------------------------------------------------------------
Total                                           2.5 MB/s | 1.6 MB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : exim-4.72-4.el6.x86_64                                       1/5
  Installing : cronie-1.4.4-12.el6.x86_64                                   2/5
  Installing : crontabs-1.10-33.el6.noarch                                  3/5
  Installing : cronie-anacron-1.4.4-12.el6.x86_64                           4/5
  Installing : sysstat-9.0.4-22.el6.x86_64                                  5/5
  Verifying  : crontabs-1.10-33.el6.noarch                                  1/5
  Verifying  : exim-4.72-4.el6.x86_64                                       2/5
  Verifying  : cronie-anacron-1.4.4-12.el6.x86_64                           3/5
  Verifying  : sysstat-9.0.4-22.el6.x86_64                                  4/5
  Verifying  : cronie-1.4.4-12.el6.x86_64                                   5/5

Installed:
  sysstat.x86_64 0:9.0.4-22.el6

Dependency Installed:
  cronie.x86_64 0:1.4.4-12.el6        cronie-anacron.x86_64 0:1.4.4-12.el6
  crontabs.noarch 0:1.10-33.el6       exim.x86_64 0:4.72-4.el6

Complete!
[root@xxxxx  ~]# sar
/var/log/sa/sa25 を開けません: そのようなファイルやディレクトリはありません


[root@xxxxx ~]#  /etc/init.d/sysstat start
Calling the system activity data collector (sadc)...
[root@buront ~]# sar
Linux 2.6.32-431.el6.x86_64 (buront.localdomain)        2014年04月25日  _x86_64_        (2 CPU)

11時12分23秒       LINUX RESTART
[root@xxxxx ~]#


2014年4月23日水曜日

.htaccess メモ

■有効範囲
適用範囲このファイルを制御をおこないたいディレクトリに置けば、そのディレクトリと下位ディレクトリに設定が反映される。
ただし、下位のディレクトリに別の.htaccessがあった場合はそちらが優先される。
上記のようにOverrideが有効になる範囲が設定されている場合は、許可されている範囲でのみ設定が再定義される。

上位のディレクトリやhttpd.conf(access.conf)には共通の設定を記述し、細かい制御をおこないたいディレクトリで個別の設定をかくとよいだろう。
記述のない項目に関しては、上位ディレクトリの設定が継承されるので、心配ならば明示的に記述しておくほうがよいだろう。

■windowsで.htaccessのファイルを作成するとき
GUI上でやろうとすると弾かれてしまうことぬなる











なのでコマンドプロンプトでやる
適当にファイルを作成したらrenameにて .htaccessとファイル名を修正する

2014年4月22日火曜日

mysql 5.5.32インストールメモ windows

■ダウンロード
http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.5/
上記URLからmysql-5.5.32-win32.msiをダウンロード
















■インストール
ダウンロードしたmysql-5.5.32-win32.msiをクリックし実行
以下下記のようにすすめていく































環境変数 Path の設定
インストールディレクトリ/bin をpathに追加する
C:\Program Files\MySQL\MySQL Server 5.5\bin





コマンドプロンプトにてmysqlに接続できるか確認を行う。
mysql -u root -p

2014年4月18日金曜日

文字列処理と入力チェック


ユーザのパスワードを変更する passwd -- LinuxConfig/LinuxCommand

# passwd xxxxxx ・・ユーザ:xxxxxxのパスワードを変更する
# passwd            ・・ユーザ名を指定しない場合はカレントユーザのパスワード変更となる


※rootで他者のパスワードを変更する際は旧パスワードは聞かれない。
※以前使用していたパスワード、またそれと似ているパスワードは設定できない(下記ログはcentos6.3にて施行したもの)
---------------------------------------------
[root@xxxxxx ~]# passwd xxxxxx
ユーザー xxxxxx のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: 全ての認証トークンが正しく更新できました。
[root@xxxxxx ~]# su xxxxxx
[xxxxxx@xxxxxx root]$ passwd
ユーザー xxxxxx のパスワードを変更。
xxxxxx 用にパスワードを変更中
現在のUNIXパスワード: xxxxxxxxxxxx
新しいパスワード:
よくないパスワード: 古いものと似ています
新しいパスワード:
------------------------------------