当サイトではITインフラ/セキュリティ系技術、メタバースなどの情報提供を目的とします。
個人的な技術ブログなども投稿する予定です。

Vagrant+VirtualBoxで仮想サーバ構築②Zabbixサーバ編

こんにちは。ゆーろんです。 今回はVagrant+VirtualBoxで監視ツールであるZabbixサーバ(Manager)と監視対象のZabbixエージェント(監視対象サーバ)をローカルで立ててみましたので、手順を紹介します。 目次 説明 VirtualBoxとは Vagrantとは AlmaLinuxについて Zabbixについて 環境 環境構築 Vagrant+VirtualBoxの設定 Zabbix Mannagerに対する設定 ブラウザからZabbixの設定 あとがき 説明 初めに今回の使用技術とAlmaLinuxに関して説明します。 VirtualBoxとは ホスト型の仮想化ソフトウェア。 Vagrantとは 一言でいうと仮想マシンなどを簡単に構築/操作するためのソフトウェア。 VirtualBoxやVMwareを直接操作せずともエージェントとして操作できる。 ちなみにTerraformと同じHashiCorp製。 Vagrant by HashiCorp Vagrant by HashiCorp AlmaLinuxについて RHELのクローン。 サーバ用Linuxの事実上の標準だったCentOSの開発終了に伴い、AlmaLinuxまたはRockyLinuxに移行するケースが多い模様。

【第2回】CTFをやってみる ksnctf

こんにちは。ゆーろんです。 記録がてら、今回もCTFの備忘録をぼちぼち書いていきます。 ぼちぼち解くことを目指すので複数日またぐこともあると思いますが、よろしくお願いします。 目次 問題 解いてみる 感想 問題 国内では有名な ksnctf です。 今回の問題は以下です。 Programming - ksnctf program.cpp #include <stdio.h> #include <string.h> int main () { const char * s = " " "0123456789" " " " " " " "ABCDEFGHIJ" ; printf ( "%c" , strlen (s) ); int i = 020000000 + 001000000 + 000600000 +000040000 +000007000 +000000500 +000000020 +000000002 ; printf ( "%s" ,&amp; i ) ; long long l = 2LL * 11LL * 229LL * 614741LL * 9576751LL + 5LL ; printf ( "%s" , &amp; l ) ; float f = 1.0962664770776731080774868826855754386638240000e-38f ; printf( "%s" , &amp;f ) ; double d = 6.7386412564254706622868098890859398199406890000e-308 ; printf ("%s" ,&amp;d); } C++のソースコードが与えられています。 なぞにTabや空白があるので気味の悪いコードとなっています。

LightSail上でメールアドレス配信をSESで有効化する

こんにちは。ゆーろんです。 今回はLighSail上のWordPress環境からAmazon SESを使用してメールを送信させる方法をまとめます。 お問い合わせフォームの設置にはGoogle Formを埋め込む、LightSailにメールサーバ機能を追加するなどの方法もありますが Amazon SESを使用したほうがセキュリティ的にも良いのでSESを採用します。 目次 AmazonSESとは 実装の目標と手順 Identifyの作成 ドメインの検証 メールアドレスの検証 SMTPクレデンシャルの作成 テストメールの送信 WP Mail SMTPの設定 AmazonSESとは Amazon SES(Amazon Simple Email Service)はAWSが提供する電子メールサービスの1つです。 既存ドメインまたは既存のメールアドレスを利用して、メール配信をすることができます。 特徴としては以下の通りです。 信頼性と高い配信性能 メールの監視と管理が可能 低価格 実装の目標と手順 WordPressからSESを利用して特定のメールアドレスにお問い合わせ内容を送信できるようにする。 なおメール受信は行わず送信専用とする。 手順は以下の1から4を実施。 Identifyの作成 AWS SESのダッシュボード右より「検証済み ID」を選択。 ドメインの検証 SESのダッシュボード右「IDの作成」にて以下パラメータでIdentityの作成を行う。 IDタイプ: ドメイン ドメイン: Route53またはLightSailで設定してあるドメインを記載 DKIMの詳細設計 IDタイプ: Easy DKIM DNSレコードのRoute53への発行: 有効化 DKIM署名: 有効化 上記設定でドメインのID作成を行う。 Route53で設定してあるドメインを設定する場合数分以内に検証済みになる。 メールアドレスの検証 ドメインの検証と同様に「IDの作成」にて以下パラメータでIdentityの作成を行う。 IDタイプ: Eメールアドレス Eメールアドレス: 送信先の存在する実際のメールアドレスを設定 上記設定でメールアドレスのID作成を行う。 SMTPクレデンシャルの作成 SESのダッシュボード右「SMTP設定」にて「SMTP認証情報の作成」を選択。 画面に従いSMTP認証用のIAMユーザを作成し、作成後最後に表示されるSMTPユーザ名とSMTPパスワードをメモする。 テストメールの送信 AWS SESのページより「検証済み ID」を選択。 ドメインにチェックを入れて「テストEメールの送信」でメールが送れるかテストを行う。

【第1回】CTFをやってみる ksnctf

こんにちは。ゆーろんです。 記録がてら、CTFの備忘録をぼちぼち書いていきます。 ぼちぼち解くことを目指すので複数日またぐこともあると思いますが、よろしくお願いします。 目次 問題 解いてみる 1日目 2日目 感想 問題 国内では有名な ksnctf です。 今回の問題は以下です。 Login - ksnctf http://ctfq.u1tramarine.blue/q6/ https://ctfq.u1tramarine.blue/q6/ http://ctfq.u1tramarine.blue/q6/ https://ctfq.u1tramarine.blue/q6/ ログインフォームのURLが2つ与えられています。 ここからFLAGの文字列をどうにかして取得するということです。 解いてみる 1日目 まず入力フォームといえばSQLインジェクションが思い浮かびます。 ということで定番の” or 1=1 —を入れてみます。 以下のように表示されます。 上記コードから2点の脆弱性が確認できます。 パスワードが平文で保存されている プリペアドステートメントが実装されていない またコードからはidパラメータ入力においてSQLの条件文を満たせば写真ページが表示されることがわかります。 つまり直接パスワード自体をSQLでそのまま直接取得して表示することは厳しそうです。 2日目 SQLインジェクションにはいくつか種類があるようです。 HTTPレスポンス/リクエストなどを見た限り特に何もないようなので ここでSQLインジェクションを深めます。 インバウンドSQLインジェクション エラーベースSQLインジェクション UNIONSインジェクション ブラインドSQLインジェクション マルチブルステートメント 調べる限り、ブラインドSQLインジェクションという手法が怪しそうでした。 ブラインドSQLインジェクション Webサーバへ何種類かまたは複数のデータを送信した際のレスポンスや動作からデータベースの情報を分析する手法 ブルートフォースでやみくもにFLAG_hogehoge…と総当たりするのも大変なのでパスワードの断片情報から求めます。 まずパスワードの文字数を求めてみます。 SELECT * FROM user WHERE id="" or (SELECT length(pass) FROM user WHERE id = "admin") > 30 -- $id" AND pass="$pass" 上記のSQLとなるようにひたすらフォームに入力して調べ、Congratulationsとページが出るところを探します。

Vagrant+VirtualBoxで仮想サーバ構築①Webサーバ編

こんにちは、ゆーろんです。 今回はVagrant+VirtualBoxでWebサーバをローカルで建ててみますので、手順をまとめます。 目次 説明 VirtualBoxとは Vagrantとは AlmaLinuxについて 環境 構築手順 Vagrant+VirtualBoxの設定 AlmaLinuxの設定 おまけ 説明 初めに今回の使用技術とAlmaLinuxに関して説明します。 VirtualBoxとは ホスト型の仮想化ソフトウェア。 Vagrantとは 一言でいうと仮想マシンなどを簡単に構築/操作するためのソフトウェア。 VirtualBoxやVMwareを直接操作せずともエージェントとして操作できる。 ちなみにTerraformと同じHashiCorp製。 Vagrant by HashiCorp Vagrant by HashiCorp AlmaLinuxについて RHELのクローン。 サーバ用Linuxの事実上の標準だったCentOSの開発終了に伴い、AlmaLinuxまたはRockyLinuxに移行するケースが多い模様。

【AWS】WordPressをLightsail+CloudFrontに移行した話

こんにちは、ゆーろんです。 今回は今回はレンタルサーバで動いていた当ブログ(yuuronacademy.com)をAWSのLightSail上に移動(お引越し)させたので、そのことに関してお話ししようと思います。 目次 使用したAWSのサービス LightSail CloudFront Route53 ACM 構築したアーキテクチャ 構築にあたっての小話 使用サービス サービス システム 基盤環境 アクセス解析 今後に関して 使用したAWSのサービス まず、今回利用したAWSのサービスに関して簡単に説明します。 LightSail AWS LightSailはAWSが提供しているVPS(仮想プライベートサーバ)です。 仮想マシンのEC2と異なり、VPCやサブネット等の作成も不要で、月額料金なためコスト見積もりしやすい特徴があります。 CloudFront AWS CloudFrontはAWSが提供しているCDN(コンテンツデリバリネットワーク)です。 サイトコンテンツ(静的・動的なウェブコンテンツ、ビデオ、アプリケーションデータなど)をAWSの管理する世界中のエッジサーバに配置することで効率的にデータを配信することができます。 CDNとは キャッシュサーバなどで構成されたシステムを用いることによって、Webサイト上のコンテンツを迅速にユーザに届けるための仕組み。 通常のWebサイトでは、コンテンツを配信するためのサーバの処理能力やネットワークの帯域幅などの影響で、沢山のユーザーがWebサイトにアクセスするとレスポンスが低下する。 また、物理的に離れた場所からのアクセスに対してネットワーク遅延によりレスポンスが低下する場合がある。そういったものに対処するための仕組みといえる。 Route53 AWS Route53はAWSが提供しているDNS(Domain Name System)です。 Route53ではドメインの登録やDNS、ロードバランサの機能などサイトアクセスのための様々なDNS機能を提供しています。 ゆーろん Route53の名前の由来はDNSのポート番号が53だからなのかな? ACM AWS Certificate ManagerはAWSが提供しているSSL/TLS証明書のサービスです。 AWS上でホストされるウェブサイトやアプリケーションに対して、暗号化通信を実現するためのSSL/TLS証明書の取得、管理、自動更新を行うことができます。 構築したアーキテクチャ 今回AWSで構築したリソースのインフラ構成図は概ね以下の通りです。 見ての通りLIghtSail+CloudFrontの構成となっています。 HTTPS化にALBの利用などをする方法もありますが、料金を抑えるためにCloudFrontでSSL終端を行う構成にすることにしました。 SSL終端構成により「サーバへ直接クライアントのアクセスをさせない」、「CloudFrontによるキャッシュ/高速化」を実現しています。 またサイトへのアクセスステップは以下のようになっています。 HTTPSによるアクセス(:443) Route53 CloudFront(:80) Route53 Static IP(Lightsail) 構築にあたっての小話 サイトのインフラ基盤の管理にあたって当初Terraformを利用することを計画し、以下のように実行可能なコードを作成をしました。 GitHub - yuron3141/aws-lightsail-tf: This repo is to create the wp lightsail instance with the terraform. GitHub This repo is to create the wp lightsail instance with the terraform. - yuron3141/aws-lightsail-tf 上記コードをAWS Cloud9上で利用し.tfstateはS3で管理するというものです。

話題の「手のひらネットワーク機器」レビュー

こんにちは。ゆーろんです。 先日からインフラ界隈で話題になっている。カプセルトイの「手のひらネットワーク機器」を入手してきたのでレビューしようと思います。 ゆーろん サイト運営者は大学ではネットワークの研究室に所属していたよ~(実機は見たけどコロナの関係で触れる機会がありませんでした) 目次 開封レビュー フィギュアのモデルとネットワークの小話 【A10】Thunder 7655S 【Cisco】C9300-48UXM 【Cisco】MX85 【古河電工】FITELnet FX2 ネットワーク機器の国内シェア 各ネットワーク機器に関して AGW L3スイッチ ルータ まとめ 開封レビュー 入手したのは下記のものです。 ITインフラをもっと身近に!『カプセルトイ 手のひらネットワーク機器』を企画・総合監修しました | INSIDE APC INSIDE APC | 株式会社エーピーコミュニケーションズ INSIDE APC by エーピーコミュニケーションズ 開封前は以下のような感じです。(4つ購入しました) ちなみにガチャの購入の際、ガチャの量は残り半分ほどになっていました。

【2023年】VRChatの次の進化と注目すべき技術

みなさんこんにちは。ゆーろんです。 2023年最初の記事ということで、今回は2023年にVRchatでの表現をさらに広げる新しい技術とVRC世界を創るために使われているテクノロジをいくつか紹介します。 個人的には、私自身(ゆーろん)が元々、VRChat用のワールドを開発していたということもあり、一昨年(2021年)と比較してVRChatで表現できることの幅が何段階も増えていることを確信できました。 またVRC内の個人開発者などからも話を聞いてきたので、その辺も少し織り交ぜながらVRChatの将来的なビジョンに関しても触れていこうと思います。 目次 VRChatでワールドを構築するための技術 参考記事(外部リンク) VCCとOSC VCCとは OSCとは 参考記事(外部リンク) 2023年注目のUdon2 参考記事(外部リンク) まとめ VRChatでワールドを構築するための技術 VRChatでクオリティの良いワールドを作るためには、ゲーム系(Unityやシェーダ、3DCG、グラフィックなど)の知識や実装経験があるとスムーズにできるでしょう。もちろん、そういった知識がほとんどなくても現在、豊富にネット上にワールドを制作するための情報が転がっているので、それらを組み合わせることで個人の思い描くワールドを大まかには作ることができます。 具体的にワールドを作るためには、「Unity」「VRChat SDK」「コンテンツデータ(3Dモデルデータや音声、画像データなど)」が必要です。また複雑なギミック(ゲーム系のシステム)を作るにはUnityC#やUdonSharpに関する知識があると実装可能です。 UdonSharpとは UdonSharp(U#)はMerlin氏が開発したオープンソースソフトウェアで、C#に似たコードをUdon Assemblyにコンパイルすることができるものです。 通常のUdon(VRChat上でギミックを作るための仕組み)はノードベースでプログラミングする必要がありますが、U#を用いることでC#でUdonを書くことが可能になります。ただ標準のUnity C#と異なりさまざまな制限事項があるためUnity C#のコードをそのままストレートに書くことはできません。 参考記事(外部リンク) GitHub - MerlinVR/UdonSharp: An experimental compiler for compiling C# to Udon assembly GitHub An experimental compiler for compiling C# to Udon assembly - MerlinVR/UdonSharp シン・U# 入門 ② - ハツェの真時代傾向璋 ハツェの真時代傾向璋 こんばんは。ハツェです。 今回も、Udonをスクリプトで制作するための記事を書いていきます。 今回は、Udonの同期関連について話して行けたらなと思っています。 あくまでもU#を扱っているので、この記事はコードを基礎的に書ける方を対象としています。予めご了承ください。 動作環境は、Unity : 2019.4.29f1、VRCSDK : 2021.08.11.15.16、U# : v0.20.2です。 目次 前回 今回の概要 同期について ObjectSyncによる同期 変数の同期 変数の同期方法 Inspectorから同期方法を指定する スクリプト内から同期方法を指定する Continuou…

ITエンジニア性格診断のフロントエンドをアップデートしました

みなさんこんにちは。ゆーろんです。 今回は2022/5/12に公開したWEBアプリケーションである「ITエンジニア性格診断テスト」に関して本日(2022/12/15)に更新したので改良点の紹介がメインとなります。 また「ITエンジニア性格診断テスト」を開発しようと思ったきっかけ的なものも思い出しがてら記録しておきます。 目次 ITエンジニア性格診断テストとは 開発のきっかけ 今回の更新で改善した実装内容 今後の開発予定 ITエンジニア性格診断テストとは ITエンジニア性格診断は「WEBに関わるシステムやアプリの開発を行うエンジニア向けの性格診断」を提供するWEBアプリケーションです。 構想と内部設計に2日程、実装に4,5日かけて開発しました。フロントエンド部のデプロイ先はPaaSのNetlifyになっており、バックエンド部のデプロイ先はHerokuになっていました。 (2022年12月現在、HerokuにデプロイしたAPIサーバは削除済み(現在利用不能)) 大まかな機能としては10種類のエンジニアタイプを定義しておき、各質問への回答結果をもとににエンジニアタイプを判断し、その結果を表示すると言うものになります。なおバックエンドのサーバ機能にはデータベースへの回答登録機能とデータベース上の総計をGET Requestがきたら返すという機能が実装してありました。 開発のきっかけ もともと自分は性格診断に興味があり、ネット上で様々な診断アプリを受けていました。具体的には「データでわかる辛口性格診断」や「MBTI 無料性格診断テスト」など。 そんな中、記事をあさってる最中に「ITエンジニアにも複数のタイプがいる」的な内容が書かれてある記事を見つけました。それで「ITエンジニア版の性格診断テスト」があったら面白いのではないかと思い製作してみた次第です。 制作にあたって、ネット上の記事や各種SNSや技術ブログなどを回って、自分なりに10タイプのエンジニアを定義することとしました。そのため要件定義(仕様決定)には半日以上かかりました。 今回の更新で改善した実装内容 前回デプロイした5/12時点ではReactを触ってまだ4, 5日程度であり、実装されたコードの内容もかなり見にくく、Reactの仕様にも理解が不十分なまま実装したため、あまり設計の良い設計ができませんでした。 今回の更新では不十分だった質問設計とパラメータ(得点)の演算処理、そして結果文の大幅の見直しと訂正を行いました。またコードもかなり書き換え、統計情報の画面もかなり訂正しました。(このページはバックエンドのAPIサーバが用意されれば統計情報を表示できるものとなってます) 結果画面の各ポイントのパラメータ名と表示も下の画像のように書き換えました。 今後の開発予定 バックエンドのAPIサーバ(Rails駆動)はFireBaseに変える、つまりNodeベースにする予定です。 それにより「統計情報」の画面を提供できるようになると思います。 ここまでご覧くださりありがとうございました。