elementary OS 5.0 JUNOβを触ってみた

elementary OS

昨日Eliveを触ってみて派手だと思ったけど、同じmacOS風でもelementary OSは派手じゃないよね。オッサンになったからか、最近は派手より地味好み。
その地味なelementary OSの5.0 JUNOのbeta2版が公開されたので触ってみた。以前記事を書いたのは確か0.4.1 Lokiだった筈。なんかバージョンの付け方が変わったみたいで0.4から 0.4.1と来て次が5.0らしい。

elementary OS 日本語設定 1
インストール方法やインストールした直後のOSの見た目は何が変わったかな?レベル。もともとelementary OSを使っていたわけではないので違いがあっても気付かないだけかもだが。
敢えて書けば壁紙が違うくらい。

日本語入力だけちょっと違うようなので以下。elementary OSでは標準でインストールされる入力メソッドはiBusで、これは変わらないのだが、デスクトップ右上のインジケーターが無くなった?前回のEliveと同じく入力モードが判らなくて困る。βだから?これはFcitxに入れ替えても設定が初期値なら同じことに。
とりあえずiBusは嫌なのでFcitxとMozcをインストールする。さらにiBusは削除する。

FcitxとMozcのインストールまでは前回と同じ。

デスクトップ左上隅の[アプリケーション]を押す。[ターミナル]を開く。

$ sudo -s          ←管理者になる
# apt-get update
# apt-get -y dist-upgrade
# apt-cache search mozc    ←mozc関連のパッケージ名を検索
# apt-get install fcitx-mozc mozc-utils-gui ←パッケージ2つを指定してインストール
# apt remove ibus  ← iBus関連を削除する
# exit   ←管理者から一般ユーザーに戻る

$ im-config  ←Fcitxを標準の入力メソッドにする

$ fcitx-config-gtk3  ←Fcitxを設定する

上の最後のコマンド実行でFcitxの設定画面が表示されるのでいつもどおり入力メソッドタブで日本語モードと英語モードの切り替えキーを設定する。
それとは別にインジケーターアイコンの代わりを設定する。(次)

elementary OS 日本語設定 2
「外観」タブを選択。
「クラシックUI」タブを選択。 アイコンの代わりを表示する位置を「状態パネルのX座標」「状態パネルのY座標」で指定する。上の画像の指定だと、画面の左から1000px, 上から0pxの位置に表示される。(表示は日本語モード切り替え時のみ) その他も上の画像のように指定すると良いかと。

elementary OS 日本語設定 3
Fcitxの設定が済んだらエディタなどで日本語を入力しようとしてみる。
上の画像のようにFcitxの状態パネルが指定した位置に表示されることを確認。
表示されない場合はFcitxを再起動する。ただし、状態パネルが表示されないとGUIではFcitxを再起動する方法が無いのでシステムを再起動する。
状態パネルが表示されたら状態パネルのペンギンアイコンを右クリックでFcitxの再起動や設定、状態バネルのスキンの変更が可能。
ちなみに、上の画像では状態パネルのスキンはdefault。

elementary OS 日本語設定 4
状態パネルのスキンをdarkに変えてみた。ダーク系はこの位置だと違和感が無いが、少しだけ下にズレている。Fcitxの設定で「状態パネルのY座標」をマイナス値指定すると直りそうだが、何故かdarkスキンでは効かない。defaultでは効くんだけどなぁ。

elementary OS 日本語設定 5
状態パネルのスキンをclassicに変えてみた。defaultやdarkの2/3程度の大きさになる。

これでターミナルでコマンドを打たなくても日本語モードにしてからペンギンアイコンを右クリックして「設定」でFcitxの設定も行える。日本語変換のMozcの設定も。

ログイン画面だけはelementary OSが圧勝だわね。(Eliveと比べて)

関連記事:

軽量LinuxのEliveを触ってみた

Eliveは10年以上やってるらしいが得体の知れないディストリビューション。一応、「リソースの軽さを保ち、迅速な応答性を提供します」とあるので目指すところは軽量Linuxらしい。
見た目はMacOSとWindows Vistaを混ぜたような感じ。デスクトップの効果は、昔々のUbuntuがUnityみたいな下痢便採用に舵を切ってそれまでのユーザーを両手の指の隙間からこぼすように大量に失った頃に流行ってたCompizのボヨンボヨンなゼリーのような窓に華美な効果とグリングリンなデスクトップ切り替えみたいなの。どちらもある意味センスとしては古い?というか、3Dなデスクトップ全盛頃にできたディトリビューションでその頃の流行りのままでやってる感じ?
デスクトップ環境はEnlightenment。細かい部分では至るところに古さが残る。
最新のElive 3.0の最小構成は500MHzのCPUと192MBのメモリ+128MBスワップ。このスペックで動くなら本当に軽量Linuxではあるのだが、それでどの程度使い物になるのかは不明。
推奨環境はPentium4以上、メモリ512MB以上(普段使い用なら1GB以上)

ダウンロード

Elive公式サイトから正しい手順でダウンロードしようとすると、ダウンロード前に最低US $5を寄付をするか24時間待たされることになる。どちらも良いやり方とは思えない。良い評判があるわけでもなく使い物になるか判らないものに金を出す人は少ないだろうし、翌日まで待たさせるなら「もういいよ」って人は多い筈。
ただし、イメージファイルへの直リンクは制限があるわけでもなく、最新のイメージファイルへのリンクが書いてありそうなLinuxの情報サイトを見れば載ってる筈。

インストール

ダウンロードしたイメージファイルをDVD-Rなどに焼く。または仮想環境でイメージファイルから起動するなど。

起動メニューでは、Live & Install を選択して起動。
Languageでは、下から2番めの「日本語」を選択して[Next]
キーボードの選択では、日本語キーボードなら「Japanese」(おそらく一番上)を選択して[次へ]
Hardware Accelerationの設定では、中央の窓の下の☒ (四角に×)が付いた状態で問題ない筈 [次へ]
ダスクトップが起動して幾つか質問されるが適当に選択。
デスクトップ中央下のドックの一番右に「インストールエリブ」(笑)があるのでそれを選択してインストール開始

ネットワークの接続を推奨される。
ディスクのパーティション設定は自動に任せればディスク全体を削除して自動的に設定してくれる。
ディスクの暗号化は質問されて選択できる。
インストール途中にインストーラーの窓が消えてデスクトップだけになる。HDDインジケーターも点灯点滅しないけど根気強く待つとインストーラーの画面が再度出現する。
インストールのアプリケーション構成について幾つか質問されるので好みで。
ユーザー名の登録。
そこからだいぶ処理で待たされてからパスワードの入力。
自動ログインの選択。
そこからまもなくインストール完了。

インストール途中にとにかく質問や選択が大量に入るので、インストーラーの最初に幾つか選んだり入力したりすると後はインストール完了まで放置するというディストリビューションと違ってインストール完了までずっと画面の前で待機しなくてはならない。

初起動から日本語設定

ログインする。
言語選択では、おそらくリストの一番上に「日本語」があるのでそれを選択。
キーボード選択では、おそらく一番上に「Japanses」があるのでそれを選択。
Hardware Accelerationの設定では、中央の窓の下の☒が付いた状態で問題ない筈 [次へ]
有功にしたいサービスの選択では、初期値 or 好みで。
その他幾つか質問されるが適当に。日本語を選択していると日本語入力メソッドのiBusを含む日本語入力関係のパッケージを幾つかインストールしてくれる(質問される)。ただし、そのおせっかいにも関わらず日本語変換がインストールされないので日本語は入力できないんだけど・・・< /p>

Elive 1
初起動直後の画面。

Elive 2
マウスで掴んで振るとブヨンブヨンする窓。

今回はいつものように日本語入力メソッドのFcitxと日本語変換Mozcをインストールする。

デスクトップの中央下にドックがあるので右から2番めか3番めの「パッケージとアプリケーションのインストーラ」をクリック。

Elive 3
Synapticパッケージマネージャが開くので上部の「検索」をクリックして fcitx を入力して検索する。リストに表示される以下のパッケージのパッケージ名を右クリックまたはチェックボックスを左クリックして「インストール指定」をクリック。

  • fcitx-mozc
  • fcitx-config-common
  • fcitx-config-gtk
  • fcitx-config-gtk2
  • fcitx-frontend-all
  • fcitx-frontend-gtk3
  • fcitx-frontend-qt4
  • fcitx-tools

Synapticパッケージマネージャが開くので上部の「検索」をクリックして mozc を入力して検索する。リストに表示される以下のパッケージのパッケージ名を右クリックまたはチェックボックスを左クリックして「インストール指定」をクリック。

  • mozc-utils-gui

上部のメニューから[適用]をクリック。
パッケージのインストールが完了したらSynapticを閉じる。

Elive 4
デスクトップの背景上で左クリックし、設定 → すべて → 言語 → 入力方式の設定 を開く。
左上にある「システム」をクリック。
左列に入力メソッドのリストが表示されるのでFcitxをクリックする。
右列にfcitx関係の値が表示されるので右下の方の「選択した入力方式に設定する」をクリック。[適用]をクリックする。

Elive 5
ついでにおそらくFcitx Configが開いた筈。開かなかったら、デスクトップの背景上で左クリックし アプリケーション → 設定 → Fcitx Config Toolをクリック。
Input Methodタブではリストの上段がKeyboard - 英語 (US)、下段がMozcになっていること。違ったらリスト下のアイコンで並べ替える。
Global Config タブでは日本語入力モードのオン・オフなどのキーを指定するなど。

EliveではiBusだとデスクトップ左下に入力モードインジケーターが表示されるようだが、Fcitxでは入力モードのインジケーターが表示されないという非常に不便なことに。
つまり、Mozcの設定ができない状態なのでターミナルから以下のコマンドを実行してMozcを設定する。

$ /usr/lib/mozc/mozc_tool --mode=config_dialog

おなじく、入力モードのインジケーターが表示されないのでそこからFcitxを再起動するなどもできない。面倒なのでシステムを再起動する。

これで日本語を入力できるようになった。

Elive 6
ただし、日本語入力には問題ありで、決して快適に使えるわけではない。

Elive 7
実物を見たら違和感ですぐに気付く筈だが、Eliveの標準のフォントは中華フォント。
上の画像だと「仮想化」の「仮」と「化」が変な漢字。

Synapticパッケージマネージャを開き、fonts-notoやfonts-ipafontやfonts-vlgothicを検索してインストールする。

Elive 8
デスクトップの背景上で左クリックし、設定 → 設定パネル をクリック。
リストから「フォント」をクリック。
上部の「一般設定」タブをクリック(最初にこのタブで開く筈だが)
左列で「アプリケーション」を選択。中央列でNoto Sans (または先にインストールしたフォントのどれか)を選択。
最下段中央の[適用]をクリック。右隣りの[閉じる]をクリック。
これで怪しい中華フォントから見慣れた日本語のフォントになった(これだけだと全部じゃないかも)。

Elive 9
見慣れた日本語の漢字になった。

Eliveの標準のファイルマネージャはThunar。日本語は表示されるが、ファイルの操作では通らないみたい。Eliveで日本語を標準言語にした場合はホームディレクトリの下のディレクトリが「ドキュメント」や「ダウンロード」のような日本語に勝手に変えられるのだが、そうするとその日本語ディレクトリ下のファイルはThunarでは操作できなくなってしまう。例えば、ファイルコピーであれば送り元と送り先の双方のフルPathに日本語が含まれていなければコピー可能だが、どちらかが日本語を含むとコピー失敗になる。

感想

軽量Linuxということではあるが、システムの起動や終了、そしてアプリケーションの起動は意外と遅い。
デスクトップの「効果」は10年前とほぼ同じなので新しさは無く寧ろ古さを感じさせられる。もちろん、他のディストリビューションでも「効果」は付いているけど最近はあまり派手に効果を使えないのが多いし、使えたとしても殆ど有効にはしないよね。
Eliveは決して古臭いだけでなくMacOS風なオシャレさも(僅かに)持っている。デスクトップの見た目という点ではelementary OSよりマシだと思う部分もある。
ただ、いろいろ判らないところがあるのでインストールしたらすぐに常用できるかというと特に日本語環境では全く無理と言わざるをえない。

WinlogbeatでWindowsイベントログを可視化 後編

タイトルは「イベントログを可視化」になってるけど前回に続き今回もちょっと違うのでスミマセン。

SysmonSearch
今月上旬にインターネットのニュースで知ったばかりだけど、JPCERTコーディネーションセンター(JPCERT/CC)がElastic Stack + Winlogbeat + Sysmon環境で利用できるWindows端末調査ツールのSysmonSearchというのをリリースしたということで、面白そうなので触ってみた。

WindowsにSysmonをインストール

面倒だが、監視対象のWindows全台に対してSysmonのインストールとWinlogbeatの設定変更までを行う。

Windows SysinternalsからSysmonをダウンロードする


コマンドプロンプト(管理者)でインストール
Microsoft Windows [Version 10.0.17134.285]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32> cd \users\foobar\downloads\sysmon
C:\Users\foobar\Downloads\Sysmon> .\sysmon64.exe -i -l -n -accepteula

System Monitor v8.00 - System activity monitor
Copyright (C) 2014-2018 Mark Russinovich and Thomas Garnier
Sysinternals - www.sysinternals.com

Sysmon64 installed.
SysmonDrv installed.
Starting SysmonDrv.
SysmonDrv started.
Starting Sysmon64..
Sysmon64 started.

C:\Users\foobar\Downloads\Sysmon> exit

今回インストールするsysmonは64版でdownloadsフォルダに保存してあるとする。 実行ユーザーのアカウントをfoobarとしているので自分のアカウントに読み替えて。
これでSysmonがサービスとして登録され、且つ起動した状態になる。次回以降のWindowsシステム起動時に自動的にサービスが起動する筈だが、念の為に「サービス」を確認しておいた方が良いかも。

Winlogbeatの設定変更

C:\Program Files\winlogbeat\winlogbeat.yml (変更・追加)
#=====Elasticsearch template setting ==========
setup.template.enabled: false                #追加

#=====Elasticsearch template setting ==========
#------Elasticsearch output -----------------
output.elasticsearch:
  hosts: ["192.168.1.240:9200", "192.168.1.241:9200"]
  index: "winlogbeat-${+yyyy.MM.dd}"          #インデックス名に勝手にbeatバージョンが付く場合 テンプレートをfalseにすると要らないかな?

「サービス」でwinlogbeatを再起動する。
winlogbeatのインデックスが変わったら既存のインデックスパターンやTimelionやVisualizeでそれを使用するものに影響するので注意。

SysmonSearchのインストール

基本的にはHow to Installに従う。(日本語のドキュメント)
以下のインストール手順はFreeBSDに合わせているのでLinuxの人は読み飛ばして下さい。また、Elasticsearch6とkibana6は既にインストール済みで稼働中とします。

% git clone https://github.com/JPCERTCC/SysmonSearch.git
% wget https://github.com/JPCERTCC/SysmonSearch/archive/master.zip

ディレクトリ名をSysmonSearch-masterからSysmonSearchに変更

FreeBSDのportsではkibanaは/usr/local/www/kibana6に置かれているのでSysmon Searchもその下に置くことにする。Kibanaをインターネットから見られるようになっているなら別のところに置いた方が良いかも。何処に置いても良いんだし。(↓の最初の行)

# mv SysmonSearch /usr/local/www/kibana6/

# cd /usr/ports/devel/py-pip
# make install

# pip install elasticsearch
# pip install elasticsearch_dsl

# cd /usr/local/www/kibana6
# curl -XPUT http://[ElasticsearchのIPアドレス]:9200/_template/template1 -d@SysmonSearch/script/template1.json -H "Content-Type: application/json"
# curl -XPUT http://[ElasticsearchのIPアドレス]:9200/_template/template2 -d@SysmonSearch/script/template2.json -H "Content-Type: application/json"
# curl -XPUT http://[ElasticsearchのIPアドレス]:9200/_template/template3 -d@SysmonSearch/script/template3.json -H "Content-Type: application/json"

# cd /usr/local/www/kibana6/SysmonSearch/script
# mkdir logs

# vim exec_collection_statistical_data.sh (How to Installに従って編集 さらに1行目のbashのpath変更)
# vim collection_statistical_data_setting.py (How to Installに従って編集)
# vim collection_alert_data_setting.py (How to Installに従って編集)

# cp -pR /usr/local/www/kibana6/SysmonSearch/sysmon_search_plugin /usr/local/www/kibana6/plugins/
# vim /usr/local/www/kibana6/plugins/sysmon_search_plugin/conf.js (How to Installに従って編集)

##ここから10コマンドはStixIoc
# cd /usr/ports/www/py-tornado
# make install

# cd /usr/ports/devel/py-virtualenv
# make install

# cd /usr/ports/devel/py-virtualenvwrapper
# make install

# pip install openioc-to-stix
# pip install cti-stix-slider.git
# pip install stix2-slider or pip install git+https://github.com/oasis-open/cti-stix-slider.git

# mkdir /usr/local/www/kibana6/SysmonSearch/stixioc-import-server/logs

FreeBSDのports/pkgでインストールしたPythonがpythonというコマンドで実行できない場合はシンボリックリンクを張る。

# ln -s /usr/local/bin/python2 /usr/local/bin/python
または
# ln -s /usr/local/bin/python3 /usr/local/bin/python
/root/.bashrc (新規 or 追記2行)
source /usr/local/bin/virtualenvwrapper.sh
export WORKON_HOME=~/.virtualenvs

/etc/crontab (追記3行)
0,30 *  *   *   *   root    sh /usr/local/www/kibana6/SysmonSearch/script/exec_collection_statistical_data.sh
0,30 *  *   *   *   root    python /usr/local/www/kibana6/SysmonSearch/script/collection_alert_data.py
0   1   *   *   *   root    DATE=`date -d "-1 day" "+%Y.%m.%d"` ; sh /usr/local/www/kibana6/SysmonSearch/script/exec_collection_statistical_data.sh $DATE

stixioc-import-serverを起動。
% bash
$ cd /usr/local/www/kibana6/SysmonSearch/stixioc-import-server/
$ virtualenv .env
$ source .env/bin/activate
$ python server.py

Kibana6を再起動。
# service kibana restart

再起動後は暫く待つ。再起動前にブラウザでKibanaを表示した状態でKibanaを再起動するのが再起動完了がわかりやすくてオススメ。

SysmonSearchを触ってみる

SysmonSearchはKibanaから操作する。
先に書いておくと、インストールに問題があるのかSysmonSearchの完成度の問題なのかいろいろ機能していない。インストールの問題であれば改善したときにこの記事を更新するかも。

SysmonSearchを触ってみる 1
Kibanaの左列の[SysmonSearch] (左列を折りたたんだ状態では[S]という表示)をクリック。
右列上部で[Search]タブをクリック。それ以外のタブは機能させる方法が解らなかった。
日付・時間で表示範囲を指定。無指定も可。
Fieldはプルダウンメニューから[Process Name]を選択。それ以外の選択肢はHost Name以外は機能させる方法が解らなかった。
プロセス名が解っているならそれを入力する。上の画像ではブラウザのchromeを指定している。プロセス名を指定せず全てを表示するなら半角スペースを入力する。
右の[Find Now]ボタンをクリックすると少し待たされて結果がリスト表示される。
リストの各行でTable, Graph, プロセス名がクリック可能。Tableは後述。
Graphは全てのプロセスの関係がマップが表示されるみたい。そこから詳細を探すことに。(次画像)
リストの一番右列のImageはプロセス名が表示されていて、クリックするとそのプログラムの呼び出し(依存?)関係がグラフ表示されるみたい。

SysmonSearchを触ってみる 2
1つ前の画面でGraphをクリックした。
プロセスの関係がマップ表示される。クリックしたプロセスに関係あるプロセスだけが表示されるわけではなく全て?
マップの拡大縮小はマウスのホイールで行う。

SysmonSearchを触ってみる 3
マップの中の1つのアイテムをクリック。クリックしたアイテムが赤枠付きで中央に表示されるみたい。
何から呼び出されたか(左)と、どこに接続したか(何を呼び出したか)が右に表示されるみたい。

SysmonSearchを触ってみる 4
一つ戻って(単純に「1つ戻る」ができないので最初からやり直して)キーワードにプロセス名を入力して[submit]ボタンをクリック。
入力したキーワードのプロセスに赤枠が付く。上の画像ではブラウザのChromeを指定してみたが、ChromeからChromeを呼び出すというのが多いためかChromeがたくさん赤枠付きになった。
オレンジのアイテムは外部の接続先のよう。それをクリック(次)。

SysmonSearchを触ってみる 5
クリックした接続先だけが表示されるわけではなく、Chromeがどこから呼び出されたか(左)とChromeが呼び出したプロセスや接続先が縦1列にズラリと並ぶ。
その右のアイテムの1つを左クリックした場合は再びリスト表示になるがDatailed Information(詳細情報)というわりに何を示しているのか不明。
その右のアイテムの1つを右クリックした場合は役に立たない情報がポップアップ表示される。

SysmonSearchを触ってみる 6
Tableを表示した。上部のキーワードにtcp[Enter]を入力してみた。これでTCPでの外部接続だけが絞られた。(逆にそれ以外は何も絞られていない?)

ここまでSysmonSearchを触ってみた程度だが、気になったのが日時指定で自由に絞れないこと。どの状態でも絞れないと関係無い情報が大量に出過ぎて欲しい情報に簡単にアクセスできない。逆に自由に絞れるようになったら「監視対象のユーザー」が「いつ」「どこに」アクセスしたとか、「何を起動した」が簡単にわかるようになる。そこまでできるのならIPアドレスやホスト名だけでなくURLも表示できるようにして欲しいところ。ついでにキーロガーも欲しいわね。まぁ、それはSysmonSearchではなくSysmon (Microsoft?)に要望するべきなのかもしれないが。
そういうのができるようになると企業でも従業員の挙動の監査ツールとして使い物になるように思う。
なお、SysmonSearchはプロセスの挙動調査用らしい。社員の監視目的だと用途違いだと怒られるかな?


関連記事: