最近特定国家からの不正アクセスが増えているようです。
このような技術が必要になること自体あまり望むべきことではないのですが、万が一自社サービスが著しく毀損されるようなサイバー攻撃が発生した場合に備えて、防衛手段をシミュレーションしておいても損は無いでしょう。

この例は専用サーバやVPSなどで一般的に用いられているiptablesというファイアウォールを用いた国別フィルタリング方法です。

  1. IPアドレスリストを入手する
    $ wget http://ftp.apnic.net/stats/apnic/delegated-apnic-latest

  2. IPアドレスリストから特定の国を抽出
    $ grep "apnic|XX|ipv4" < delegated-apnic-latest > list_country
    ※ XXが2ケタの国識別コード

  3. ネットワークアドレスを抽出して成型
    $ cat list_country | awk 'BEGIN { FS = "|"; OFMT = "%d"; for (i = 0; i < 32; i++) { pow[32 - i] = 2 ^ i } } { for (j in pow) { if ($5 == pow[j]) print $4 "/" j } }' > list_nwaddr

  4. 管理者権限になる
    $ su
    #

  5. いざ実行
    # while read line;
    do /sbin/iptables -I INPUT -s $line -j DROP;
    done < list_nwaddr

 この手順はシームレスにアクセス拒否設定まで行ったものですが、実際の適用には十分な検証とリカバリー策を講じる必要があります。