[サーバ] お行儀の悪いアタック国ランキング

前回の続きです。
狙われやすいアカウント名ランキングに続きまして、どこの国からアタックを受けているかも調査してみました。…まぁなんとなく結果はわかっていましたが、数値化するのが大事ですよね!(虚空を見つめがら)

結果発表

IPアドレス単位

#カウントIPアドレス国CD国名
143,148218.92.1.163CN中国
243,14758.242.83.7CN中国
343,147218.92.1.174CN中国
443,147218.92.1.173CN中国
531,139112.85.42.196CN中国
627,063218.92.1.181CN中国
721,800112.85.42.238CN中国
820,223112.85.42.197CN中国
913,908218.92.1.172CN中国
1010,678112.85.42.232CN中国
119,605112.85.42.233CN中国
128,584112.85.42.151CN中国
136,73558.242.83.17CN中国
146,666193.201.224.216UAウクライナ共和国
153,559122.194.229.49CN中国
163,359112.85.42.231CN中国
173,228112.85.42.193CN中国
182,558101.91.215.199CN中国
192,548101.91.215.80CN中国
201,818188.92.77.235LVラトビア共和国
211,505122.194.229.18CN中国
221,483106.13.34.94CN中国
231,209188.92.75.248LVラトビア共和国
2498059.46.135.42CN中国
25828146.0.228.106DEドイツ連邦共和国
26719206.189.149.126SGシンガポール
27606112.85.42.235CN中国
2857554.169.36.191SGシンガポール
29408185.246.128.25SEスウェーデン王国
30402103.207.38.197VNベトナム

国単位

#行ラベル合計 / カウント割合
1中国353,34187.5079%
2アメリカ合衆国8,1282.0130%
3ウクライナ共和国6,9391.7185%
4フランス共和国4,7291.1712%
5ラトビア共和国3,0390.7526%
6シンガポール2,8930.7165%
7ドイツ連邦共和国2,2700.5622%
8インド1,9750.4891%
9ロシア1,6290.4034%
10大韓民国1,5040.3725%
11ブラジル連邦共和国1,4430.3574%
12イギリス1,3460.3333%
13オランダ王国1,1760.2912%
14カナダ9220.2283%
15ベトナム8990.2226%
16インドネシア共和国8570.2122%
17イタリア共和国6880.1704%
18ポーランド共和国6340.1570%
19コロンビア共和国6260.1550%
20スウェーデン王国5250.1300%
21日本4940.1223%
22メキシコ合衆国4830.1196%
23香港4450.1102%
24中華民国4410.1092%
25アルゼンチン共和国4280.1060%
26タイ王国3880.0961%
27スペイン2760.0684%
28イラン・イスラム共和国2220.0550%
29南アフリカ2150.0532%
30マレーシア2110.0523%

結論

中国からのアクセスをブロックすれば80%以上のアタックを防げる結果になりました\(^o^)/

ちなみに日本からのアタックは494件、0.1223%でした。
続きを読む

[サーバ] 狙われやすいアカウント名ランキング8000

専門学校の生徒用にAWS(Lightsail)でサーバを一台用意しているのですが、(乗っ取られてはいない物の)意図せずハニーポット状態になっていたので、どのアカウント名が狙われていたか軽く集計してみました。

前提

サーバ自体は2018年12月16日に立ち上げたのですが、現存する最古のデータが1月6日となっていたためざっくり1ヶ月間(27日程度)のデータと思っていただければと。

この間の/var/log/secureを集計すると約45万件のアタックを受けていた計算になります。

$ sudo grep -c 'Failed' /var/log/secure*
/var/log/secure:18982
/var/log/secure-20190113:127392
/var/log/secure-20190120:46130
/var/log/secure-20190127:132703
/var/log/secure-20190203:78543

403,750件

$ sudo grep -c 'Invalid' /var/log/secure*
/var/log/secure:1849
/var/log/secure-20190113:10378
/var/log/secure-20190120:11506
/var/log/secure-20190127:9932
/var/log/secure-20190203:14927

48,592件

続きを読む

[Firebase] 静的なWebサイトをホスティングする

FirebaseのHostingを利用すれば基本無料で静的なサイトを運用できます。
独自ドメインも追加でき、何らならSSL証明書も無料でついてくるという太っ腹。もしサイトが成長し膨大なアクセスが発生した場合は課金する必要がありますが、こちらがプラン変更しない限り料金は一切発生しません。

ドメインやDNSの準備や設定、本番へデプロイ(反映)するにはコマンドを叩く必要がありますが、それさえ乗り越えてしまえばさほど難しくはありません。

環境の準備

プロジェクトの作成

サイトを設置するためのプロジェクトが必要になります。
プロジェクトの作成方法は以下のページを参照くださいませ。

Node.jsのインストール

Hostingの利用は原則としてTerminalなどのCLI上でコマンドを叩いて行いますので、まずはその準備を行います。

Node.jsがインストールされている必要があります。公式サイトからダウンロードしインストールしてください。「推奨版」と書かれている方でOKです。

もしmacOSを利用されている場合で、凝った設定をしたい場合は以下のページを参照くださいませ。

FirebaseのCLIツールをインストール

Node.jsをインストールするとnpmという、様々なライブラリやツールを取得できる便利なツールが同時に入るのですが、これを使ってインストールを行います。

$ npm install -g firebase-tools

今回は以下のバージョンが入りました。

$ firebase --version
6.3.0

続きを読む

フリーランスが経費にする際の勘定科目メモ – 2019年

2018年分の確定申告終了まで残り68日となりました(執筆時点)
みなさん順調に入力進んでますか?こちらは地獄ですw

今回は自分でも時々わからなくなる勘定科目についてメモ代わりにまとめました。
定期的に思いついたら更新したいと思います。

前提のお話

私は大きく2つの事業を行っております。

  • ゲーム関係の企画、コンサル、技術的なサポートと一部開発及び運用
  • 専門学校の非常勤講師

あくまでこちらの範囲で登場するの勘定科目のうち、私が利用している物に限定されます。

免責事項

  • ここでいうフリーランスとは「個人事業主」のことを指しています。
    • 会社会計の場合はまた異なりますのでご注意を。
  • ここにある物が100%の正解というわけでありません。あくまで個人的な知識と見解でメモしておりますので最終的にはご自身の考え方で仕訳をなさってください。ご不明な点は税理士の先生や税務署にご相談ください。
  • 「経費」とタイトルに書いてありますが売上など収益についての勘定科目も登場します。
  • 一定額を超える物を購入した場合は資産として計上する必要があるのでご注意ください。

それでは張り切ってどうぞ。
続きを読む

AWS Organizationsでアカウント管理してみる

過去、AWSを大きな組織や複数のプロジェクトで利用する場合、AWSのアカウント自体を複数用意して利用していたわけですが、2017年2月に登場した「AWS Organizations」を利用すると、請求先の一元化や、ユーザーの権限管理が一括して行えます。

考え方

これまで

それぞれのアカウントが独立して存在しており、請求情報やユーザー管理もそれぞれ行う必要がありました。

AWS Organizations導入後

図はイメージですが、AWSアカウント内に「組織」を作成することで、独立した世界を用意することができます。

請求情報は「親」で一元管理できます。
また必要があれば各ユーザーに対し制限をまとめてかけることもできます。

「子ユーザー」はルートユーザーと同じ権限が与えられますので、組織内のユーザーから見ても、使い勝手はこれまでと変わりません。また各組織が影響を与えることもありませんので万が一の場合の影響範囲を心配する必要がないのもこれまでと変わらないポイントです。

続きを読む

AWSアカウントの2段階認証を設定する

もうどこからアカウント情報が漏れるかわかりませんからね。昨年GitHubの2段階認証の設定をしたように、今回はAWSのアカウントにも施したいと思います。特にルートアカウント。

認証方法

詳しくはAWSの「多要素認証」のページに書かれていますが、実質的にスマホアプリか専用のデバイスを用いることになります。

仮想 MFA アプリケーション

要はスマホのアプリで認証するタイプ。
Google認証とAuthy2、WindowsPhone用の「認証システム」に対応しているようです。

OSアプリ
AndroidGoogle認証 / Authy2
iOSGoogle認証 / Authy2
WindowsPhone認証システム

U2F セキュリティキー

物理的な認証デバイスとの連携にも対応しているようです。
USBポートに差し込んで指紋を読み取らせるだけで、ワンタイムパスワード的な物が発行されログインできる便利なやつですね。興味のある方はAmazonからも購入できるのでどうぞ。

[正規販売代理店品]YubiKey 4
Yubico
売り上げランキング: 35,432

SMS MFA

新規受付はすでに終了したそうです。また既存ユーザーも2019年1月31日で提供終了とのこと。がーん。本命だったのに(´・ω・`)

続きを読む

映画「シュガー・ラッシュ:オンライン」ラルフ、YouTuberになる ★★★☆☆

2012年に公開された「シュガー・ラッシュ」の続編、「シュガー・ラッシュ:オンライン」を封切り日に見てきました。

結論から言うと……なにこれ切ない。
クリスマスや年末年始シーズンに公開される映画だよね?しかもディズニー映画で!?ってくらい意表を突かれたテーマとラストでした。原題のRalph Breaks the Internetの名の通り、主人公ラルフが最終的にインターネットの世界を壊して回るのですが、壊れたのは果たしてインターネットだけだったのか…。


続きを読む

GitHub APIでIssueを操作する with PHP

GitHubへ一度に大量のIssueの登録をしなければならない、プロジェクト開始時などよくあるシチュエーションかと思います。10件や20件程度なら手作業でも良いのですが、数十個を超えてくるとさすがに人間でやるのは大変すぎるので機械にお願いしたいところ。

今回はGitHub APIをPHPから利用し、Issueの登録と更新、一覧の取得を行いたいと思います。

GitHub API

GitHubには開発者用に各種APIが整備されており、RESTful APIGraphQLを用いて様々な操作を行うことができます。

おとこらしくcurlなどで実装してもよいのですが、すでに公開されているライブラリの中から好みの物を用いてIssueの操作を行います。本来の目的は楽をするはずなのに、ここで苦労してはよくわからないことになりますしねw


続きを読む

Gitを使い始めたら一番最初にやりたい `git config`設定メモ

Gitで一番最初にやる設定をよく忘れるのでちょっとメモしておきます。

git config

Gitの設定を行うにはgit configコマンドを利用するか、設定ファイルを直接作成&編集します。

git configコマンドを実行すると自動的に設定ファイルが作成されます。すでに設定ファイルが存在している場合には、指定した項目が上書き保存されます。設定ファイル自体も以下のようにini形式のファイルとなっており、編集自体もそれほど難しくありません。

$ cat ~/.gitconfig 
[user]
    name  = Makito Katsube
    email = katsubemakito@gmail.com
[color]
    ui = true

また設定ファイルを設置する場所、またコマンドのオプションで影響範囲が変わりますので、複数人でチーム開発する際にはGitの設定をどうやって管理するかは事前に話し合っておく必要もあります。

影響範囲ファイルコマンド
システム全体/etc/gitconfiggit config --system (設定内容)
各ユーザー~/.gitconfig または ~/.config/git/configgit config --global (設定内容)
リポジトリリポジトリの .git/configgit config --local (設定内容)
※カレントディレクトリが各リポジトリのワーキングディレクトリである必要があります

同じ設定項目があった場合、リポジトリ内にある設定が最優先されます。

このページでは git config --global を前提としてご紹介します。
続きを読む

Apacheで日本からのアクセスのみ受け付ける

アクセスログを眺めていると海外からのアタックが非常に多いですよね。アジア圏は元より欧米からも日常的にやってきます。一般的なWebサービスなどはある意味仕方がないのですが、身内だけのツールや自分しか使わない物など間違いなく日本以外からアクセスがない物についてはサーバの設定で弾くことでリスクを多少なりとも減らすことができます。

そこで今回はApacheで海外からのアクセスを防ぐ設定、言い換えると日本からのリクエストのみ受け付ける設定について取り上げます。
続きを読む

CentOS7.5にLibreOfficeをyumでインストールする

CentOS上でオフィススイートが必要になったため、今回はLibreOfficeを入れてみます。

10年ほど前に同じく無料のオフィススイートであるOpenOfficeを使っていたのを思い出しましたが、軽くググると2011年に開発プロジェクトは解散しApacheに譲渡されたみたいですね。当時はUIが残念で日々ストレスでハゲそうでしたw それに反してLibreOfficeは最初に触ったときから非常に使いやすいかったのをよく覚えています。
続きを読む

GoogleAppsScript(GAS)のIPアドレス範囲を調べる

GASからUrlFetchApp.fetch()した場合にどのIPアドレスからリクエストが来るか事前に知りたい場合がありますよね。社内や身内だけで使っているクローズドなサーバなどでです。今回はこの調査方法についてまとめます。
続きを読む