みやみや

4月 162017
 

しぇあぽいんとさんと仲良くなるために、まずは Windows では一番慣れている PowerShell を使って SharePoint Online へアクセスしてみたメモ。

CSOM (クライアント側オブジェクト モデル) を使って、リスト一覧を取得してみます。

環境

  • Windows 10 Pro
  • PowerShell 5.1

事前準備

SharePoint Online 用の SDK がインストールされていない時はインストールします。

サンプルコード

ユーザーが miyamiya@example.com、SharePoint Online の URL が https://<tenant>.sharepoint.com/sites/example と仮定してサンプルコード書く。

考察

一旦 Load で予約して、ExecuteQuery で実際に取得するのが慣れるのに時間がかかりそう。

参考

4月 162017
 

しぇあぽいんとさんと仲良くなるために、まずは Windows では一番慣れている PowerShell を使って SharePoint Online へアクセスしてみたメモ。

環境

  • Windows 10 Pro
  • PowerShell 5.1

事前準備

SharePoint Online 用の SDK をインストールします。

サンプルコード

ユーザーが miyamiya@example.com、SharePoint Online の URL が https://<tenant>.sharepoint.com/sites/example/SitePages/Home.aspx と仮定してサンプルコード書く。

考察

REST API を叩いて JSON を返すサンプルを参考にしましたが、別に REST API を叩きたいわけではなかったので、とりあえずアクセスした画面を HTML で保存するだけを行ってみました。

恐らくユーザー名とパスワードを使うのはあまり良くないのだろうけど、一般ユーザーではこの方法しかないんじゃないかな?と思っています。

参考

4月 152017
 

以前 Ruby を使って Gmail 経由でメール送信 というブログを書きましたが、今度は Windows で定期実行される処理(PowerShell)からレポートメールを送る必要があったのでメモ。

環境

  • Windows 10 Pro
  • PowerShell 5.1

サンプルコード

自分のメールアドレス(差出人)が miyamiya@example.com 、宛先のメールアドレスが misono@example.jp としてサンプルコードを書いてみる。ここでは miyamiya@example.com が Office 365 のアカウントとする。

参考

3月 222017
 

今回訳あって Symfony 1.4 を触ることになり、手元で Symfony 1.4 を勉強する環境を作りました。

少し手こずったのでメモを残します。

前提条件

  • Hyper-V に CentOS 7.3.1611 をセットアップ済み
  • SELinux は disabled
  • firewalld は停止済み
  • Apache, MariaDB は導入済み

yum で必要なパッケージをインストール

root ユーザーで作業を行います

pear で Symfony をインストール

root ユーザーで作業を行います

Symfony のセットアップ

一般ユーザー(ここでは hoge さん)で作業を行います。

frontend_dev.php で IP アドレスを指定されている部分をコメントアウトしました

Apache の設定

root ユーザーで作業を行います

dev.conf は次の記述にします

Apache に設定を反映させます

動作確認

  • http://<ゲスト OS の IP アドレス>:8080/index.php/

  • http://<ゲスト OS の IP アドレス>:8080/frontend_dev.php/

参考 URL

1月 092017
 

fail2ban とは、ログファイルを読み取り、不審なアクセスを行なった IP Address 特定し、当該 IP Address からのアクセスを自動的に一定時間(期間)拒否することができるソフトウェアです。

訳あって、すぐに sshd のポートを変更できないサーバーを任されていますが、Port 22 への攻撃が激しいため fail2ban を導入しました。

作業は全て root で行っていることを前提としています。

環境

  • CentOS 7.2

インストールと起動

fail2ban は EPEL (エンタープライズ Linux 用拡張パッケージ) リポジトリにありますので、まだ EPEL リポジトリを導入していない時は次のように導入します。

EPEL リポジトリの導入が済みましたら、早速 fail2ban のインストールと起動を行います。

これだけで導入は完了です。
続いて sshd の監視を行う設定を書いていきます。

設定

設定ファイルは /etc/fail2ban/jail.conf になりますが、直接触るのではなく、/etc/fail2ban/jail.local を作ることで設定をオーバーライドできるようです。

例えば、下記のような 2 行だけのファイルを作成し、/etc/fail2ban/jail.local として保存すると、sshd の監視を行うことができます。

つまり jail.local に書かれていない記述は jail.conf がデフォルト値として使われるようですので、jail.conf を参考に jail.local を作っていくことを考えればよいかと思います。

しかし、個人的には fail2ban のアップデートを行なった時に動作が変わることを極力防ぐことができるとも考えられるので、/etc/fail2ban/jail.conf をコピーして使っても良いと考えます。

設定の反映

daemon を再起動させます。

動作確認

現在の状態を確認するには次のコマンドで行います。

表示例

現在の ban リストの確認方法は次のコマンドで行います。

表示例

fail2ban-sshd という名前でまとめて、iptables で制御しているようです。

iptables にこのようなルールが追加されていました。

生ログをみてみます。

ban -> unban -> ban -> unban を延々と繰り返している IP Address があります。

このような攻撃への対策も fail2ban で行えます。

常習犯対策

繰り返し不正アクセスを試みる IP Address に対しては、recidive の設定をします。recidive とはオランダ語で「常習犯」という意味のようで、ある一定期間で決められた回数の BAN が行われた IP Address を長期間アクセス拒否にする設定です。

/etc/fail2ban/jail.local に次を追記しました。

3 回 BAN を繰り返した IP Address を対象としています。

設定後は忘れずに daemon を再起動します。

その後ログをみてみます。

しつこい 117.135.144.233 が recidive に引っかかったようです。

とりあえずこんな感じにしました

sshd について、600 秒以内(デフォルト)に 3 回不正アクセスを行なった IP Address を 600 秒間(デフォルト) BAN します

常習犯(recidive)について、1 日以内(デフォルト)に 3 回 BAN になった IP Address を 1 週間(デフォルト) BAN します。

ちなみに複数ポートをチェックする時は

複数ポートを監視する時にはカンマで区切るようです。

12月 172016
 

2016年12月15日に Windows 7 sp1 を再セットアップ(クリーンインストール)する事があり、その後 Windows Update をかけたところ「更新プログラムを確認しています」と表示されたまま 1 日置いても一向に始まる感じがしなかった為、ググって解決した時の簡単なメモです。

手順

  1. Windows Update の自動更新を止める
    「更新プログラムを確認しています」になってしまうと KB3138612 もインストールできなくなるので、自動更新は一旦止めました

  2. KB3138612 をダウンロードする

  3. 一旦再起動
    手順 1 で止める前に内部で自動更新が動いていると、KB3138612 のインストールも始まらなくなるため

  4. 2 でダウンロードしたファイルを実行(KB3138612 をインストール)する

  5. Windows Update を実行する

考察

Windows 10 への自動更新は、60 過ぎの両親には恐怖だったようで大惨事になってしまいました。
一般の方が、画面に表示される事を全て読んで理解するとは限らないという事を痛いほど判りました _(:3」∠)_

参考