Apache Struts 2 CVE-2017-5638 の影響を受けたサイトまとめ

2017/03から数ヶ月の個人情報流出をやってしまったようなサイトは例外なくこの脆弱性を狙われている。

GMOペイメント運営の「都税クレジットカードお支払いサイト」と住宅金融支援機構の「団体信用生命保険特約料クレジットカード支払いサイト」
チケットぴあ運営の(B.LEAGUE)のチケット販売用サイトとファンクラブ受付用サイト
JINSオンラインショップ

そもそもクレジットカード情報を安易に保持しておくことが問題なのだが、
(暗号化していてもWebサーバー上で簡単に複合化できるのであれば暗号化してないのと一緒)
脆弱性を放置しているような会社が今後もまともなセキュリティ運用ができるとも考えられず。

利用者が自衛策として不正利用を常に監視しておくぐらいしかないのだろうかね。

カテゴリー: 未分類 | タグ: | コメントする

Jenkins pipeline stage途中で 処理を異常終了 error

これまた簡単なのだが、いちいちトライ&エラーしないと答えが出てこないのが困りどころ。
error “メッセージ”でよい。

   stage('paramCheck') {
        if (!NEXT_VERSION) {
            error "NEXT_VERSION is empty!"
        }
   }

異常終了じゃなくて、後続に続ける場合はreturn を使うべし!

カテゴリー: 未分類 | タグ: , | コメントする

Jenkins pipeline パラメータの値チェック

Jenkinsのパラメータを必須にしたいとかの場合に値チェックをpipelineで実装する方法

簡単である。

   stage('paramCheck') {
        if (!NEXT_VERSION) {
            echo "NEXT_VERSION is empty!"
        }
   }
カテゴリー: 未分類 | タグ: , | コメントする

mvn 実行時にエラー: メイン・クラスorg.codehaus.classworlds.Launcherが見つからなかったかロードできませんでした

たまにコマンドラインでmavenを使ったら、表題のエラーに遭遇した。
何回か遭遇しているはずなのに、解決策はいつもググって見つけている。

そろそろまとめるか。
このエラーの根本原因は実行しようとしているmvnのパスとM2_HOMEのパスが違っていることが原因なので

unset M2_HOME

で解消。

カテゴリー: 未分類 | タグ: , | コメントする

npm インストールできない時はnode_modules以下を固めて持ってくる

なんかわからないがnpmは依存モジュールの取得に関して不安定なところがある。

npm installしたときにうまくいった場合、その環境をバックアップしておくことを勧める。

今回も新規作成した環境でnpm install時にエラー

npm ERR! network tunneling socket could not be established, cause=connect EINVAL
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network 
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

意訳:ネットワークコネクションが確立できなかった。これはnpmの問題ではない可能性が高い。ほとんどの場合はproxyかバックエンドのネットワークのせいである。proxy利用の場合は正しく設定されているかnpm help configを見て確認してね。

しかし実際にはproxyも正しく設定されているのにこの有様である。
こういう時はすでにインストールに成功したマシンのnode_modulesをtarで固めて、ダメなマシンに持ってくる。

そのあとで展開し、キャッシュ有効期限を伸ばしてインストールするとネットに見に行かないので謎のエラーも回避できる。

npm install --cache-min 99999999999
カテゴリー: 未分類 | タグ: , | コメントする

ORACLE 制約確認

ドキュメントが手元にないときにサクッと調べるSQL

SQLPlusだと見辛いので上の四行を入れている。

set linesize 1000
set colsep ,
set trimspool on
set pagesize 0

select
 c.table_name, c.constraint_name, c.constraint_type,
 cc.position, cc.column_name
from user_constraints c, user_cons_columns cc 
where c.table_name      = cc.table_name
  and c.constraint_name = cc.constraint_name
  and c.table_name = 'テーブル名'
order by cc.table_name, cc.constraint_name, cc.position
;
カテゴリー: Database, Oracle | コメントする

CF-RZ5 不具合の原因はソフトウェア?

SSD換装した値段を考えても5万以下のCF-S10と比べると20万以上したCF-RZ5はコストパフォーマンスが悪い!

購入して依頼、バッテリーは持たないわ、動きは遅いわ、WIFIが切れると再起動しないとWIFI自体を認識しなくなるなどなどの不具合に悩まされてきた。
特にWIFI関連で使えなくなると、再起動に数分かかるので、もうゴミ箱直行させようかと思うほど。

Acronis True Image 2016で簡単にリカバリーできると思いきやこのソフトも復元パーティションを選ぶだけでクラッシュするというゴミ箱決定なクオリティ。アップデートも失敗するというリカバリーソフトにあるまじき信頼性。

てなわけでパーティションの構成は保持したままリカバリー。1時間ぐらいかかったが、Windows10のさらさらの状態に戻った。
心なしかバッテリーの持ちが長くなり、動作も安定した気がする。安定しているうちに最新バージョンのビルド1703にアップデート。

ついでにWindows標準のシステムイメージの作成(これは復元実績何回もあり)をしておく。
二日ほど利用しているが、WIFIを掴まなくなる不具合は発生していないし、バッテリーの持ちも確実に伸びた。

アンチウイルスソフトですら入れていないという状況ではあるが、危険なことをしないのでオンラインスキャンでいいか?と思えるぐらい不具合とは無縁になった。

カテゴリー: Let's note | タグ: , | コメントする

Jenkins2 pipeline 成果物のnode間コピー

これまでcopy slave pluginでできていたが、これをJenkins2のpipelineで代用するにはどうするか?

答え: stash/unstashを使う!

node('slave') {
   stage('build') {
      sh "'${mvnHome}/bin/mvn' -f some-webapp/pom.xml clean package"
      stash name: 'some-webapp', includes: '**/*.war'
   }
}
node('master') {
    unstash name: 'some-webapp'
}

上記はslaveでwarをビルドして、そのwarをmasterで受け取るサンプル。内容的には同じフォルダ構造がノード間でコピーされるが、
includesで指定されたファイルのみコピーされる(この場合はwar)

カテゴリー: 未分類 | コメントする

Jenkins2 pipeline 複数行のシェル実行

Jenkins2系から利用できる様になったPipelineであるが、これまでやってきたことをどうやるんだっけというのが初めてだと詰まるので
これから連続記事投稿

まずはシェルの実行だが、普通にsh “シェルコマンド” だと複数行ある時に変数がリセットされたりするので、複数行のシェルを移植したい時はどうするか?

   stage('shell build') {
      sh '''
      source ~/.bash_profile
      pwd
      '''
   }

シングルクォート3連続でくくった部分は複数行のシェルと認識される!

カテゴリー: 未分類 | タグ: , | コメントする

Jenkins 2.63 スレーブ起動にはJDK8が必要?

Jenkinsのバージョンアップは週単位と考えて良いほど早い。

てなわけで1.6から2.6まで一気に上げてみたら、既存のSSH経由でのslave起動に失敗。
途方に暮れていたが、よく考えればJDKのバージョンが1.7なので1.8に上げてみたらうまくいった。

しかしJDKのバージョンが基準を満たしていないのなら、起動前にチェックして教えて欲しいものだ。
前回のAnsibleのエラーメッセージといい、不親切なエラーメッセージに苦しめられた

カテゴリー: 未分類 | タグ: , | コメントする