VPS(centOS6)のfirewall

  1. セキュリティグループ
    主に管理パネルなどで許可する(許可していなくてもポートスキャンはLISTENになるので注意)
  2. SELinux
    扱いが厄介なので普通のコンテンツ提供だけならOFFでいいと思う。
  3. TCP Wrapper
    特定のIPからのアクセスを許可(# vi /etc/hosts.allow)、不許可する(vi /etc/hosts.deny)
  4. iptables
    ホストレベルのFirewall(#  iptables –list)

たいてい80番以外は塞がれている

国外リスト
国外アクセス拒否リスト

ランサムウェア予防と対策

予防は一般的なマルウェア感染と同じ

  1. メールの添付ファイルは開かない → 送り主に電話で確認
  2. メールに書いてあるURLは開かない → 開きたかったらJavascriptは無効にしておく
  3. ブラウザアップデート、ウィルス定義更新は起動時に確認しておく

対策

ファイルのバックアップ
ソフト的に自動バックアップ、差分バックアップを毎日
※ここで注意すべきはバックアップ媒体を接続しっぱなしにしないこと。
RAIDなどでハード的なリアルタイムバックアップは意味が無い

被害にあった場合の対処

Ransomware_file_lock_type[1]

  1. とりあえず複合できないか自分で試す。
  2. 腕に覚えがある人に見積もりしてもらう。
  3. IPAに相談

情報セキュリティ 27年秋午後1 解説

27年秋  問1

設問1

可用性: 販売チャネルの大部分を担い、常時稼働が必要なため

完全性: 投資家に正確な財務情報、会社情報を提供するため

(2つ別別のものを書かせたい意図がある)

 

設問3   

  b.  ANY   c. 遮断 (3つとも同じはないと思って時間をかけたが、全部遮断だった)
 d.cookie e. 遮断
  f. Multipart g. 遮断

(4) WAFと同じ権限でHTTPが動作することの問題
    必要最小限権限で動作させる (権限とくれば必要最小限)

 

(5) WAFのルールが正確に動作することを検証し改善できる・

正解 → 販売機会損失などのビジネスチャンスを逃さずに誤検知の検証ができる

※ フォールスポジティブ or フォールスネガティブ とくれば 誤検知検証

 

27年秋  問2

設問1

 ☓Kシステムの管理者 → ◎Y社管理者 (問題文中にどこにも出てこない。出ている管理者から選べ!)

 

設問2 作業対象のサーバーにだけアクセスできるように

☓FW1 → 「S社PC」 から 「管理サーバー」へのみ  (実際に設定するのはFW1のIPになるはずだが)

設問3

2案ではS社PCにシステムをインストールする必要が無いため

正解例 → 委託先PCへインストールするプログラムの資産管理をする必要がないため。

要はS社の資産だから管理が及びにくいということだろう

 

 

27年秋  問3

設問3

(1) 3,4 だけ ,5, 6はローカルからの許可なので攻撃ではない

(2)②ポリシを満たしてないことが判明
   正解は5 (すべてのサービスを許可している必要はない)

   また、サービスを満たすように2つ

   1 ファイル共有
   2 リモートデスクトップ

 

設問4 どのような攻撃を防ぐか?

(a) サーブレットコンテナの管理画面に対するインターネットからの不正アクセス

 

(b)自動的にログインを行う OS の仕様を利用した,他のサーバへの侵入

(確かに問題文に書いてあるが、認証にはベーシック認証と書いているのでつじつまがあわない、と思って調べてみたら、ActiveDirectoryと連携するIISの認証機能でシングルサインオンでいけるらしい)

 

xmlrpc.php へのアタック対策 Apache & nginx

xmlrpc.php はwordpressのファイルで、管理画面以外から投稿を受け入れる機能があるファイル。
このファイルを狙ったアタックを検知した。
xmlrpc

このファイルへのアクセスはデフォルトでこんな感じ
urlbarxmlaccess

 

プラグインで防ぐ方法もあるようだが、htaccessでできる
xmlrpcは使わないので0.0.0.0へリダイレクト
ついでにcronとloginにはIP制限する

  <Files ~ "(wp-cron|wp-login)\.php$">
 Order deny,allow
Deny from all
Allow from 許可IP 192.168.0.0/255.255.0.0
AuthType Basic
AuthName "ENTER YOUR NAME & PASSWORD TO LOGIN"
AuthUserFile /home/.user/.htpasswd
Require valid-user
Satisfy any
</Files>

RewriteEngine On
RewriteBase /
RewriteRule ^xmlrpc\.php$ "http\:\/\/0\.0\.0\.0\/" [R=301,L]

HTTPレスポンスが200から404に変わった。
見てみると
xml404
アタックも止まった。うまく行ったようだ。

 

以下は nginxの場合 

confファイルに追加して再起動]


#access denyed
location = /xmlrpc.php {
deny all;
access_log off;
error_log off;
}
#複数ファイルならこう
location ~ (/xmlrpc.php|/moodle/calendar/set.php|/moodle/calendar/view.php)$ {

wordpressのログインアタック (ブルートフォース攻撃)

GoogleAnalyticsの最近のアクセス状況。
GoogleAnalytics

不自然なアクセス数の増減からログを調べたところこんなかんじだった。


logatt1

こいつのWhois情報
logatt2

とりあえずhtaccessであちこちブロック deny from 排除したいIPアドレス
logatt3

投稿の作者名がIDと同じなのはマズイ。名には日本語を入れるといい.
そして、ブログ上の表示名を日本語の表記にする。

プラグインも入れておけ Limit Login Attempts

それでも効果ないならこれをwp-login.php先頭のほうに追加。”てきとうなひらがな”をセッション変数に格納するphpファイルを作って、wp-login.phpにリンクを貼っておく。これで効果覿面

session_start();
if(!isset($_SESSION['任意文字'])){
    echo '<h1>404 Not Found<hr></h1>';
    exit;
}
if($_SESSION['任意文字']!="てきとうなひらがな"){
    echo '<h1>404 Not Found<hr></h1>';
    exit;
}


もっと設置が楽な方法として、wp-adminディレクトリにBsic認証を設置する方法がある