2016年2月16日火曜日

Windows 10 へのアップグレードをブロックする方法のまとめ

event_note

Windows10への強制アップグレードを阻止する

マイクロソフトの暴挙

最近、顧客の端末を勝手に「Windows 10」にアップグレードしてしまってトラブっているのでなんとかして欲しいという事案が頻発している。

Windows Updateの設定を自動にしていると、どうやら【KB3035583】という「Windows 10 アップグレード広告」なるものがインストールされるようであり、Windowsを起動する度にWindows 10へのアップグレードを促すポップアップが表示されるようになる。

いわばマルウェアソフトのようなものがマイクロソフト公式から発信されるのだから防ぎようがないのだが、流石に苦情が殺到したのか?企業向けという前置きの元、公式からWindows 10アップグレードを管理(ブロック)する方法が出ているようである。

Windows 10 へのアップグレードを抑止する方法

@ITにて Windows 10 のアップグレードブロックについて詳しく解説しているので紹介しておく。
Windows UpdateによるWindows 10へのアップグレードを「ブロック」する理由とその方法

手順1 Windows 10へのアップグレードを禁止する

1. 更新プログラム【KB3065987】がインストールされていることを確認する

コントロールパネル→プログラムと機能→インストールされた更新プログラムを確認する

2. レジストリに下記のキーを登録することによりアップグレードを禁止する

reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate /v DisableOSUpgrade /t REG_DWORD /d 1 /f

手順2 タスクトレイの【Windows 10 アップグレード】アイコンを抹殺する

1. 更新プログラム【KB3035583】をアンインストールする

2. レジストリに下記のキーを登録することにより常駐プログラムを止める

コマンドプロンプトより下記コマンドを入力する

reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\Gwx /v DisableGwx /t REG_DWORD /d 1 /f

2016年2月8日月曜日

IPアドレス管理サーバーの構築 【3】 phpIPAM環境構築

event_note

必要なツール類をインストール

ツール類をインストールする前にパッケージ情報を最新にしておく。

    root@debian-phpipam:/tmp# apt-get update

標準エディタのviだとカーソルキーが動作しない(意図しない文字が勝手に入力されてしまう)のでVimエディタを導入する。

    root@debian-phpipam:/tmp# apt-get install vim

NTPクライアントをインストールする

    root@debian-phpipam:/tmp# apt-get install ntp

時刻合わせ(NTP)の設定を行う

デフォルトではpool.ntp.orgのntpサーバーを参照しているが変更する場合は/etc/ntp.confファイルを編集する
pool.ntp.orgについてlaunch

サービスの起動・停止などの管理を行うツール(sysv-rc-conf)をインストールする

    root@debian-phpipam:/tmp# apt-get install sysv-rc-conf
    root@debian-phpipam:/tmp# sysv-rc-conf ← 試しにsysv-rc-confを起動してみる

phpIPAMにて必要となる為、fpingをインストールする

    root@debian-phpipam:/tmp# apt-get install fping

apache2をインストールし設定ファイルを編集する

apache2をインストール

    root@debian-phpipam:/tmp# apt-get install apache2

apache2.confを編集する

    root@debian-phpipam:/tmp# cd /etc/apache2
    root@debian-phpipam:/etc/apache2# vim apache2.conf 

(変更前)

(変更後)

mod_rewrite を有効化しapache2を再起動

root@debian-phpipam:/etc/apache2# a2enmod rewrite
Enabling module rewrite.
To activate the new configuration, you need to run:
  service apache2 restart
root@debian-phpipam:/etc/apache2# service apache2 restart

MySQLをインストールし設定ファイルを編集する

MySQLをインストール

    root@debian-phpipam:/etc/apache2# apt-get install mysql-server

インストール中にMySQLのルートパスワードを設定する

MySQLの設定ファイルを編集する

/etc/mysql/my.cnf

    root@debian-phpipam:/etc/apache2# cd /etc/mysql
    root@debian-phpipam:/etc/mysql# vim my.cnf

[mysqld]セクションに追記

    [mysqld]
    character-set-server=utf8           #文字コードにUTF-8を指定
    skip-character-set-client-handshake #クライアントの文字コードを無視する設定
    default-storage-engine=INNODB       #ストレージエンジンにINNODBを指定

[mysqldump]セクションに追記

    [mysqldump]
    default-character-set=utf8 #文字コードにUTF-8を指定

[mysql]セクションに追記

    [mysql]
    default-character-set=utf8 #文字コードにUTF-8を指定

別端末からMySQLに接続する必要がある場合には[mysqld]セクションのbind-addressを編集する必要がある

    [mysqld]
    # Instead of skip-networking the default is now to listen only on
    # localhost which is more compatible and is not less secure.
    bind-address = 127.0.0.1 #デフォルトでは自身のサーバーからのみアクセス可能。

MySQLを再起動する

    root@debian-phpipam:/etc/mysql# service mysql restart

php5をインストールし設定ファイルを編集する

php5をインストール

    root@debian-phpipam:/etc/mysql# apt-get install php5 libapache2-mod-php5 php-pear php5-gmp php5-mysql

/etc/php5/apache2/php.iniを編集する

root@debian-phpipam:/etc/mysql# cd /etc/php5/apache2
root@debian-phpipam:/etc/php5/apache2# vim php.ini

(~中略~)

;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;

[CLI Server]
; Whether the CLI web server uses ANSI color coding in its terminal output.
cli_server.color = On

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone = 
date.timezone = Asia/Tokyo ←タイムゾーンの設定を追加する

phpIPAMをインストールする

phpIPAMをダウンロードする
今回はgithubよりphpIPAM1.2をダウンロード(2016/2/11時点の最新Ver)
https://github.com/phpipam/launch

    root@debian-phpipam:/etc/php5/apache2# cd /tmp
    root@debian-phpipam:/tmp# wget --no-check-certificate https://github.com/phpipam/phpipam/archive/1.2.tar.gz
    root@debian-phpipam:/tmp# ls
    1.2.tar.gz
    root@debian-phpipam:/tmp# tar xvf 1.2.tar.gz

phpIPAMのソースファイルをapacheの仮想ディレクトリへコピーする
今回はapache2のデフォルトディレクトリである/var/www/html/以下にコピー
事前にapache2のデフォルトindex.htmlファイルを削除しておく

    root@debian-phpipam:/tmp# rm /var/www/html/index.html
    root@debian-phpipam:/tmp# ls
    1.2.tar.gz  phpipam-1.2
    root@debian-phpipam:/tmp# cp -rf ./phpipam-1.2/* /var/www/html/

/var/www/html/以下のファイルのオーナーをwww-dataに変更する。

root@debian-phpipam:/var/www/html# chown www-data:www-data -R *
root@debian-phpipam:/var/www/html# ls -l
合計 64
-rwxr-xr-x  1 www-data www-data   110  2月 11 15:58 INSTALL.txt
-rwxr-xr-x  1 www-data www-data  2455  2月 11 15:58 README
-rwxr-xr-x  1 www-data www-data   105  2月 11 15:58 UPDATE
drwxr-xr-x  4 www-data www-data  4096  2月 11 15:58 api
drwxr-xr-x 14 www-data www-data  4096  2月 11 15:58 app
-rwxr-xr-x  1 www-data www-data  2761  2月 11 15:58 config.php
drwxr-xr-x  3 www-data www-data  4096  2月 11 15:58 css
drwxr-xr-x  3 www-data www-data  4096  2月 11 15:58 db
drwxr-xr-x 11 www-data www-data  4096  2月 11 15:58 functions
-rwxr-xr-x  1 www-data www-data 10057  2月 11 15:58 index.php
drwxr-xr-x  2 www-data www-data  4096  2月 11 15:58 install
drwxr-xr-x  3 www-data www-data  4096  2月 11 15:58 js
drwxr-xr-x  2 www-data www-data  4096  2月 11 15:58 misc
drwxr-xr-x  2 www-data www-data  4096  2月 11 15:58 upgrade

apache2を再起動する

    root@debian-phpipam:/tmp# service apache2 restart

ブラウザにてhttp://(phpIPAMサーバーのIP)/index.phpへアクセスすると。。
設定ファイルが無いと怒られる。

/var/www/html/config.dist.php ファイルをconfig.phpにリネームする。

root@debian-phpipam:/tmp# cd /var/www/html
root@debian-phpipam:/var/www/html# ls -l
合計 64
-rwxr-xr-x  1 root root   110  2月 11 15:58 INSTALL.txt
-rwxr-xr-x  1 root root  2455  2月 11 15:58 README
-rwxr-xr-x  1 root root   105  2月 11 15:58 UPDATE
drwxr-xr-x  4 root root  4096  2月 11 15:58 api
drwxr-xr-x 14 root root  4096  2月 11 15:58 app
-rwxr-xr-x  1 root root  2761  2月 11 15:58 config.dist.php
drwxr-xr-x  3 root root  4096  2月 11 15:58 css
drwxr-xr-x  3 root root  4096  2月 11 15:58 db
drwxr-xr-x 11 root root  4096  2月 11 15:58 functions
-rwxr-xr-x  1 root root 10057  2月 11 15:58 index.php
drwxr-xr-x  2 root root  4096  2月 11 15:58 install
drwxr-xr-x  3 root root  4096  2月 11 15:58 js
drwxr-xr-x  2 root root  4096  2月 11 15:58 misc
drwxr-xr-x  2 root root  4096  2月 11 15:58 upgrade
root@debian-phpipam:/var/www/html# mv config.dist.php config.php
root@debian-phpipam:/var/www/html#

改めてブラウザにてhttp://(phpIPAMサーバーのIP)/index.phpへアクセスする

この画面が出ればインストール完了
後はブラウザの指示に従いphpIPAMの設定を行う。
通常は[1 Automatic database installation]で問題ない。

MySQLへアクセスする為にusername及びpasswordを入力する。

[Install phpipam database]をクリックする。
[Database installed successfully!]と出れば完了。
続いて[Continue]をクリック。

[phpIPAM]のAdminのパスワードを設定する。
パスワードはあまりに短いと怒られるので8文字以上を設定する。

[Save Settings]をクリックする。
続いて[Proceed to login]をクリックする。

phpIPAMのログイン画面が表示される。
先ほど設定したadmin及びパスワードにてログイン出来るかを確認する。

phpIPAMのダッシュボード画面
インストール直後はサンプルのデータが入力されているので不要であれば削除する。

phpIPAMで出来ること

ネットワークセグメント毎にIPアドレスの管理を行うことが出来る。
また設定したセグメント配下のサーバー及びネットワーク機器に対してのPingによる死活監視、及び新たにネットワークに接続された機器を発見することも出来る。(ネットワークスキャン)

赤枠のオプションを[Yes]にするとチェックを行う。

Pingによる死活監視やネットワークのスキャンに関してはLinuxのcron機能により実現しているので、これらの機能を利用する場合はcrontabファイルにスクリプトを登録する必要がある。

余談:
上記オプションを[Yes]に設定しても、待てど暮らせどチェックを行っている様子がないのであらためて公式サイトを調べると、、、どうやら監視スクリプトをcronに登録する必要があるらしいということがわかった。
(↑ハマった部分)

詳しくは公式サイトを参照launch

監視スクリプトは下記のディレクトリにある

root@debian-phpipam:/var/www/html# cd ./functions/scripts
root@debian-phpipam:/var/www/html/functions/scripts# 
root@debian-phpipam:/var/www/html/functions/scripts# ls -l
合計 40
-rw-r--r-- 1 www-data www-data 10967  2月 11 15:58 discoveryCheck.php #スキャン
-rw-r--r-- 1 www-data www-data  1810  2月 11 15:58 find_untranslated_files.php
-rwxr-xr-x 1 www-data www-data 15039  2月 11 15:58 pingCheck.php #ping監視
-rw-r--r-- 1 www-data www-data  3653  2月 11 15:58 reset-admin-password.php
-rw-r--r-- 1 www-data www-data  3643  2月 11 15:58 resolveIPaddresses.php
root@debian-phpipam:/var/www/html/functions/scripts#

crontabにスクリプトを登録する。
下記の例ではpingCheck(ping監視)は15分毎に、discoveryCheck(スキャン)は毎時5分に実行する。

root@debian-phpipam:/var/www/html/functions/scripts# cd /etc
root@debian-phpipam:/etc# vim crontab

(~中略~)

*/15 * * * * root /usr/bin/php5 /var/www/html/functions/scripts/pingCheck.php
5 * * * * root /usr/bin/php5 /var/www/html/functions/scripts/discoveryCheck.php

root@debian-phpipam:/etc# service cron restart #cronを再起動する

2016年2月7日日曜日

IPアドレス管理サーバーの構築 【2】 Debian GNU/Linuxのインストール

event_note
INDEX

Debian GNU/Linuxインストールイメージファイルのダウンロード

Debian GNU/Linuxのインストールに関しては特に難しいところは無い。
https://www.debian.org/launch
へアクセスしてインストールに必要なファイルをダウンロードする。

今回は最小のインストールイメージファイルを使用しインストールする。
最小の CD を使って、ネットワークインストールするlaunch

仮想マシンの作成とDebian GNU/Linuxのインストール

VMware Playerに仮想マシンを作成する。

IPアドレス管理サーバーの構築 【1】 考察

event_note

IPアドレスを管理する上での諸問題

諸事情により社内ネットワークの管理者になってしまった。
社内ネットワークのIPアドレス管理については、うちの会社の場合も例に漏れずExcelにて管理されており??
とても管理できているとは言えない状況。 (ようするに管理できていない)

問題点①

新たなサーバーや端末の設置に伴い、新規IPアドレスの払い出しが必要になることはよくあるこで、その時にExcelをメンテしIPアドレスの払い出しを行うが、逆に不要となったサーバーや端末の廃棄はするものの、同時に不要となったIPアドレスの返却(Excelメンテ)が行われていないのが現状である。
Excel管理では実際にどのIPが使われていて、どのIPが使われていないのか?わからなくなってしまっている。

問題点②

IPアドレスを必要となった時に必要な人がExcelをメンテして勝手にIPアドレスを消費してしまっているのが現状で、誰が?何時?何のために?IPアドレスを確保したのか?全くわからない。
気の利いた人であれば備考として何らかの情報を残している場合もあるが、殆どの場合はなんの情報も残っていない。

IPアドレス管理ツール

グーグル検索にて「 IPアドレス 管理 ツールlaunch 」といったキーワードにて検索をかけてみると、IPアドレスの管理を行うためのツールが幾つかヒットする。 どうやらこれらのツールは IP Address Manager (IPAM)launch というらしい。

  • Windows Server 2012標準のIPAM機能
  • SolarWinds IPAM (ソーラーウィンズ社)
  • Pandora FMS
  • phpIPAM

Windows Server 2012標準でIPAM機能があるみたいだが、いまいちよくわからないのと今までMicrosoft標準機能で良い思いをしたことがないので却下。
SolarWinds IPAMは高機能みたいだけど有料のツールである為、気軽に試すことが出来ない。
Pandora FMSはIPアドレスの管理というよりは、サーバーやネットワーク機器の管理を行うツールのようである。

phpIPAM

phpIPAMとは?

phpIPAMlaunch はオープンソースのIPアドレス管理ツールである。
ツールといっても実際にはapache+phpで動作するWEBのシステムである。
動作させるにはLinuxサーバーにapache2 + php5及びMySQLをインストールする必要がある。
詳細については 公式サイトlaunch があるのでそちらを参照頂きたいが、大きくは以下のことが可能である。

  • IPv4及びv6アドレスの管理
  • pingによる死活監視
  • 新たにネットワークに接続された機器を発見する機能
  • 情報を編集した際のチェンジログを保存
  • インポート・エクスポート機能(csv or xls)

個人的には新たにネットワークに接続された機器を発見する機能はありがたい。
ネットワーク管理者に無断で接続されたサーバーや端末を発見することが出来る。
また、pingによる死活監視も可能なので、現時点で使われていないIPアドレスも把握することが出来る。

ところで、phpIPAMの情報は非常に少ない。
googleにて「phpipam」を検索しても殆どが英語のサイトで、日本語にて紹介しているサイトは数えるほどしかない。
実際にphpIPAMサーバーを立ち上げるまでには結構な苦労があったので、他の方の手助けになれば?と思い当記事を書き残すことにした。

今回はお試しということでVMware Playerの仮想マシン上に Debian GNU/Linuxlaunch (Debian 8.3 Jessie)をインストールしphpIPAMを導入することにする。

phpIPAMサンプル画面