GCPのUbuntuでsshguardを有効にしてみる

GCP(Google Cloud Platform)で建ててみたサーバのsshへのアタックがかなり多いので(普通はsshのポート番号を変えておくのだと思いますが)sshguardとufwを連携してみます。

失敗したときシリアルコンソールで繋げられるように、パスワード付きのアカウントを一つ用意しておいて下さい(ユーザ名『ubuntu』のパスワードを変更でも良いかも)。

設定でちょっと嵌まったので、自分用にチラ裏。

# ufw自動起動設定
systemctl enable ufw
# ufw起動
ufw enable
# SSHを許可する例
ufw allow from 0.0.0.0/0 to any port ssh
# httpを許可する例
ufw allow from 0.0.0.0/0 to any port http
# GCPのヘルスチェッカーを許可
ufw allow from 169.254.169.254/32 to any
# ポリシー読み込み
ufw reload

# sshguardの設定(ちょっぴり厳しくしてみる)
vi /etc/default/sshguard
# 15行目
ARGS="-a 30 -p 420 -s 3600"
systemctl restart sshguard

念のため再起動して動作を確認して下さい。

# これらで確認してみる
tail -f /var/log/auth.log
systemctl status ufw
systemctl status sshguard
iptables -vL ufw-user-input
iptables -vL sshguard

設定に失敗してufwやsshguardがコケている時もありますので…。

お使いのペンをタッチペンにするグッズ

以前テレビで見て実際に買って見て、良かったと思えたのでご紹介します。

普段使いのノック式ボールペンの先端部分をこの商品(SMART-Tip)に取り替えるだけで、スマホやタブレットのタッチペンになる物です。荷物が減る/ペンを持ち替えずに画面への書き込みが出来るのが大変便利です。

公式ページはこちら

以下はAmazonのリンクです。

  • UNI ジェットストリーム 4用
      
  • UNI ジェットストリーム 3用
  • パイロット フリクションボール4用
     
  • パイロット フリクションボール3用

スクリーンセーバーからの復帰に失敗するとき

本Tipsは

  • Windows10
  • ディスプレイドライバとしてIntel(R) HD Graphicsを使用している
  • 復帰時にパスワード入力を要求するように設定している
  • サービスとしてIntel(R) HD Graphics Control Panel Service(igfxCUIService)が動いている

状態で、

  1. スクリーンセーバー画面になっている または 省電力でディスプレイが落ちている
  2. Ctrl-Alt-Del押下
  3. 画面がフラッシュするが、パスワード入力画面に遷移せず、一切の操作ができなくなる

場合の対処法となります。

Step1(グラフィックスドライバの更新)

  1. 対象機に該当する最新版のIntel HD Graphicsのドライバーをダウンロードします
  2. 圧縮ファイルの場合、ダウンロードファイルの『プロパティ』で『ブロックの解除』を行ってから展開します
  3. PCをネットワークから切断します(有線/無線両方)
    ※ドライバーがネットワーク経由で再インストールされるのを防ぐため
  4. コントロールパネルの『プログラムのアンインストール』を開き、『インテル(R)グラフィックス・ドライバー』という項目をクリック、アンインストールします
  5. 再起動を要求された場合は再起動します
  6. デバイスマネージャーを開き、『ディスプレイアダプター』を開き、『Microsoft基本ディスプレイアダプター』になっていることを確認します
    ここでインテルのドライバーが残っている場合は、
    1. 当該ドライバーをダブルクリックします
    2. 『プロパティ』→『ドライバータブ』→『削除』と進みます
    3. 『このデバイスのドライバーソフトウェアを削除する』にチェックを入れ、『OK』をクリックします
    4. 念のためPCを再起動します
    5. 更にインテルのドライバーが残っている場合、『Microsoft基本ディスプレイアダプター』になるまで削除→再起動を繰り返します
  7. ダウンロードしたドライバーをインストールします

Step2(怪しいサービスを停止)

  1. Intel(R) HD Graphics Control Panel Serviceのスタートアップの種類を記録し、サービスを停止、スタートアップを無効化します
  2. 念のためPCを再起動します

これで様子を見て改善しない場合は、Step2で停止したigfxCUIServiceのスタートアップを元に戻して下さい。

ドライバーのアップデート(WindowsUpdateや手動)、OS自体のWindowsUpdateによって事象が再発するようになった場合は、この手順をふたたび試してみて下さい。

QUALYS SSL LABSのSSL Server Testで合格するために

QUALYS SSL LABSのSSL Server Testで合格するために気をつけておいた方が良いかと思われる、先日の『WebサイトのSSL化の時には中間証明書にも気をつけてあげて下さい』対応の時にも参考にした自分用メモです(最初にこれらのページにお世話になったのは、2018年5月6日という記録が残っていました)。

GCP上にDNSゾーンを一括処理で作ってみる

  • 緊急にDNSサーバを立ち上げなければならない場合を想定して作成しました
  • 『事前準備』と『作業環境構築』は(やっておいて損は無いので)事前に準備しておいて下さい
  • 『ゾーン作成』以降がイベント発生時の作業となります
  • CLIで流し込む方法を主に書いてあります
  • 2019/04時点での手順書です
  • whoisの更新は自由に出来るものとします

事前準備

Googleアカウントを作成します。

GCPコンソールにログインし、プロジェクトだけ作成しておいて下さい。

このテキストでは『my_zone』とします。

作業環境構築

WindowsPCを想定しています。

Node.jsやPythonを入れるのが面倒環境依存を排除するため、WSLで作成します。

ゾーン作成

GUIから可です。

CLIの場合は、(外部公開/非公開設定がbetaのみのため)betaコマンドで作成します。

gcloud beta dns managed-zones create --dns-name="my_domain." --visibility=public --description=my_zone my_zone
# ドメイン名
#   my_domain
# 外部公開
#   する
# ゾーン名
#   my_zone

ゾーン内容のフラッシュ

# 一括削除はCLIから行います
touch empty-file
gcloud dns record-sets import -z my_zone --delete-all-existing empty-file

ゾーンの削除

# ゾーンをクリアしてから削除します
touch empty-file
gcloud dns record-sets import -z my_zone --delete-all-existing empty-file
gcloud dns managed-zones delete my_zone

レコード一括追加

gcloud dns record-sets transaction start   -z=my_zone
gcloud dns record-sets transaction add     -z=my_zone --name="ns1.my_domain."  --type=A     --ttl=300 "192.168.0.1"
gcloud dns record-sets transaction add     -z=my_zone --name="ns2.my_domain."  --type=A     --ttl=300 "192.168.0.2"
gcloud dns record-sets transaction add     -z=my_zone --name="www.my_domain."  --type=A     --ttl=300 "192.168.0.3"
gcloud dns record-sets transaction add     -z=my_zone --name="mx1.my_domain."  --type=A     --ttl=300 "192.168.0.4"
gcloud dns record-sets transaction add     -z=my_zone --name="mx2.my_domain."  --type=A     --ttl=300 "192.168.0.5"
gcloud dns record-sets transaction add     -z=my_zone --name="test.my_domain." --type=CNAME --ttl=300 "www.my_domain."
gcloud dns record-sets transaction add     -z=my_zone --name="my_domain."      --type=MX    --ttl=300 "10 mx1.my_domain." "100 mx2.my_domain."
gcloud dns record-sets transaction execute -z=my_zone

レコード一括追加中断

# 一括処理中にエラーが出たり誤りを見付けた時
# 一旦中断しないと以後の作業に差し支えが出ます
gcloud dns record-sets transaction abort -z=my_zone