セキュリティ

Mac で追加したユーザでログインできなかった話

TL; DR FileVault を設定する場合、解除可能なユーザに追加したユーザを入れておかないと再起動のたびに管理者アカウントでしかログインできなくなるよというお話 情シスあるある 社員の端末に管理者アカウントと社員用アカウントを入れて管理する 端末には暗号化を実施する それは管理者でしか変更できなくする なーんてこと、よくしますよね。 してなかったらせめて暗号化はしてくださいね。 CSR 大事ですからね。 本題 さて、Mac でそういったことを設定しようと思うと FileVault...

CORS(Cross-Origin Resource Sharing)をexpress4で実現する

express4になってCORSにもハマったのでメモ。 WebStormなどを使ってlocalhostの任意のポートでデバッグをしているとSame origin policyにかかって涙目になる人は多いかと思います。そんなときは、サーバー側でcorsに対応して簡単に回避がしたいことがあるかと思います。 そこで、express4でcorsを実現してみます。 前提として、expressコマンドでひな形を作っているとします。 corserミドルウェアを使うのでcorserをインストール $ npm install corser node.jsのサーバー側のソースコ...

【iOS10】Speech Recognition API(音声認識API)の制約まとめ

WWDC2016のSpeech Recognition APIをまとめてみました。 といっても、実装やできることなどはこちらの記事などで触れられていますので、 主に制約などを調べてみました。 インターネット接続はほぼ必須 セッションの03:30あたりで言及していますが、インターネット接続は必要です。 SiriやKeyboard Dictationと同じ技術要素を使っているので、当然といえば当然です。 ただし、except some some language and device modelsとも言っているため、オフラインでも使える端末と言語の組み合...

Sublime Text 3 による MQL 開発環境の構築

はじめに FX 業者などで利用されている Meta Trader 4 (MT4) で独自指標や自動取引プログラムの作成に利用されるプログラミング言語 MQL の開発には MT4 標準の MetaEditor というエディタが用いられる事が多い。 ただし、 MetaEditor は他の高機能エディタと比較すると、あまり使い勝手がよいエディタではないので、今回は高機能エディタの一つである Sublime Text 3 で開発を行うための設定方法をまとめた。 筆者の環境は以下の通り。 項目 状況 PC MacBook Pro Retina 13-inch, Ear...

SST/TLS

SSL SSLとは 暗号化と認証の機能を提供しているセキュリティ通信のプロトコル トランスポート層〜セッション層において動作する TCPを利用したプログラムは殆どの場合はSSL通信に置き換えることができる (図: http://kogures.com/hitoshi/webtext/nw-ip/index.html) もとはネットスケープ社が設計したもの その後TLSとして標準化され普及した SSLと非SSLの区別 SSLと非SSL方法を区別する方法はいくつかある。例えばポート番号。 httpはTCP80番 httpsはTCP443番 SSLの通信手段 SSLは...

Ansible - Sudoが使えない時

Ansibleを触っていて困ったのは、既存のサーバ群のセキュリティが強固な時でした。 強固というか、sudoersに各シェル(sh,bash)を使わせない設定になっていたので Ansibleの挙動的に、指定されたシェルを使ってrootにスイッチ?かsudoを叩いていたのですが どうやらそれにひっかかっていた模様・・・ Ansibleの設定でどうこう、では無く力技で回避させたので備忘録で残しておきます。 usesudo.sh #!/bin/sh ### 引数にsudoで実行したいコマンドを引き渡す password=yourpassword expec...

Jupyter notebookをリモートサーバで実行する

jupyter のインストール pyenv でanaconda環境に切り替えたのち pip install jupyter jupyter/notebookのインストール nodejsとnpmが入っていることをはっきりさせる sudo apt-get install nodejs-legacy npm macなら brew install node jupyter notebookをcloneしてビルド git clone https://github.com/jupyter/notebook.git cd notebook pip install --pre -e . jupyter notebook ipythonの設定 pip3 install ipython ipython3でIpythonを立ち上げて、以下のコマンド from notebook...

【Python + PHP】 Raspberry Piで気温・湿度・気圧モニターを作る

 以前使っていたセンサーモジュール AE-BME280 が手元にあったので、ネットワーク内から簡単に参照できるようにしてみました。  検証環境  ・Raspberry Pi 2 Model B  ・Raspbian Jessie Lite January 2017  ・Apache 2.4.10  ・PHP 5.6.29  ・Python 2.7.9  準備  必要となるパッケージをインストールします。 $ sudo aptitude update $ sudo apt-get install i2c-tools python-smbus apache2 php5  ちなみに、なぜPython単体ではなくApacheとPHPを使用するかですが、単...

GitHubで無くしたMFSのrecovery-codesを復旧した話

GitHubに入れなくなった。 GitHubはセキュリティーのために、MFAを設定していました。 この状態で、不幸が重なり、入れなくなっていたアカウントがまさかの復旧が出来たので、その顛末をお話します。 MFAデバイスの故障 AndroidをMFA端末に設定しているのですが、この端末が壊れました(正確には壊れたというか、暗号化状態でOSアップデートをしたときに不具合で起動しなくなるというのに月一くらいの頻度で3回ほど遭遇しました。) このため、MFAを3回ほど設定し直すという作業をして...

ASP.NETでJSON形式のリクエストが「The JSON request was too large to be deserialized」というエラーになる場合の対処方法

エラーメッセージからすると一見全体の大きさが原因のように思いますが、実はキーの数が原因です。 これは、Microsoft セキュリティ更新プログラム MS11-100 によってリクエストに含まれるキー数が最大 1000 に制限されているためです。おそらく多量のキーを含むリクエストを送るDoS攻撃への対策ではないかと思われます。詳しくは以下を参照してください。 多くのフォーム キー、ファイル、または JSON ペイロード メンバーを含む ASP.NET 要求が例外が発生して失敗する https://supp...

Mac OS X Server をRADIUSサーバとしてAirMacでWPA/WPA2エンタープライズネットワークを構築する

無線ネットワークのセキュリティ上の問題点 個人宅などはもちろんのこと、スモールオフィスでもWiFiを使っている方は多いと思います。ですが、WiFiの電波はオフィス外にも届いてしまうことが多く、セキュリティ的な心配があります。 SSIDを見えなくする MACアドレス登録制にする などの対策をしている方もいるかもしれませんが、実はこれらの対策はほとんど効果がありません。 SSIDがブロードキャストされないようにしても、ちょっとしたツールを使えば簡単に見つけられてしまいます。...

レンタルサーバとSSL/TLS

こんにちわ、TenForward こと加藤です。 この記事は ファーストサーバ Advent Calendar 2016 7 日目の記事となります。 レンタルサーバに限らず、各種サーバでセキュリティのために SSL/TLS を使用する場合は、安全に暗号通信が行われる必要があるので、安全な設定をする必要があります。 SSL/TLS には色々なバージョンがありますが、プロトコル自体に含まれる脆弱性のため、最近では SSLv2 や SSLv3 は無効にする必要があります。 しかし、脆弱なバージョンを使わないだけでは、SSL/T...

AmazonS3にAkamai-DSDをつなぎこんだ話

Appleの規定のおかげで、CDNをhttpsに対応させなきゃならなくなったのでAkamaiとS3を使った形を作ってみたお話。 ※つらつらと備忘録のつもりで書いたのでわかりにくかったらごめんなさい 前提 Akamaiでhttpsを使おうとするとオリジン側もhttpsに対応していることが前提だそうな。Client-Edge間をSSL化するならオリジンもSSL化して、OriginからClientまでSSL通信のがセキュリティ上望ましい・・・のはわかる。 AmazonS3のStatic Website Hostingはhttpsに対応していない。 さてどうすっ...

後の事を考えて $_POSTなどを生で使わないようにする。

セキュリティ対策で、フレームワーク等を使用していない場合でも後々を考えて、メインフローとなる部分やクラス内でも生の$_POSTを使わないようにする。 考えてみれば簡単な話しだが、今までこれを考え付かなかったのは、自分の頭の固さか・・・ O_Post.php <?php function U_POST($value,$op=0){ //01- $opで動作切り替えたり、バリデーション入れたりでも。 if($op==1): $val = @$_POST[$value]; else: // endif; //02- 不要なタグの除去・簡易的な...

Android のアプリ内ブラウザについてのまとめ

はじめに Android のアプリ内ブラウザについて、どのような種類があり、それぞれにどんな特徴やメリット・デメリットがあるのかについてまとめます。この記事を読むと、次のことが理解できるかもしれません。 Android の普段使っているアプリで Web ページを開く時に裏でどのような技術が使われているか Web ページをアプリ内で開く機能を実装するとき、目的に沿ったアプリ内ブラウザを選択できるようになる 実際に運用されている著名なアプリのアプリ内ブラウザはどうなっているか An...

ESXiでSSHを有効化

環境 ESXi 5.0/ESXi6.0で確認できています。 有効化 コンソールで有効化 1.ESXiをインストールしているサーバーへコンソール接続 2.[F2]キーを押下してログイン 3.を開く 4.を選択して[Enter]キーを押下 5.を選択して[Enter]キーを押下 vSphereで有効化 1.vSphereでログインしてインベントリを選択 2.<構成>タブの<セキュリティプロファイル>を選択 3.<サービス>右の<プロパティ>を選択 4.を選択して[オプション]ボタンを押下 5.任意の起動ポリシーを選択して...

Node.jsでLambdaからAuroraに接続する

はじめに AWS独自のSQL互換データベースのAuroraですが、 Asia Pacific 1 (Tokyo)への展開は昨年10月ということもあり、 まだまだNode.jsからRDS Auroraに接続する情報について、 日本語情報があまり見つからない状況ですので、 現時点での手順を整理しておこうと思います。 VPCのセキュリティグループの設定 まず、大事な点はRDSは必ずVPCの中にあるということ(2016年2月時点)。 古い情報などでは、RDSをVPCの外側に置けていたようですが、 現時点ではRDSを起動する際にVPCの指定は...

キーイベントを発行する話

いろいろやっていると、ハードキーを使わずに 任意のタイミングでキーイベントを発行したくなることがあると思います。 手段はいくつかありますが、状況によって可否が変わります。 セキュリティ的な観点も含めて、 できること、できないことをメモしていこうと思います。 目次 1.adbコマンドから発行する 1-1.inputコマンド 1-2.sendeventコマンド 2.プログラムコードから発行する 2-1.大前提(セキュリティ的な話) 2-2.dispatchKeyEvent 2-3.inputコマンドを使って発生させる 3.お...

rvm上のrubygemsのバージョンを変更する

rvm上のrubygemsのバージョンを変更する $ rvm rubygems 1.3.7 --force Rails2系などの古いプロジェクトを使っていると、rubygemsが新しすぎてエラーが起きたり、おかしなことになったりすることがある。 (uninitialized constant ActiveSupport::Dependencies::Mutex とか) 上記のコマンドで結構簡単に変更できた。 問題のプロジェクトは互いに関係ないプロジェクトがいろいろなバージョンで動いているサーバーだった。 クラウドの良い点の一つは、環境ごと隔離できることだと実感し...

sshログイン方法を選択する場合のなんとなくな感覚

sshの運用について サーバーを立ち上げた段階でsshをどう利用させるかは、インフラ側ではいつでもつきまとう悩みです。 会社やチームで基本ルールがあるならいいのですが、インフラ担当に一任されることも多いかと思います。 まさに僕は一任されてる側なので、なんとなくな条件によって設定を使い分けています。 あくまで、個人的なルールと設定ね。 設定手順はこちら 状況別ssh設定 細かい調整は当然行いますが、ざっくり分けて4パターンで使い分けしています。 社内や閉鎖環境に設置...