TSUBOCK★LABO-ツボックラボ-

とあるセキュリティエンジニアの技術メモブログ

MENU

2020-01-01から1年間の記事一覧

2020年の振り返り的な

仕事納めできてないけど、暦上は収まってしまったで、2020年の振り返りをしてみたいと思います。 2020年は気持ちがより前のめりになった年でした。昨年の本業の案件でお世話になったお客様から刺激を受けて、意識が上がっていっているところで、自分が一方的…

MinIOをPythonで操作してみよう

以前紹介したMinIOをPythonで操作してみたいと思います。 過去の記事はこちら www.tsubock-lab.xyz MinIOはAmazon S3互換であるためAmazon S3を操作する際のPythonモジュールを使用することで使用することができます。今回はBoto3というPythonモジュールを使…

OSSネットワークスキャンツールの定番「Nmap」を簡単に触ってみる

OSSネットワークスキャンツールで有名なNmapについて調べたので覚書。 はじめに Nmapによるスキャンによって帯域に負荷をかけてしまいます。くれぐれも実際のサービスや自分の管理外のサーバに対してスキャンを行わないでください。Nmapを使用する際には自分…

プログラムの中で一時的にファイルリソースを作成する「tempfile」モジュールを使ってみる

pythonでファイル操作しているときに一時的にファイルを展開したいなと思うとき、あると思います。そんな時にはtempfileというモジュールを使用して、一時的なファイルディレクトリを作成するのがスマートと思いますので、ご紹介いたします。 tempfileモジュ…

Amazon S3互換の分散オブジェクトストレージ「MinIO」を触ってみた

Amazon S3と連携するプログラムを書くため、Amazon S3互換のオブジェクトストレージサーバを探していたところ、Dockerイメージが公式で提供されていて手軽に立てられそうなMinIOというサーバがあったので、試し MinIOとは MinIOはAmazon S3互換のオブジェク…

Type Hintsを使ってPythonの型を明示的に宣言してみよう。

Pythonは動的型付言語であるため、JavaやC言語のように変数に対して型を宣言する必要はないため、処理の中で型を操作するためには前後の処理を見て「こっちはString型」「こっちはInteger型」「あっちはDate型」と判断することが多いかもしれません。Python…

OSSのRSSリーダー「TinyTinyRSS」のAPIを触ってみる

前回記事の続き、今回はTinyTinyRSSのAPIを触ってみようと思います。 環境構築の方法は前回の記事をどーぞ! www.tsubock-lab.xyz APIがある TinyTinyRSSではAPIが公開されています。 ApiReference - Tiny Tiny RSS APIでRSS情報を収集してシステムと連携す…

OSSのRSSリーダー「TinyTinyRSS」を使ってみる。

Google Readerヘビーユーザだった私は、現在はInoreaderを使ってRSSを購読しています。InoreaderやFeedryなどの外部サービスはGoogle Readerのようにサービス終了または完全有料化してしまうかもしれないので、自前でRSSリーダが用意できないかなと思ってた…

PlantUMLでシーケンス図を描いてみる

今回ちょっとSlackBotを作成する機会があったので、以前紹介したPlantUMLを使って、シーケンス図を描いてみたいと思います。 PlantUMLについては過去記事を参照してください。 www.tsubock-lab.xyz 題材とするプログラム 今回はSlackに直近1日以内にアップロ…

OSSハニーポット「Cowrie」を触ってみた

サイバーセキュリティの情報収集の一つで「ハニーポット」という技術があります。今回は業務中にハニーポットについて調べている中での覚書として本記事を残しておきます。 ハニーポットとは ハニーポットは脆弱性のあるサービスを実際に、または疑似的に動…

二要素認証のワンタイムパスワードをPythonで自動生成処理してみる

処理の自動化を検討する上で、二要素認証が必要なサイトがあったりするので、Pythonで二要素認証への対応を実装してみました。 二要素認証とは 二要素認証とは、利用者の本人確認などの認証において、二つの異なる原理の認証手段を組み合わせて用いることに…

ブログメンタリング開始から1か月たったので振り返りをしてみる

カックさん(https://kakakakakku.hatenablog.com/)のブログメンタリングに参加して1か月がたったので振り返りをしてみたいと思います。振り返りはKWTでやってみたいと思います。 KWTとは KWTは「Keep・Wakattakoto・Try」の頭文字からとっています。 ベース…

テキストベースで簡単にUMLを作成できる「PlantUML」を紹介します。

要件の定義やシステムの設計を行うときに、仕様を文字だけでなく図式化するときにUMLを使うと思います。 よくやるのはEXCELやPowerPointなどで図を作ったりする方法かと思いますが、これらはメンテナンスが大変で、 少しの変更をするときも職人芸の様に図を…

ファイルやウェブサイトのマルウェアを検査できる便利なツールVirusTotalの概要と注意点

今回はインターネットを巡回していると、セキュリティウォッチャーならずとも一度は聞いたことあると思うVirusTotalというサービスについて紹介します。 VirusTotalとは VirusTotalは2004年にHispasec設立したオンラインのマルウェアスキャンサービス。2012…

PoetryでPythonのパッケージ管理を行う

以前の記事でPythonのパッケージ管理ソフトとしてPipenvをご紹介しましたが、私自身Pipenvを使用していたのは去年の途中まででした。 www.tsubock-lab.xyz 去年からはPipenvに代わってPoetryというパッケージ管理ソフトを使用していたので、Poetryについても…

Vagrantを使って気軽にスクラップ&ビルドできる環境を自動構築する

開発の度に本番に近い開発環境や検証環境をローカルで作ったりしているのですが、毎回VirtualBoxのGUIをポチポチ操作して仮想環境を構築するのが面倒大変です。 今回はVagrantという仮想環境を構築するソフトウェアを使って仮想環境の構築を自動化してみたい…

Ubuntu20.04環境にPostgreSQL 12をインストールする

検証用にPostgreSQL 12をインストールしたマシンが必要だったので、Ubuntu20.04の環境にインストールしました。今回はインストール時の覚書です。 動作環境 仮想環境:VirtualBox 6.14.4 インストール先OS:Ubuntu 20.04 RAM:2GB 事前準備 aptインストール…

Vim Bootstrapを使ってなんちゃってVimmerになる

Linuxでちょっとプログラムを書きたいとき、GUIだったらVSCodeやAtomなどを導入してプログラム書いたりするのですが、CUIだとVimを使うしかないのでもっと書きやすければなーと思ってました。 なんちゃってプログラマの私としてはVimmerの人ってすごいなーと…

PipenvでPythonのパッケージ管理を行う

プロジェクトごとのパッケージ管理はrequirements.txtで行うことが多かったのですが、requirements.txtへの記入が漏れてインストール作業でゴタゴタすることもあるため、最近ではパッケージ管理ができるツールを使用することが多いです。 今回はいくつかある…

Dockerコマンドでよく使うコマンドをまとめてみた

最近色々なOSSの検証を行うので、Dockerfileが提供されているものはDockerで構築を行っています。Dockerもちゃんと使い始めたのが去年とかなので、ちゃんとDockerコマンドを覚え切れておらず、検索することが多いので、自分の備忘録がてら残しておきたいと思…

ブログメンタリングに当選しました!

www.tsubock-lab.xyz 前回こんな記事を書いたにもかかわらず、全然記事が投稿できず、恥ずかしいです・・ 全然習慣化ができていない私ですが、 この度カックさんが行っている取り組みの ブログメンタリングの募集に応募させていただきまして、見事当選いたし…

アウトプット駆動学習を積極的に取り入れる

@kakku22さんのアウトプット駆動学習を習慣化するという記事を読んで、このブログのテーマは元々これだし、自分の成長のためにも積極的に取り入れた方がいいと思ったので、自分の備忘録をかねて、自分の考えも含めた上でメモさせていただきます。 kakakakakk…

docker-composeを使ってElasticsearch + Kibana の動作を確認してみた。

業務の技術調査でElasticsearchとKibanaを使って手元のデータを可視化する必要があり、docker-composeを使ってサクッと立ち上げて動作確認をしてみました。 docker-compose.yamlの作成 ElasticsearchとKibanaの設定を入れたdocker-compose.yamlを作成します…

Dockerをインストールしてみた。

最近ではシステムを構築する際に仮想マシンを複数台構築しなくても、コンテナ技術を使うことで1台の仮想マシン内で複数台起動しているかのような冗長構成がとれるようになりました。本記事では、コンテナ仮想化技術であるDockerについて、調べたことをまとめ…

Tkinterを使ってPythonプログラムのGUIを作る

Pythonで業務用ツールを作成したときに、あまりPC操作が得意でない人にCUIから操作してもらうというのはなかなかハードルが高かったりします。そこで、GUIを用意してボタン1つで操作ができると、心理的ハードルも下げることができるので、Pythonプログラム…

fluentdのバッチ版、EmbulkをDockerで試して触ってみた

データ収集基盤を設計する際に、過去の大量のファイルもデータ収集基盤に取り込みたいという要望があり、大量のファイルをまとめて処理できるツールがないかと調べていたところ、Embulkという製品を見つけましたので、調べてまとめてみました。 Embulkとは E…

【おすすめ】プログラム言語に合わせたタイピング練習ができるtyping.ioの紹介【プログラマ必見】

皆さんはタイピング得意ですか?私はまぁそれなりです。 自分の実力を確認するために寿司打をやってみました。 寿司打の成績20200126 普通の人よりはタイピングは早いかな?と思っていますが、一般的なタッチタイプは日常の単語とかを打つ練習で速度が上がっ…

Vagrantのboxを削除したいときに読む

Vagrantのbox、色々試しているうちにローカルにどんどん蓄積されて容量が圧迫されることありますよね。全然使わないboxは定期的に削除したほうが良いです。今回はVagrantのboxを削除したいときに読む備忘録的な記事です。 vagrantのboxを削除する vagrantのb…

【Python】任意の値を標準出力する。【Print】

各コンピュータ言語の基礎中の基礎、標準出力について説明します。 Pythonでの標準出力ではPrintという関数を使用します。 Printは特にモジュールのimportは不要です。 使い方 Printは下記のように print({標準出力したい値}) という形で出力をすることがで…

Windowsでも`tail -f`や`grep`がしたい!それ、PowerShellでも実現できますよ。

Linux上でログファイルを追記状況を確認するときに、リアルタイムに表示を行うことができるtail -fですが、Windowsではtailコマンドがないので、リアルタイムにログの追記状況とかを確認できなくて、困っていませんか? WSLでBash使えればtailが使えるんです…