日別アーカイブ: 2016年1月4日

802.1x(dot1x)認証を設定してみた

 有線LANのポート認証や無線LANの接続認証に使えるIEEE802.1x、いわゆるdot1x(以下.1x)の認証設定をしてみた。
 .1xは無線LANのWPA-EAPとか、有線LANのLEAPとかPEAPとかの設定で使える認証で、装置のネットワークに接続した時に通信を許可するのに証明書やID/Password認証なんかが利用できるシステム。
 いずれにしても装置の対応が必要で、無線LANでは業務向け装置、有線LANもマネージ・簡易マネージスイッチなどが必要になるけど、クライアント側はWindowsなんかは標準で繋がる。
 企業ではWindowsのActiveDirectoryと統合したRADIUS認証システムをベースにして、ユーザがログインするAD情報でネットワーク接続レベルの認証も行えるようになるため、パスワードベースの認証を利用したとしても、ユーザ単位で設定できるから、退職する人が出たときにPSKを全部書き換えたりせず、AD上で当該ユーザを凍結してしまえば他のユーザはそのまま利用できるなど利点が多い。
 また、有線LAN装置の多くは認証が成功したときと失敗したときでVLANを変えたり出来るので、会議室に有線LANポートを用意して、内部ユーザが接続すると社内ネットワークへアクセスして、ゲストが接続するとインターネットアクセスだけ出来るようにするなどの構成も可能で利便性が高い。

 今回は、自宅のエッジスイッチであるNetgear GS108Tv2と、CentOS7.0サーバにFreeRADIUS、ThinkPad E450(Windows10Pro)を用いて実験した。


Netgear Plusスイッチ GS108T

 まずは認証基盤を用意する。
 今回は、実験的なネットワークなのでCentOS7.0を入れたComputeStickにFreeRADIUSを導入。

※テキストベースユーザリストを使う場合、以後ユーザ情報を更新したらservice radiusd reloadを実行して情報を更新する。

認証できるかローカルでテストする。

・GS108Tv2の設定
NETGEAR GS108T-4
security > port authentication > advanced > port authentication > port control > authorized / auto
RADIUSサーバがあるポートをAuthorizedにする(=認証しなくても認証済みとして扱う、これをしないと認証サーバ自体と通信できない。 また、機器が直結で無いポートもAuthorizedにする=ポート認証はエッジの仕事)

NETGEAR GS108T03
security > port authentication > advanced > port authentication > 802.1x configuration > port based authentication > set enable
ポートベース認証を有効化する(上の設定とセット)

NETGEAR GS108T
security > management security > radius > server
RADIUSサーバを設定する、IPアドレス、ポートはデフォルト、Secret ConfiguredでSecretにRadiusサーバに設定したSecret(今回はsecret-with-switch)を入れてやる。

NETGEAR GS108T-2
security > authentication list > defaultList : radius – local – none
認証にRADIUSを使う設定

全て設定が完了したらスイッチを再起動。

・PCの設定
 WindowsではサービスでWiredAutoConfigurationを有効化する(.1xに必要なサービス)
 有線LANのプロパティを開くと認証タブがあるので、開いて”802.1x認証を有効にする”チェックをオンにして、Microsoft:保護されたEAP(PEAP)を選択する(デフォルトではWindowsのログインユーザ・パスワードを自動で認証情報に使う様になる) この状態で設定画面を閉じると直ちに.1x認証を実行する。 デフォルト状態では、”サーバーのIDを検証できません”と言う警告が出る。 これは、PEAPの設定にある、”証明書を検証してサーバーのIDを検証する”が有効になっているため、当該サーバが検証できなかったことによるメッセージで、今回はテストなので警告画面で許可を行って接続する。
サーバーのID検証をスキップする設定をした場合、意図しないネットワークに認証情報を送信したり、接続したりしてしまうセキュリティリスクとなるため、本格運用時にはopensslを使って証明書を発行するか、Web用のSSL証明書を流用して登録する。

 証明書の設定
 設定は/etc/raddb/mods-enables/eapファイルの中のtls-configにあり、証明書は/etc/raddb/certs/以下に置く作法。
 今回はHTTPSで使っている既存のRapidSSL証明書を流用する。
 材料:hinagiku.crt = SSL証明書、hinagiku.key = 秘密鍵、rapidssl.crt = 証明書発行機関の証明書、以上3ファイルは/etc/raddb/certs/以下に配置

 この状態でradiusdをrestartする。 /var/log/radiusd/radiusd.log を tail -f しながら作業するのがオススメ。
 高級な証明書を使っていてWindowsの標準証明書ストアに信頼されたルート証明機関発行の証明書であれば特に設定はいらないけど、今回は安いRapidSSLなので手動でWindowsに登録する。
 Windowsでcertmgr.mscを実行、信頼されたルート証明機関にrapidssl.crtをインポートし、PEAPの設定画面でGeoTrust Global CAのチェックを入れれば認証できる。 更に、次のサーバに接続するのチェックボックスをオンにして、証明書のCNを入れておけば、当該証明書の時には無言で接続し、CNが異なる証明書が出た場合にはサーバー検証の警告画面が出るため、意図しないネットワークへの接続を抑制することが出来る。

・ゲストVLANを有効にする場合・・・
 GS108TのPort Controlで、Guest VLANを許可するポートのGuest VLAN IDを設定すると、当該ポートが認証できた場合はデフォルト動作、認証できなかった場合はPVIDとしてGuest VLAN IDが設定される。
 従って、ゲスト用ゲートウェイをGuest VLAN IDのVLANで接続できるようにしておくと、ゲストアクセスと当該VLAN間のみ通信できるようになる。
NETGEAR GS108T-a
NETGEAR GS108T-b
 あとは、ゲスト用ゲートウェイで当該VLANの通信を定義してやる。
 ゲスト用VLAN ID=100で、ゲスト用ゲートウェイとしてIX2215でスイッチポート8に接続している場合なら

みたいな設定を行えば、ゲスト時には192.168.3.1のネットワークとしてルータに接続させられる。

あとは普通のネットワークアクセス用と同じようにinterface GigaEthernet2:1.1上に、フィルタとか諸々設定していける。

 これで、GS108Tの非Authorizedポートのケーブルを出しておけば、自分のPCを繋げば通常のLANにアクセスできるし、来客が繋げばインターネットだけ使える状態に出来る。

(4202)

カテゴリー: LAMP[Linux, Apache, MySQL, PHP] | コメントをどうぞ

IX2215でIPv6インターネット接続設定をした

 Outlook 2016を入れていてどうも自動設定が転けまくるので調べていたらv6が有効なマシンでv6インターネットアクセスが出来ないとダメらしい事がわかった(AAAAフィルタが必要か?)
 ちょっと調べると、うちで使っているSo-netの接続サービスはトンネル方式IPv6(IPv6 over PPPoE)に対応していて追加費用がいらないと言うことだったので設定を入れることにした。
 ルータはIX2215の9.0.54を使用。

  v6ではIPアドレス数が豊富なのでローカルエリアにもグローバルIPが設定できるので、DHCPで受け取ったIPが内部の端末に設定される(フィルタを設定しないと丸見え)
 従来、一般的にNATを使っていたけど、v6だとそれが必要なくなる(当面IPが足りるから)けど、着信接続をフィルタするのが基本だから、内部端末への着信を許可する場合はNATポート開放の代わりにv6のフィルタ解放が必要になる。
利点としては、同じポートを使う複数のサービスを使いたいときにポートを変換したり変更したりして明示指定してずらしていたのが不要になることくらい。
ただ、v4アドレスは普通に暗記できるけどv6アドレスはコピペじゃ無いと厳しそうだから結局面倒くさい・・・

(1114)

カテゴリー: LAMP[Linux, Apache, MySQL, PHP] | コメントをどうぞ

サーバネタから離れてAmazon Kindle Fire 7 2015にPlayストアを入れた話

 先日Amazonから発売された超低価格タブレットFire タブレットを購入したんでPlayストアを入れた話。
 プライム会員なら4980円で購入できる超低価格端末でありながらIPSディスプレイ、MTの
A7QuadCoreにMali450PでH265も再生支援できてAnTuTuベンチで23000くらい出る(Nexus7より上)遊べる実用タブレット。
 OSはFireOS5で、Android5.0ベースのカスタムOS。 ストアが標準ではAmazonしか入ってないけど、Root化とかせずにPlayストアを入れられたのでそのメモ。

 手順としては特に難しいことは無く、
1,別のAndroid端末にBluetooth App Senderをインストールして、Google Playストア・Google Play開発者サービス・Googleアカウントマネージャーアプリを転送する
(Xperia Z3 Android 4.4使用)
2,Fireの設定画面で、提供元不明のアプリを有効にする
3,FireでAmazonストアからESファイルエクスプローラをインストールして、1で転送したAPKを開いてインストールする
 これだけで完了。 完了後、ホーム画面に追加されたPlayストアを開いてGoogleアカウントを設定してやれば普通に導入できるようになった。
 Androidタブレットとの差異としては、ホームアプリ・ロックアプリの切り替えが出来ないため、ランチャー(ADWやGo Launcher等)をインストールしても、Fireランチャーから更に起動するしかなく、ホームボタンでは結局Fireランチャーに戻ってしまう位で、一般的なアプリは殆ど問題なく利用できた。
 Root不要でここまで出来れば、後は普通に遊びまくれるだろう。

(369)

カテゴリー: LAMP[Linux, Apache, MySQL, PHP] | コメントをどうぞ

自宅に新品CISCOがやってきた

 これまで、自宅のCISCO機材は中古品とかばっかりで1812/2811、CAT2960/3750なんかだったんだけど、今回、新品のCISCOルータを購入してしまった。
 と言っても、特に高い物ではなくて、最近出たC841Mと言うルータ。 CISCOなんだけど、ちょっと大きいブロードバンドルータぐらいのサイズ。
datasheet-c78-732678_0
 値段はAdvanced Securityバンドルの2年保守で39800円と言う安さで、今はキャンペーンでNTT-Xさんで12000円引きクーポンやっていたので27800円で入手。
 この値段だと、高性能家庭用機材よりやや高く、業務用低価格機材より安いという絶妙な価格設定。
 スペック的には全ポートGbE、WANが2、LANがスイッチング4ポート、IPSecスループット350Mbps、IPv4ルーティング2.0Gbpsと言う事で、NECのIX2215/2105の中間程度の性能かな。 まぁ、家庭用回線の1Gフレッツ光にはちょうど良い性能。
 CISCO慣れしていない人も日本語GUI(CCP Express)で設定が出来る仕様だけど、従来CISCOユーザはシリアルケーブルでちゃんとセットアップできる、IOSが乗ってるちゃんとしたCISCOルータ。 WIMスロットもあって、海外じゃ3Gモジュールとか挿したモデルも出ている。
 この値段でこの性能のCISCOが出てくると各社の製品戦略に影響を与えてくる可能性もありそうだな。
 とりあえず、コンフィギュレーションを書こう。

(1126)

カテゴリー: LAMP[Linux, Apache, MySQL, PHP] | コメントをどうぞ

今更ながらMariaDBに更新した

 サーバのミドルウェアとかって入れ替えるのは結構面倒くさいので、とりあえずパッケージマネージャでセキュリティ修正だけ適用して済ませていたんだけど、最近、WPが重いんでMySQLを入れ替えることにした。
 従来はMySQL5.5が入っていたけど、今回はMariaDB10.1にアップした。 CentOS5.5の古い環境・・・

  やってみればこれで全部終わった。 既存DBのダンプ実施、mysqld停止、設定バックアップ、yumリポジトリの追加、既存のmysqldをyumでアンインストール、そのままMariaDBを入れようとするとmysql-libsがコンフリクトしたのでmysql-libsをrpmで削除(yumだと依存でzabbixとか一式削除されそうだったためrpmで依存無視除去)、yumからMariaDBをインストール、コンフィグを戻し、mysqlをスタート(mysqldからmysqlに変わっている)、mysql_upgradeしてデフォルト起動をOnに設定。 一部のアカウントがOld-passwordになっていてsecure-authで蹴られて繋がらなくなってしまった。
この場合、管理ユーザでパスワードを再登録するところだけど、なんとrootがold passwordになっていて入れなかったので、/etc/my.cnf.d/server.cnfのmysqldセクションにskip-secure-authを記述して一時的に起動し、old_password=0にてPASSWORDを再登録してskip-secure-authを削除して再起動した。

 更新にあわせてデータフォーマットの変更、パラメータ調整などを実施したところ激重だったwpのstatpress処理時間が劇的に改善した(デフォルトでstatpressはmyisamなので、mysqldumpして定義部分をENGINE=INNODB ROW_FORMAT=DYNAMICに変更してインポート)

(546)

カテゴリー: LAMP[Linux, Apache, MySQL, PHP] | コメントをどうぞ