ネットワークエンジニアのアレ

技術情報メインの備忘系ブログです

www.flickr.com

JANOG43へ参加します。

今日から山梨県の甲府市で開催されている、「JANOG43」へ参加します。
初JANOG。楽しみです。

1月24日(木)〜25日(金)にブースを出展します。

ファイアウォールテストツールをメインに展示。
www.ap-com.co.jp


大ホール3F 50番ブース」にいるので、参加される方はぜひお越しください!!

2019年1月23日追記:


甲府市に無事到着。
ほうとうと設営も完了。

Elasticsearch Machine Learningでファイアーウォールログから異常を検知する

「Elasticsearch Machine Learning(以下、ML)」を使って、ファイアーウォールのログから異常を検知をしてみました。

MLの概要は以前書いたこちらの記事を御覧ください。

tech.naitwo.me

今回は細かな設定手順の話は書いていません。
MLでどんな感じで異常検知ができるか” について書いています。

続きを読む

ElasticsearchのデフォルトMapping Typeを定義する

f:id:naitwo2:20180916201247j:plain

ElasticsearchはスキーマレスなDBなので、各フィールドの型を明示的に指定する必要がありません。
とはいえ、確実に型を指定したい場合も多く、その場合はindex templateを使って指定します。

今回の記事は、少し古いバージョンのElasticsearch 2.4系をもとに書いています。


例えば、何も設定せずに以下のようにindexを作成した場合、field01は文字列(string)、field02は数値(integer)として判断されます。

curl -XPOST localhost:9200/test_index/hoge -d '{"field01":"100","field02":100}'


明示的にType を指定する

timeフィールドは”data type”、statusフィールドは”string type”と指定するには以下のように設定します。

curl -XPUT localhost:9200/_template/template -d '
{
  "template" : "log_*",
  "settings" : {
    "number_of_shards" : 1,
    "number_of_replicas" : 0
  },
  "mappings" : {
    "_default_" : {
     "properties": {
      "time": {"type":"date","format":"strict_date_optional_time||epoch_second"},
      "status" : {"type":"string","index":"not_analyzed"}
       }
    }
  }
}'


格納されるフィールドが事前に全て分かっている場合は、上記のように1つ1つ定義することで、明示的にTypeを設定できます。
しかし、格納される全てのフィールドが事前に分からない場合は定義することができません。

そのような時は、Dynamic templatesを使用することで対処できます。

ダイナミックテンプレート(Dynamic Templates)

ダイナミックテンプレート(Dynamic Templates)は、フィールド名を対象にしたルールを定義し、インデックス作成時に動的にマッピングを行う機能です。

フィールド名がhogehogeだったら、このマッピングルールを適用するーーーみたいな感じです。

続きを読む

Palo AltoのUTM機能をテストする

パロアルトネットワークス社の次世代ファイアウォールを構築する際に、UTM系のテストを行う場合があります。

 

今回は「Vulnerability Protection(脆弱性防御)※」機能のテストを簡単に行う方法について書きたいと思います。

※「Threat Prevention」ライセンスを購入すると利用可能になる機能です

 

ここで説明するテストは、「Vulnerability Protection」の機能が有効に動作しているか(プロファイルが適切に適応されているか)を確認することを対象にしています。

続きを読む

サーバ上のファイルを直接編集できるVisual Studio Codeプラグイン「ftp-simple」が便利

f:id:naitwo2:20180707012804j:plain

エディタは何を使っていますか?

自分は「Visual Studio Code」をメインで使っています。

「Visual Studio Code」は軽いのがいいですよね〜。

 

今回は「Visual Studio Code」のおすすめプラグインを紹介したいと思います。

code.visualstudio.com

 

ftp-simple 

リモートのサーバ上でプログラムを書いているときに、ローカルPCのお気に入りエディタで書いてサーバにアップロード・・・が手間だと感じることはありませんか?

リモートサーバ上で直接編集する場合はお気に入りエディタ使えないし。

 

今回紹介する「ftp-simple」は、そんな手間を削減してくれるプラグイン。

 

ftp-simpleは、リモートのサーバにsftp(ftp)接続を行い、サーバ上のファイルを直接開いたり、サーバとローカル環境とファイルの同期を行うことができるプラグインです。

 

インストールは下記から行います。

*アプリ上からも行えます

marketplace.visualstudio.com

 

続きを読む

Fluentd+Elasticsearchでindex作成タイミングをJST0時にする

Fluentd →(ログ等)→ Elasticsearchの構成で、Fluentd側の設定を特に意識しないと、デフォルトでJST9時(UTC0時)に新しいindexが作成されます。

これだと、管理上不都合が起きることがあります。

イメージ

※以下のイメージは、アクセスログ等、時系列ログをElasticsearchに登録しているようなケースを想定して書いています

f:id:naitwo2:20171206005352p:plain:w400

続きを読む

ElasticsearchのListenPortを複数指定する

ElasticsearchはデフォルトでローカルIPアドレス(127.0.0.1)で待受をしています。

外部からElasticsearchにデータを格納するなどで、複数のIPアドレスで待受をさせたい場合があります。

その場合は、以下の設定ファイルを修正します。

 

/etc/elasticsearch/elasticsearch.yml

 

network.host: ***」の行を追記します。

# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: [_local_ , _non_loopback_]
#
# Set a custom port for HTTP:
#
# http.port: 9200
#

 

カッコ内にカンマ区切りでIPを指定します。

IPアドレス指定に特別な値が使えるので、上記例ではIPアドレスを直接指定していません。

_local_ :ローカルIPアドレス(127.0.0.1)

_non_loopback_ :1つめのループバックではないIPアドレス

 

指定できる値は下記ブログに詳しく記載があります。

 

y-ken.hatenablog.com

 

 

Elasticsearch社のMachine Learningワークショップに行ってきました

f:id:naitwo2:20170528015748j:plain

 先週、Elasticsearch株式会社が主催する”Machine Learningワークショップ”に行ってきました。

 

5月の初旬に機械学習で異常検知を行う「Prelert」を、Elastic Stackに統合したので、「Prelert」の使い方が中心のワークショップでした。

※ワークショップという名目でしたが、ハンズオンなどは無くセミナーな感じでした

Elastic StackにMachine Learningが登場 | Elastic

 

また、Elastic Stackへの統合とともに、「Prelert」から「Machine Learning」に名称が変更になりました。

Prelertは昨年Elasticsearch社が買収した企業(Prelert社)が開発していたプロダクトです

続きを読む

レバレジーズ様のサイトで当ブログ記事をご紹介いただきました

かなり久しぶりの更新です。

最近はQiitaを中心に記事を書いていました。

qiita.com

 

 

さて、当ブログの記事がレバレジーズ株式会社様が運営する”レバテックキャリア”という転職サイトでご紹介いただきました。

(ありがとうございます)

続きを読む

SSGでポリシーを入れる場所を指定して設定(CLI)

SSGのコマンドラインで、ポリシーを入れる場所を指定して設定する方法(コマンド)です。


-------------
set policy id 100 from "Trust" to "Untrust" "Any" "Any" "HTTPS" permit log
set policy id 100
exit
set policy id 200 from "Trust" to "Untrust" "Any" "Any" "SSH" permit log
set policy id 200
exit
-------------

続きを読む

GistはSECRETにしても見えてしまうんだね

Gistは"SECRET"にすると、他のユーザから閲覧できなくなる。
と勝手に思っていたけど、そうではないみたい。
きっと公式のReadme的なとこに書いてあると思うけど・・。

アカウントトップ画面や検索サイトに登録されなくなるだけで(たぶん)、URLを直接叩くと見えてしまう。

続きを読む

Docker Hubのプライベートリポジトリから"docker run"する方法

Docker Hubのプライベートリポジトリから、docker runやdocker pullを行うと、以下のエラーが出ます。

# docker run -i -t -d -p 80:80 hogehoge/hogehoge:latest /bin/bash/
Unable to find image 'hogehoge/hogehoge:latest' locally
Pulling repository hogehoge/hogehoge
Error: image hogehoge/hogehoge:latest not found  
続きを読む