javeって何よ?

29日の18:00ぐらいから、CentOS7のVPSサーバーに繋がらなくなった。
再起動しても、5分ぐらい経つとSSHでの接続もタイムアウトになる。

プロセスを見てみると、/tmp/javeってのがCPUリソース食いまくってるのみたい。

[root@jhhk-family bin]# ps -auxf
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
(中略)
root 513 67.8 0.0 107076 1064 ? Ssl 18:46 2:52 /tmp/jave

netstatはこんな感じ

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name Timer
cp 0 55 182.163.72.51:59867 23.228.105.6:25000 ESTABLISHED 17759/jave on (0.20/0/0)

pkillしても、すぐに上がってくるからKernel関係のプロセス?と思ったけど、ググッてもそんな情報無いし、とりあえず止めてもサービスには影響は無かったのでcrondで毎分pkill投げてる。


botとかで踏まれてる可能性もあるから、iptablesは固くした。
時間見てちゃんと調べよう。

14:27追記
以下の事をやられていたので、追加で対策。
1)/root/.ssh/の公開鍵のtimestampが変わっている
  作業用でrootログインを許可して鍵認証していたけど、authorized_keyの
timestampが昨日になっていた。
SSHのログインを禁止して、authorized_keyを削除

2)/tmp/色々のパーミッション変更
不正な実行ファイルは/tmp/javeだけど、/tmp下に関連しそうなファイルがあった。
  ———- 1 root root 73 12月 30 13:36 conf.n
———- 1 root root 5 12月 30 13:36 gates.lod
———- 1 root root 1223123 12月 30 14:32 jave
———- 1 root root 5 12月 30 13:36 moni.lod
javeと同様、単純に消しちゃうと再作成された為、全てのパーミッションを取り除く。
※ 上記の不正なファイル関連は、ファイルの存在のみ見ているみたいだったので、
パーミッション変更後にpkill /tmp/javeとすると、2度とjaveは起動しなくなった。

でも、root取られていたので他にも悪さしている箇所があるかも。
ログも信用出来なくなったので、年明けに再構築しないと、、、

  

SQL Serverのversionによって処理を分けたい場合

SQL Serverのversionによって処理を分けたい場合
もうちょっと細かいversionで分けられると思うけど、
今はSQL Server 2008 か 2012 か 2014 かぐらいで分けれれば問題ない。

[code]declare @VERSION_FULL nvarchar(max);
declare @VERSION int;
SET @VERSION_FULL = (SELECT convert (nvarchar(max),SERVERPROPERTY(‘productversion’)));
SET @VERSION = substring(@VERSION_FULL, 1, 2)
IF @VERSION = 10
— SQL SERVER 2008での処理
BEGIN
PRINT ‘2008’;
END
ELSE
BEGIN
IF @VERSION = 11
— SQL SERVER 2012での処理
PRINT ‘2012’;
ELSE
— SQL SERVER 2014での処理
PRINT ‘2014’;
END ;
GO
[/code]