欧州連合のGDPRがウザいので弾いてみる

これまで西ヨーロッパの国からの膨大な迷惑アクセスというのは経験したことは殆どないので西欧はフィルタリングすることはないかなと思っていたけど変なアクセスが多いというのとは違う意味で超ウザいEU一般データ保護規則(GDPR)とかいうのが欧州連合(EU)加盟28ヶ国で今日から適用される。
EUの中だけでやる分には全然構わないんだけど個人情報を処理・管理する場合に欧州外に拠点があっても(日本でも)適用され違反したら制裁有りというというフザけた内容。例えば日本にしか拠点がなくてEU加盟国の利用者の個人情報を扱うなら代理人を決めてEU内に最低でも1拠点を置かないとダメとか言ってる。無理っしょ。

メンドクセーから欧州連合(EU)はネットワークサービス提供者にとっては、いっそ弾いてしまった方が全然楽。

で、何処で弾くかとなると手っ取り早いのはやはりファイアウォール。ポリシーに従ってIP単位で全弾きでもポート単位で弾くのでも。

「がとらぼ」では例によってpf, ipfw, iptables用を用意した。CIDRは最適化済み。CIDRだけ欲しいという場合はpf用がそれ。
なお、IPv4のみ。IPv6については今後考える。

EU 28加盟国
国名・地域pfipfwiptables
EU 28加盟国

TLDでいえばAT,BE,BG,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IT,LT,LU,LV,MT,NL,PL,PT,RO,SE,SI,SK。

役に立つのか? EUは弾いてるからGDPRなんか知らんよというアリバイね。

鎖国フィルタ (Country Filter)にも追加。

openSUSEでAtomエディタを使ってみる

LinuxのopenSUSEには標準でKateというエディタがインストールされている。(デスクトップ環境がKDEの場合)。KateはWindowsの「メモ帳」なんかとは比べ物にならないほど高機能でテキストエディタとしてはこれだけでも十分という人もいるかも。ただし、プログラムのコードを書くとか正規表現を駆使して書き換えまくるタイプの人には足りないというかちょっと変なところがあるので合わない筈。

そこで良さげなのがAtomエディタ。エディタというかIDEといった感じもあるけど。
IDEならVisual Studio Codeのが良くね?という意見もあるかもしれないがIDEが欲しいわけじゃない。ドキュメントを書くエディタとして見るとAtomかなと。Vimエディタライクな操作もできるようだし。

openSUSEの「ソフトウエア管理」ではインストールできないので自分でファイルをダウンロードしてインストールしてやる必要があるが簡単。

Atomのインストール

atomエディタ 1
Atomのウェブサイトから自分の使用しているOSに合ったファイルをダウンロードする。openSUSEならLinux用の.rpmファイルになる。

# zypper install atom.x86_64.rpm
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 6 NEW packages are going to be installed:
  atom glibc-i18ndata lsb5-core m4 ncurses-devel tack

6 new packages to install.
Overall download size: 141.7 MiB. Already cached: 0 B. After the operation, additional 539.9 MiB will be used.
Continue? [y/n/...? shows all options] (y): y
Retrieving package m4-1.4.16-6.3.x86_64                                     (1/6), 232.7 KiB (490.9 KiB unpacked)
Retrieving: m4-1.4.16-6.3.x86_64.rpm .........................................................[done (13.5 KiB/s)]
Retrieving package glibc-i18ndata-2.22-16.3.noarch                          (2/6),   3.2 MiB ( 10.9 MiB unpacked)
Retrieving: glibc-i18ndata-2.22-16.3.noarch.rpm ...............................................[done (2.0 MiB/s)]
Retrieving package tack-5.9-62.1.x86_64                                     (3/6), 151.8 KiB (168.7 KiB unpacked)
Retrieving: tack-5.9-62.1.x86_64.rpm ......................................................................[done]
Retrieving package ncurses-devel-5.9-62.1.x86_64                            (4/6),   3.4 MiB ( 25.0 MiB unpacked)
Retrieving: ncurses-devel-5.9-62.1.x86_64.rpm .................................................[done (3.0 MiB/s)]
Retrieving package lsb5-core-5.0-4.2.x86_64                                 (5/6),   7.1 KiB (    0   B unpacked)
Retrieving: lsb5-core-5.0-4.2.x86_64.rpm ..................................................................[done]
Retrieving package atom-1.27.0-0.1.x86_64                                   (6/6), 134.7 MiB (503.3 MiB unpacked)
atom.x86_64.rpm:
    Package is not signed!

atom-1.27.0-0.1.x86_64 (Plain RPM files cache): Signature verification failed [6-File is unsigned]
Abort, retry, ignore? [a/r/i] (a): i
Checking for file conflicts: ..............................................................................[done]
(1/6) Installing: m4-1.4.16-6.3.x86_64 ....................................................................[done]
(2/6) Installing: glibc-i18ndata-2.22-16.3.noarch .........................................................[done]
(3/6) Installing: tack-5.9-62.1.x86_64 ....................................................................[done]
(4/6) Installing: ncurses-devel-5.9-62.1.x86_64 ...........................................................[done]
(5/6) Installing: lsb5-core-5.0-4.2.x86_64 ................................................................[done]
(6/6) Installing: atom-1.27.0-0.1.x86_64 ..................................................................[done]

ターミナルで基本的にコマンド1つで簡単にインストールできる。途中で署名確認の問い合わせがあるので [i]と[Enter] を打つだけ。管理者権限がないアカウントでは上のコマンドの前に sudo を付けて実行。または su - [Enter] で管理者になってから実行。)

Atomエディタの実行

atomエディタ 2
openSUSEでは上の手順でAtomをインストールするとアプリケーションメニュー(Windowsのスタートボタン相当)から「ユーティリティ」を辿るとAtomのアイテムが出来ている。それをクリックして実行。

atomエディタ 3
初回起動時は上の画像のように余計なのがいろいろ表示される。上部のタブでuntitled以外は要らないのでタブに合わせて☓で消す。その前に上の画像の左列中段に見える Show Welcome Guide when opening Atomのチェックを外しておく。

atomエディタ 4
HTMLで何か書いて置換する。右下でモードを変更できるのでHTMLを書くならHTMLモードにするとタグが強調されるのとタグのペアが下線表示されるなど。文字エンコードや改行コードも。
[Ctrl]+[F]で検索・置換。右の[ .* ]をオンにすると正規表現が使える。

atomエディタ 5
Kateで同様のことをやる。上の画像は[Ctrl]+[R]で置換画面なので表示されていないが、Kateも通常画面では右下にモード選択表示があるのでHTMLモードにしている。ただし、HTMLタグのペア表示もなくHTMLタグを黒強調のみ。殆ど役に立たない。
あと、Kateの正規表現では ? 記号が使えないのね。ちょっとナイよね。でも、Kateの検索・置換のエスケープシーケンスモードは好き。

atomエディタ 6
[Ctrl]+[Shift]+[M]で右半分にプレビューを表示させる。左側で編集したHTMLがリアルタイムに反映表示されるので便利。

好みのAtom用のパッケージをインストールすることでより使いやすくなる。(逆に弩ノーマルだとKateに劣る部分も多々)
自分に合うようにカスタマイズが結構大変なのは他のエディタと同じ。

AtomエディタをVimライクにする

atomエディタ 7
[Ctrl]+[Shift]+[M]を押してCommand Paletteを開き上部のテキストボックスにSettingsと入力する。
または、[Ctrl]+[,]を押してSettingsを開く。

atomエディタ 8
パッケージ名を検索する。とりあえず2つ。

パッケージ名を入力して右側の[Package]を押すと検索した名前のパッケージ(関連)がリスト表示されるので目的のパッケージの[Install]を押す。
上の画像で見えているvim-mode-plus-ex-modeはインストールしないこと。

Atomは元々はモードレスなエディタだが、これでVim同様にモーダルなエディタになった。[i]で挿入モードで文章を打ち、[Esc]でコマンドモード、[V]でビジュアルモードに切り替わる。右下の改行コードと文字エンコードの表示の間に[I]が表示されていたら挿入モード[N]が表示されていたらコマンドモード、[VC]が表示されていたら(一応)ビジュアルモード。

atomエディタ 9
編集中にワードを検索する場合
[Esc]でコマンドモードにして /検索したいワード を入力

atomエディタ 10
置換する場合
ex-modeパッケージを入れたのでコマンドモードで :hoge という形式のコマンド入力が可能になっている。
上の画像では :%s/置換対象/置換後の文字列/

使い込んでいないのでVimの真似事はどの程度まで出来るのかわからないけど、Vimに慣れている人にとっては大変ありがたい。

メニューの日本語化パッケージは個人的に趣味じゃないので入れない。

Nextcloudのパスワード管理アプリPassmanでデータエクスポート

Nextcloudで利用できるパスワード管理アプリの1つPassmanにはユーザーが登録・管理しているパスワードデータ(全部)をエクスポートする機能があるのだが、現在のバージョンではそれがバグっていて正常にエクスポートすることができない(筈)。オンラインでパスワード管理を行うのは便利だが、Nextcloudが壊れたとか何か起きてデータを取れなくなったらある意味「終わり」で非常にヤバい。そこで時々Passmanに登録したデータをエクスポート・ダウンロードしてローカル保管しておくというのが良いのだが、データが取れないのはとても困る。そこで、現在のところ知られているエクスポートバグ回避方法。

Passmanでデータエクスポート1
NextcloudのPassmanにログインして左列の[ Settings]をクリック。展開されたメニューからさらに[Settings]をクリック。

Passmanでデータエクスポート2
右列からExport credentialsタブを選択。
Export typeで出力形式を選択。(上の画像ではCSV形式)
ユーザーのログインパスワードを入力。
[Export]ボタンを押す。
右の窓に処理状況が表示されるのだが、Decrypting credentialsが表示された後に何も起きない。これがバグ。
以下が回避方法。

Passmanでデータエクスポート3
Passmanのメイン画面に戻り、[]で新しいエントリを追加する。または既存のエントリをどれか開き編集モードにする。

Passmanでデータエクスポート4
エントリの内容はどうでも良いので[Files]タブを選択する。

Passmanでデータエクスポート5
[Choose a file]ボタンを押して何でも良いので1つファイルをアップロードして[Save]で登録する。このあと余計なことをしないで次。

Passmanでデータエクスポート6
再びSettings画面に戻り、[Export credentials]タブを開き、出力形式の選択とログインパスワードを入力して[Export]ボタンを押す。
今度は右の窓にDoneまで表示されてダウンロードファイル保存場所指定の窓が表示される(このページでは画像無し)、指定したらChromeエディタではダウンロード状況・結果が左下に表示される。(他のブラウザは知らない)

これでNextcloud周りの更新などで盛大にやらかしても安心。その際は自分以外のユーザーにも同様にエクスポート・保管しておいてもらうこと。