TSUBOCK★LABO-ツボックラボ-

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

MENU

Flaskでファイルダウンロードを実装する

ちょっと調べる機会があったので備忘録。 FlaskでAPI等を実装するときに、ファイルダウンロードさせる場合にどういう風に書けばいいかを調べました。 インストール Flaskがインストールされていなければ、pipコマンドまたはpythonパッケージ管理ソフトでイン…

WEST-SEC CTF#3に参加しました!

chocopurinさんに刺激されて(?)記事書いておきますw https://chocopurin.hatenablog.com/entry/2021/01/19/221357 ということで、 参加させていただきました! 昨日は子供を風呂に入れてる最中にWEST-SECの開始時間になってることに気づき、慌てて子供を出…

CompTIA Security+ (SY0-501) を受験して落ちました。

CompTIA Security + 受験して落ちました。 合格記はよく見るので、不合格記を。。。 結果は 落ちました。750が合格点のところ、621点でした。おし・・・くもない。 正直勉強不足感が否めない。勉強時間が圧倒的に足りなかった。 でも再挑戦するかというと、S…

2021年の目標設定

ということでTwitterで軽く流したのですが、Twitterでも書ききれないものもあったので、追記も含めて2021年の目標について残しておこうと思います。 2021年の目標 - 本業関係 - 本業に関連しそうな、自分のスキルアップに繋がりそうな目標をこちらに書きます…

Pyenv+Poetryの環境でPandasをインストールしようとしたらエラーがでた

概要 Pyenv+Poetryの環境でPandasをインストールしようとしたら下記のようなエラーが発生。 実行コマンド $ poetry add pandas 出力エラー $ poetry add pandas Using version ^1.2.0 for pandas pyproject.toml+ ◀◀ buffers Updating dependencies Resolvi…

pyenvを使ってバージョン管理をする

使用しているWSLの環境で複数バージョンのPython3系での動作確認をするため、簡単にPythonのバージョンを切り替えられるPyenvをインストールしてみました。 pyenvとは pyenvはPythonのバージョン管理を行なうコマンドラインツールで、複数のバージョンのPyth…

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について、調べたことをまとめ…