タグ

ブックマーク / thinkit.co.jp (25)

  • シングルサインオン認証とは ー その種類と仕組み、メリット・デメリットを解説

    仕事で複数のIDやパスワードの管理をしているという方は多いです。セキュリティの観点や業務の効率化から、大量のパスワードを管理する問題を解決したいという方におすすめの仕組みがシングルサインオンです。その仕組みやメリット・デメリットなどを解説していきます。 はじめに 昨今はクラウド、Webアプリ、SNSなど複数のサービスを仕事で使うことが増え、IDやパスワードの管理が困難になってきているという方も多いのではないでしょうか。そのような問題は「シングルサインオン」で解決が可能です。この記事では、シングルサインオンの種類、メリット・デメリット、選び方のポイントなどを解説します。 シングルサインオンとは シングルサインオン(Single Sign-On:以下、SSO)とは、IDとパスワードを一度入力するだけで複数のサービスにログインできる仕組みです。ユーザーはたったひとつのIDとパスワードを管理するだ

    シングルサインオン認証とは ー その種類と仕組み、メリット・デメリットを解説
    wate_wate
    wate_wate 2023/07/13
    メモ
  • 開発者としての「テスト自動化」の基礎

    はじめに 連載は、開発を加速・効率化させるソフトウェアテストをテーマに解説を進めています。前回の解説で、読者の方々はソフトウェアテストの新たな分類やそのアプローチを知ることができたのではないでしょうか。 今回は、「開発者としての」という視点で「テスト自動化」の実践に向けた基を解説します。なお、ここではテスト自動化を下記のように定義することとします。 「ソフトウェアを使って、テストマネジメント、テスト設計、テスト実行、結果チェックなどのテスト活動の実行や支援をすること(ソフトウェアテスト標準用語集(日語版)Version 2.3.J02)」 その上で、皆さんが開発者にとってのテスト自動化を知り、テスト自動化をどのように実施するかチームで議論・決められるようになることを期待しています。 開発者にとってのテスト自動化のメリット テスト自動化とは人手で行うことをソフトウェアで実施することにな

    開発者としての「テスト自動化」の基礎
  • 強制アクセス制御(SELinux)の基礎

    はじめに 最近のLinuxには、強制アクセス制御(MAC:Mandatory Access Control)と呼ばれるセキュリティを強化する機能が標準で搭載されています。この強制アクセス制御機能を活用することで、サーバに不正侵入を許した場合でも被害を限定化するなどリスクを低減することができます。 強制アクセス制御の実装としては、SELinuxSecurity-Enhanced Linux)やAppArmor(Application Armor)、TOMOYO Linuxなどいくつかの種類がありますが、ここではRed Hat Enterprise LinuxやFedoraといった主要ディストリビューションに標準実装されているSELinuxについて紹介します。 SELinuxの概要 SELinuxとは、アメリカ国家安全保障局(NSA)が中心となって開発した、Linuxのカーネルに強制アクセス

    強制アクセス制御(SELinux)の基礎
  • OSSのシステム脆弱性スキャン・検査ツール「OpenVAS」「Vuls」「OpenSCAP」を使ってみよう

    はじめに 前回に引き続き、今回もシステムの脆弱性スキャン・検査ツールを紹介していきます。今回はOSSのOpenVAS、Vuls、OpenSCAPについて簡単に概略を解説し、機能比較を行います。 OpenVASの概略 OpenVASは、前回で解説したNessusがクローズドソースになった後、これまでに公開されていたOSSのソースコードをベースに開発が続けられています。基的な構成はNessusと同じエージェントレスの脆弱性検査ツールで、2017年11月時点での最新のバージョンはOpenVAS-9です。 Linux版のOpenVASでは各ディストリビューション用のパッケージが用意されているので、そちらを用いた方が簡単にインストールできます。今回、筆者はUbuntu 17.10-desktopにUbuntu用のOpenVAS 9をインストールしました。インストールはhttps://launchp

    OSSのシステム脆弱性スキャン・検査ツール「OpenVAS」「Vuls」「OpenSCAP」を使ってみよう
  • OSSで脱サラ起業 国産Webデータベース「プリザンター」が目指す脱Excelの世界 | Think IT(シンクイット)

    過日のイベント「“Microsoft + OSS” Meetup」で行われたLT大会で、筆者がひときわ注目したプロダクトがある。脱Excel、脱メールを謳う業務ツール「プリザンター」だ。大手SIerに20年近く勤務していた内田氏は、日々運用現場で感じていた課題を解決するために業務外の時間で独りもくもくと開発を進めていたという。そしてプリザンターをコアに独立して会社を起こした。開発元であるインプリム社の内田氏と森井氏に詳しく話を聞いた。 ーーさっそくですがプリザンターについて教えてください プリザンターは、ノンプログラミングで業務アプリが作成できる「Webデータベース」というカテゴリの製品になります。オンプレ版のkintoneと考えていただくと分かりやすいかもしれません。.NET Framework 4.5が動作するWindows系のシステムをベースにしていて、オンプレ環境のほかAzureの

    OSSで脱サラ起業 国産Webデータベース「プリザンター」が目指す脱Excelの世界 | Think IT(シンクイット)
  • MySQLのチューニングを戦う方へ

    連載もついに最終回となりました。 連載では、MySQLクエリーチューニングことはじめで予告した通り、「チューニング箇所の洗い出しのテクニック」について説明してきましたが、「チューニングの方法」については一切触れませんでした。 「連載ではチューニングそのものの方法については詳しく説明しません。それは見出しの通り「銀の弾丸」などはなく、MySQLのパフォーマンスチューニングは計測と改善を繰り返し行っていくべきものだからです。そのため、特定のケースにマッチする改善の手法よりも、繰り返し使われる計測の手法にフォーカスを当てて説明していきます。」 その理由としてこの一文が全てではありますが、今回は参考までに筆者が考えるチューニングの指標を紹介したいと思います。それがあなたの環境に当てはまるかどうかは、これまでに紹介してきたツールなどを利用して計測してみてください。 チューニングの基方針 基

    MySQLのチューニングを戦う方へ
  • 自動化・省力化のためのSerf入門

    Serfが必要とされる理由 複数のサーバ環境上で、一斉にセットアップ用やデプロイ用のコマンドを実行したり、バージョン番号の確認を行ったりするためには、どのような方法が最適でしょうか。管理対象が数台程度であれば、毎回手打ちでSSHログインを実行し、コマンドを実行する方法もありでしょう。 しかし、その作業が同じ手順の繰り返しである場合や、システムにおける作業対象が十数台~数百台まで増えたとしたらどうでしょう? 人の手で行うとなると、作業にかかる時間が増える上に、作業ミス発生のリスクも高まります。ミスを防ぐためには、チェックの仕組みも必要となります。たとえそれが単純な作業だったとしても、システム全体としては非常に面倒なものになりがちです。 このような問題を解決するためのツールとして、parallel-sshが挙げられます。parallel-sshは名称の通り、ある環境上から対象となるサーバ群に対

    自動化・省力化のためのSerf入門
  • NginxでハイパフォーマンスWordPress in SoftLayer

    Nginx(エンジンエックス)は全世界で最も高稼働なWebサイトの実に37%以上に利用され、今も膨大なコンテンツを高速でユーザーに届けている高性能なオープンソースのHTTP Webサーバです。 2002年にオープンソースとして開発が始まり、10年以上を経て多くのユーザ、開発者の貢献によりパフォーマンスと安定性の高さ、豊富な機能、容易な設定、低消費リソースを実現し、多くの支持を得ています。 そんなNginxですが、単にWebサーバとしてだけではなく、ロードバランサやWebアクセラレータとしても活用することが可能です。 Nginxをロードバランサとして利用する場合、いわゆるIPアドレスによる負荷分散を行うL4ロードバランサではなく、URLやHTTPヘッダーで負荷分散が可能なL7ロードバランサとして振る舞います。そのためリクエスト毎にロードバランスするバックエンドを変えるなど、柔軟な設計をとる事

    NginxでハイパフォーマンスWordPress in SoftLayer
    wate_wate
    wate_wate 2015/05/01
    メモ
  • マシン・イメージを自動構築し、作業効率を高めるPacker入門

    Packerとは? Packerはマシン・イメージの自動生成や管理をするコマンドライン・ツールです。Packerの背景や機能解説のほか、AWSAmazon Web Services)とDigitalOceanで実際にPackerを使う方法、Atlasとの連携方法をご紹介します。 マシン・イメージ管理とPacker Packerは何を解決するのか? クラウド(IaaS)や仮想化環境を使う上で避けて通れないのが、マシン・イメージをどのように管理するべきかという課題です。ベンダーから用意されているマシン・イメージは、OS環境がほぼ初期状態のままです。その状態から、タイムゾーンや言語設定、管理用アカウントの作成、開発環境のインストール、ミドルウェアや各種サーバのセットアップなどを済ませて、実際に使える環境を整えるのに時間がかかります。 この課題を解決するのが、ある程度準備された環境をテンプレート

    マシン・イメージを自動構築し、作業効率を高めるPacker入門
  • 開発環境の構築・共有を簡単にするVagrant入門

    Vagrantとは? Vagrantは、開発環境の構築と共有を簡単に行うためのツールです。どこでも同じ環境を再現できるように仮想マシン環境を管理する機能と、Atlasを通して共有する仕組みが提供されています。 VagrantとAtlasの関係 Vagrantは、アプリケーションやシステム開発のバックエンドを簡単にパッケージ化し、共有するためのツールです。このパッケージ化された環境を、「box」と呼ばれる単位で管理します。このboxには、標準で対応しているVirtualBoxをはじめ、AWSなどの各種マシン・イメージに対応したプラグインを介してアクセスします。またboxを共有するための機能としてAtlasという名前のインターネット上のサービスが提供されています。なお、Atlasは以前VagrantCloudと呼ばれていたものですが、現在はHashiCorpの他のツール(Packer、Terr

    開発環境の構築・共有を簡単にするVagrant入門
  • CentOS 7のネットワーク管理基礎(後編)

    前回に引き続き、CentOS 7のネットワーク設定について取り上げます。新しい設定ツールの登場や、従来のCentOS 6まで慣れ親しんだネットワーク関連の基的なコマンド群の使用が非推奨になるなど、様々な変更点があります。CentOS 7から一新されたネットワークの具体的な設定手順、Tips等をご紹介します。 CentOS 7におけるリンクアグリゲーション 複数のネットワークカードを束ねて一つのネットワーク通信の可用性や性能向上を図るリンクアグリゲーションを実現するteamドライバーがCentOS 7で実装されています。現在の多くのサーバーは、ネットワークポートを複数持っており、このネットワークポートを束ねることで障害が発生してもネットワーク通信を継続させることができます。NICがチーミングされたCentOS 7が稼働するx86サーバーとネットワークスイッチの典型的な構成例を下図に示します

    CentOS 7のネットワーク管理基礎(後編)
  • CentOS 7のネットワーク管理基礎(前編)

    今回は、CentOS 7のネットワーク設定について取り上げます。新しい設定ツールの登場や、従来のCentOS 6まで慣れ親しんだネットワーク関連の基的なコマンド群の使用が非推奨になるなど、様々な変更点があります。CentOS 7から一新されたネットワークの具体的な設定手順、Tips等をご紹介します。 CentOS 7におけるネットワーク管理では、NetworkManagerによって行います。CentOS 6系では、Network Administration Toolに含まれるsystem-config-networkを使った管理やファイルを直接編集する運用形態が一般的でしたが、CentOS 7では、NetworkManagerを使った管理手法が推奨になりました。従来のNetworkManagerは、全てのネットワーク機能を制御できるわけではなかったため、/etc/sysconfig/n

    CentOS 7のネットワーク管理基礎(前編)
  • Dockerが注目されている理由を探る

    Dockerとは Dockerとは、Docker社が開発しているオープンソースのコンテナ型仮想化ソフトウェアである。Linux上でLXCLinux Container)の技術を活用し、コンテナ型の仮想環境を作成するものだ。 Dockerの主な特徴は、以下の通りである。 コンテナはカーネル部分をベースのOSと一部共有するため、リソース使用量が非常に少ない Docker社が用意しているリポジトリ(DockerHub)に、構築済みのコンテナイメージがあるので、構築作業が不要 コンテナの作成からプロダクトのインストール・設定するまでの手順を、“Dockerfile”というテキストファイルに定義できる(インフラのコード化)。このDockerfileを用いることで、Dockerが導入されている環境であればどこであっても、準備した環境を稼働させられるため携帯性が高くなる。 これらの特徴からDocker

    Dockerが注目されている理由を探る
  • PostgreSQLのログをFluentdで収集する

    データベースの運用管理にログの情報は不可欠ですが、オープンソースのDBMSであるPostgreSQLが出力するログは、直接取り扱うのに適した形式とは言えません。そこで記事では、オープンソースのログ収集ツールであるFluentdを使って、PostgreSQLのログを運用管理に活用しやすい形に加工する方法を紹介します。 PostgreSQLの運用管理に使う稼働統計情報とログ データベースを安定稼働させるには、データベースを健全な状態に保つ運用管理が必要不可欠です。データベースの運用管理には一般的に死活監視、リソース監視、性能分析、チューニング、バックアップといった項目が挙げられますが、まずは監視によって正しく現状を把握することが、運用管理の第一歩と言えるでしょう。PostgreSQLで監視に使える機能には、稼働統計情報とログがあります。稼働統計情報はPostgreSQLの様々な稼働情報を蓄積

    PostgreSQLのログをFluentdで収集する
  • Serverspecの効果的活用に向けたTips

    第2回ではシンプルな環境を例に、設定記述の際のポイントをいくつか紹介しました。実際の環境では、より複雑で管理するサーバの台数が非常に多いこともあるでしょう。そのような条件下でも、迅速にテストコードを記述しなければならない状況においては、さらに効果的なテストコード管理のための工夫が必要です。そこで最終回の第3回目は、Serverspecでテストコードを書いたりコードを管理したりする際に、より効率良く行うためのTipsを紹介します。 Serverspecの公式サイトにも様々なTipsがまとめられているので大変参考になります。こちらもあわせてご覧ください。 Serverspec Advanced Tips(英語での解説ページですが、非常に参考になります。) http://serverspec.org/advanced_tips.html 共通のテストコードをまとめて管理 第2回では、1台のサーバ

    Serverspecの効果的活用に向けたTips
  • Serverspecテストコード実例の紹介とコード記述の際のポイント

    第1回では、Serverspecの概要とテストコードを書くまでの事前準備についてご紹介しました。第2回では、より具体的な環境を例として、実際に即したServerspecのテストコードの書き方をご紹介します。テストコードを記述する際のポイント等をまとめ、テストコードの記述をスムーズに実施できるようになることを目的として解説します。 LAMP構成のシステムのテスト 具体的なシステムとして、LAMP(Linux、Apache HTTP server、MySQLPHP)構成の環境を想定し、この環境に対するテストコードの一例を紹介します。 LAMPの構成を採るシステムの例として、今回は統合監視ソフトウェアのZabbixを稼働させるための環境を取り上げます。LAMP環境のベースとなるLinuxは、CentOS 6.5を想定しています。 稼働状況のテストとして、大まかに以下の4つの部分に分けて各部分の

    Serverspecテストコード実例の紹介とコード記述の際のポイント
  • Phalconに触れながらMVCプロジェクトの構成と構造を理解しよう

    Phalconは自由度が高く、特にフォルダ構造などには規約はありませんが、参考として今回は生成されたフォルダ構造に触れながら、Phalconの設計に慣れましょう。 生成されたPhalconプロジェクト構造について簡単に解説します。 app Phalconの開発を進める上でのアプリケーションを格納するフォルダです。 app/cache Phalconで使われるテンプレートエンジンである、voltのコンパイル済みキャッシュが配置されます。 voltはtwigやjinjaに記述が似ているコンパイル型テンプレートエンジンです。 コンパイル時にPHPを生成しますが、この生成ファイルをcacheフォルダに保存しています。 他には、WebAPIなどから取得した結果を、一定時間ファイルシステムにキャッシュしたい場合などにも使えるでしょう。 app/config プロジェクト全体で使う、設定ファイルを配置す

    Phalconに触れながらMVCプロジェクトの構成と構造を理解しよう
  • Serverspecの概要からインストールまで

    変化の激しいビジネスに対応するためにシステムやサービスには、これまで以上に迅速な導入や安定した運用が求められるようになってきています。このような要求を満たすために、仮想環境やクラウド環境を基盤として利用し、サーバの構築プロセスや構成管理プロセスの効率化のためにChefやPuppet、Ansibleといった自動化ツールが活用されるようになってきています。 このように自動処理で手軽にシステムやサービスをセットアップできるようになると、構築時の人為的ミスを防げるようになるなど便利になる反面、内部で実施されている処理が人の手から離れて、把握しづらくなる傾向にあります。また自動化の導入に際しては、システムが意図した状態に作り上げられているのかを確認する作業も重要になってきます。特に大規模で複雑な環境において、この確認作業を手作業で実施することは、高コストの要因となってしまいます。 参考: Think

    Serverspecの概要からインストールまで
  • Phalcon Devtoolsを使ったMVCプロジェクト作成からHelloWorldまで

    はじめに 前回記事ではPhalconの開発環境を構成しましたが、今回はこの環境とPhalcon Devtoolsを使って、MVCプロジェクトの作成・MVCプロジェクトの起動・簡単なコントローラーの作成を行い、これらを使ってHelloWorldの出力を行います。 対象となる読者 PHPの一般的な知識をお持ちの方 CakePHPなど、他のPHPフレームワークを用いた開発の経験をお持ちの方 前提となる環境 PHP 5.4以降の環境でPHPをコマンドライン実行可能であること MySQLやMariaDBで事前に接続情報とデーターベースを作成してあること DevTools WebToolsの準備 前回でも簡単に触れましたが、Phalcon Devtoolsはプロジェクトの雛形やコントローラー・データーベースのテーブルからのモデル生成・スカッフォールド・DB構造のマイグレーションなどを行ってくれる便利な

    Phalcon Devtoolsを使ったMVCプロジェクト作成からHelloWorldまで
  • RailsのテストフレームワークRSpecの基礎知識

    実践Ruby on Rails 4 現場のプロから学ぶ格Webプログラミング 顧客管理システムの構築を体験しながら、Railsアプリケーション開発のノウハウを習得! この記事は、書籍『実践Ruby on Rails 4 現場のプロから学ぶ格Webプログラミング』の内容を、Think IT向けに特別にオンラインで公開しているものです。詳しくは記事末尾の書籍紹介欄をご覧ください。 記事では、テストフレームワークとしてRSpecを採用します。RSpecをうまく活用すると、簡潔で読みやすいテストコードを書くことができ、Railsアプリケーションの保守性を高めることができます。 しかし、RSpecの用語法や表記法はやや独特で、慣れるまでには時間がかかります。読者の中にはとまどいを覚える方がいらっしゃるかもしれませんが、次章以降を読み進めるうえでの鍵となりますので、是非じっくりと読んで理解してく

    RailsのテストフレームワークRSpecの基礎知識