LaravelORMについて/Direct Connectについて/SREについて/WordPress/2020-03-29【コミット会報告】

コミット会

この記事は、03月29日都内某所で行われた、IT学習の継続を目的とした勉強会
(通称:コミット会)のレポートです。

参加者と発表内容

  • YUUKI
    • LaravelORM
  • Takuto
    • Direct Connectとは
  • Moby
    • SREについて
  • Kudoo
    • WordPressと構造について
  • yasuto
    • クラッカーの侵入経路並びにポートスキャンについて

YUUKI 発表内容の目次

  • MVCのおさらい
  • DBクラスとクエリビルダ
  • ORM

MVCのおさらい

DBクラスとクエリビルダ

DBクラスを用いたテーブル読み出しと、DBクラスにある「クエリビルダ」を用いて、Laravel独自のメソッド(getメソッドなど)を使い直接SQLを書かずにテーブルへの問い合わせを実現できる機能をお話しました。

ORM

ORMと呼ばれる、モデルと呼ばれるテーブル定義のクラスを使うことで、SQLの記述をせずに柔軟なテーブル読み出しを実現できることをお話しました。
ORMのメリットは、SQLを書かない為記述ミスがないことと、DB問い合わせをオブジェクト指向のように扱える為、より効率的な開発を実現できることにあります。

Takuto 発表内容

本日は、

  • Direct Connectとは
  • Direct Connectの接続の種類
  • Direct Connect Gatewayって?

についてお話しました!

Direct Connectとは?

AWSが提供するオンプレミスとAWSの環境を専用線で接続するサービスのことを指します。
AWSを個人で利用する場合はあまり触れないサービスかと思いますので、本日皆さんに紹介させていただきました。

Direct Connectの接続の種類

Direct Connectには

  • Private Virtual Interface
  • Public Virtual Interface

の2種類のインターフェースがあります。Private Virtual Interfaceを利用することで、VPCとオンプレミスを接続することができます。

S3やDynamoDBなどのインターネット経由で接続するサービスを利用したい場合はPublic Virtual Interfaceを利用します。

Direct Connect Gateway

Direct Connect GatewayはAWSとDCの間にあるコンポーネントであり、複数のVPCを接続できるゲートウェイです。1リージョンに作成すると他のリージョンにも作成されるためリージョンをまたいでDirect Connectを利用できる優れものです。

Moby発表内容

SREについて説明しました。

SREとは

SREとは、Site Reliability Engineering の略で、SRE本では「ソフトウェアエンジニアに運用チームの設計を依頼したときに出来上がるもの」とされている。

これまでは、開発チームと運用チームが分断されており、各々目指すものが違うため対立構造が出来上がりがちだった。
基本的に開発チームは新機能をユーザに届けたいと思い、運用チームは障害を起こさないよう、変化を嫌うためである。

Google でのサービス運用チームは、SREチームと呼ばれている。
そのチーム構成は、50~60%がソフトウェアエンジニア、残りがいままでインフラエンジニアと呼ばれていた人々である。

この構成にするメリットは自動化やソフトウェアの作成に長けているため、運用チームが手動で行っていたことを機械にやらせることだ。
これまでは、運用チームは手作業で運用にまつわる業務を実施していたが、その場合はサービスがスケールアップするごとに運用業務にあたる人員を増やす必要がある。

Kudooの発表内容

そもそもWordPressって何なの?

公式サイトによると、WordPressとはブログから高機能なサイトまで作ることができるオープンソースのソフトウェアのこと。全世界で最も有名なCMSでもある。
※CMS・・・web制作に必要な専門的な知識がなくても、webサイトやコンテンツを構築・管理・更新できるシステムのこと。

システム要件としてはPHPとMySQL(MariaDB)、Webサーバ(ApacheやNginxを推奨)が必要。詳しくはWordPress公式サイトを参照ください。

WordPressの市場シェアは過去10年間で激増している!

オーストラリアの調査会社「W3Tech」の調査によると、全webサイトの約35%がwordpressを利用しているらしい。
2011年:13.1%
2015年:23.3%
2020年:36.0%

それだけ世界中の個人、法人から認められてきている事なのだろう。
一方、「シェアが増えるということはサーバー攻撃の標的にもなりやすい」ことを表す。
そのため、セキュリティの高い情報を扱う場合はWordPressでのサイト構築は推奨されていない。

WordPressのディレクトリ構造について

全部書くと数千文字になってしまうので、超ざっくりと、、

以下の画像がWordPressのディレクトリ構造

wp-adminフォルダ:WordPress管理画面を表示するためのファイルが格納されている
wp-contentフォルダ:テーマ、プラグイン、言語などで構成されているフォルダ
wp-includesフォルダ:API、クラス、関数が格納されているフォルダ

wordpressフォルダ直下に格納されている複数のphpファイル:WordPress起動に必要なファイルとなっている

今回はざっくりこんな構成になっているんだって事を知ってもらえたら嬉しいです。

yasutoの発表内容

侵入者の経路についてとポートスキャンについて発表しました。

クラッカーの侵入の流れ

クラッカーが対象のサーバにアクセスするメジャーな流れとして、対象のサーバのIPアドレスを把握(nslookupコマンドなどを利用)→対象のサーバに対してポートスキャンを行う→ポートスキャンの結果をもとに脆弱性を発見。脆弱性の情報をもとに様々な攻撃手段を用いて侵入を試みるといったものがあります。

ポートスキャンの手段について

現在では簡単にポートスキャンを行えるツール(nmapなど)が存在しますが、これらのツールはメジャーなものであるため、ログをとられるなど足が付く恐れがあります。そのため、侵入者がよく用いるポートスキャンの方法の一つとしてtelnetを使用してポートスキャンを行うといった方法があります。telnetは本来23番ポートが空いている対象のサーバに対してリモートアクセスするための通信プロトコルですが、実はリモートアクセスするポート番号を変更することができます。基本的にアクセスは失敗するのですが、対象のポート番号が空いているか否かだけではなく、使用されているOSのバージョンやその他様々な情報を持ってエラーを返してくれるため、侵入者はその情報を持って様々な脆弱性を知ることができます。加えてtelnetは通常でも利用される通信プロトコルであるため、nmapなどのツールを利用してポートスキャンを行うよりもより足がつきにくいといったメリットがあります。サーバの運用者は、こういった通信プロトコルを侵入者が利用するといったことも認識し、気を付ける必要があります。

この記事を書いた人

元専業アフィリエイター。
2019年にプログラマーに転向し、受託開発企業からキャリアをスタート。
使用言語は主にPHP。SwiftやFlutterにも興味有。

Yuukiをフォローする
コミット会
Yuukiをフォローする
技術ブログ東京

コメント

タイトルとURLをコピーしました