Monthly Archives: January 2017

MySQLのCheat Sheet

rootでログイン mysql -u root -p パスワードのアップデート mysql> use mysql Database changed mysql>UPDATE user SET authentication_string=password(‘newpwd’) -> WHERE User = ‘root’; mysql> FLUSH PRIVILEGES; パスワードのセキュリティレベル mysql> SHOW VARIABLES LIKE ‘validate_password%’; mysql> SET GLOBAL validate_password_length=6; mysql> SET GLOBAL validate_password_policy=LOW; mysql> SHOW VARIABLES … Continue reading

Posted in Linux, MySQL | Comments Off on MySQLのCheat Sheet

Nginxを使ってWord Pressをセットアップ

Nginxは近年、人気が出てきたWebサーバで、軽量でかつ設定を冗長に出来るのが人気に秘密です。今回、次のような構成で設定してみることにしました。リバースプロキシに3台のウェブサーバを繋いでみます。 Internet <–> Reverse Proxy: Nginx <–> Web Servers: Nginx + Word Press VPSにLXCを導入したのでプライベートネットワーク化して、SQLサーバなど個々にサーバを立てることができるようになっています。各設定は検索するとかなりの数がヒットするのでここでは設定例に留めておきます。 設定例: Reverse Proxy Nginx /etc/nginx/sites-enabled: server {    listen       80;    server_name   www.example.net;    return 301    https://$host$request_uri; } server {    listen       80;    server_name   mail.example.net;    return 301    https://$host$request_uri; } server … Continue reading

Posted in Linux, WordPress | Comments Off on Nginxを使ってWord Pressをセットアップ

Mail Server: PostfixとDovecotを使ったメールサーバの構築

PostfixとDovecotを使ったメールサーバはポピュラーなので、サイトを検索するといくつか設定方法がヒットしますが、ある程度セキュリティを取り入れた設定となるとあまり実例が見つかりません。そのなかで、分かりやすかったサイトがあったのでそれを参考に構築してみました。 SSL/TLSでIMAP、STARTTLSでSMTP認証を行います。メールアカウントとパスワードはLinuxのシステムを使わずPostfix側で行います。メーラー(MUA)はLMTPプロトコルでDovecotからPostfixに送りインターネットに送信するようにします。 パッケージのインストール postfix(必須) dovecot(必須) postgrey(オプション) opendkim(オプション) fail2ban(オプション) RoundCube – webmail(オプション) SSL Certificate SSL CertificateはフリーのStartSSLを使いました。まずStartSSLサイトでユーザー登録してサーバー鍵で作ったCSRを使いサイトで登録したホスト名に対してCSRをペーストします。するとzipファイルを作ってくれるのでそれをダウンロードします。zipファイルにはいくつかサーバごとにzipが纏められていますが、OtherServer.zipを展開して、サーバ証明と中間証明を結合します。StartSSLのルート証明書も一緒についてきますが、Ubuntu(16.04 LTS Xenial)等のディストリビューションにはすでにあるのでそれを使います。 Let’s Encryptを使う場合はウェブサーバーが必要になります。 (オススメ) ファイヤーウォールで次のポートを開けます。 メールアカウント パスワードは平文パスワードを暗号化したHUSHを使います。次のようにして作成します。 暗号化したHUSH情報は /etc/dovecot/usersに保存します。 パスワードのチェックは次のようにします。 postmaster_addressがないというエラーがある場合、/etc/dovecot/conf.d/15-lda.confに次のように追加します。 ログの解析 エラーがでたらサイトで検索してみるにしても、ログをみて原因を発見し簡単に直ることも多いものです。ターミナルを別に開き、tail -f /var/log/mail.logで常時監視します。さらに、認証でのエラーがメールサーバの時は特に多いので、/etc/dovecot/conf.d/10-logging.confで次のようにしてデバッグします。設定が問題なく完成したらもとに戻します。 Fail2banのインストール(Optional) ユーザーの制限にFail2banがいいとのことので入れてみました。Iptablesのlimitとあまり違いがないみたいだけど、メールで知らせてくれたりと機能的には優れています。 設定はとても簡単で/etc/fail2ban/jail.dに設定ファイル追加だけです。Ubuntu Xenialではdefaults-debian.confがインストールされていて、sshがデフォルトで設定してあります。それを参考に例えばメールサーバーの場合、次の内容で設定ファイルを作ります。 で再起動すれば新しい設定が有効になります。iptablesで調べるには、 とこのように表示されFail2banが動いているのが分かります。 opendkimのインストール /etc/opendkim.conf キーを作成します。 … Continue reading

Posted in Linux, Mail | Comments Off on Mail Server: PostfixとDovecotを使ったメールサーバの構築

WindowsPCでOS X、Windows、Linuxをトリプルブート(Hybrid MBR編)

前回、比較的新しい手持ちのPCをトリプルブートできるようにしたしたのですが、Core2Duoのようなひと昔前のPCをデュアルブート、トリプルブートするのはかなり困難です。しかし不可能というわけでもありません。 通常、BIOSでMBRモードもしくは混在モードにしている場合、OSXではGPTディスクとしてインストールするのですが、次のWindowsのときMBRディスクとみなすのでインストールできないというジレンマがあります。ところがHybrid MBRというMBRとUEFIが混在できる魔法のような方法があります。しかしながら、いろいろ調べると現実的にはその魔法には深刻な副作用が伴います。複雑なパーティションのためデータの損失の恐れがあります。インストールするのはサブのサブ機なので、たとえシステムが破壊される覚悟でインストールしてみました。 1.ディスクをHybrid MBRにする まずLinuxをLiveUSBで立ち上げ、Gpartedでパーティション割りを行います。 OSXはすでにあるので、そのあと、WIndowsのNTFSパーティション、Linuxのbootパーティション、LVMパーティションを作成しました。 Hybrid MBRにするにはgdiskコマンドを実行します。 # gdisk /dev/sda Snow Leopardをインストールした時点でMBRがprotectiveとなっているので、これを画面のようにHybridに変更します。 例) gdisk /dev/sda r-p-h-5 4 3…-o-w LinuxのgptsyncコマンドはGPTディスクとMBRディスクのパーティションをすり合わせる重要なコマンドです。 ところがGPTの一部のパーティションを認識しないことによって動かないケースがあります。 私場合はLVMのパーティションは問題なかったのですがLinuxパーティション(83)が認識できませんでした。下図ではGPTパーティション4がMBRで認識してません。そこでgdiskのリカバリーモードのhコマンドでそのパーティションのMBR hex codeを0cとしてみました。   2.Windows 10のインストール ハイブリッドMBRになった時点で、インストーラーはMBRディスクとして認識するのでそのままインストールを行います。WindowsをインストールするとブートマネージャーがWindows用に置き換わってしまいなすがそのまま続けます。 3.Linuxのインストール LinuxはGPTディスクとして認識するのでGPTディスクとMBRディスクのパーティションナンバーのずれに注意します。そしてブートマネジャーはbootのあるパーティションにインストールします。 Linuxのインストールが終わったら、次にOS Xのパーティションをアクティブにします。 # parted /dev/sda # set 2 boot … Continue reading

Posted in Linux, macOS, Windows | Comments Off on WindowsPCでOS X、Windows、Linuxをトリプルブート(Hybrid MBR編)

WindowsPCでmac OS、Windows、Linuxをトリプルブート

追記(10.5.2018):macOS Mojave 10.14はグラフィックス未対応のためThinkpad X220にはインストールできません MACOS MOJAVE 10.14 ON THE THINKPAD X220 はじめに WindowsとLinuxのデュアルブートは一般的ですが、さらにmacOSまで含めてトリプルブートはあまり知られていません。最近の機種はMacもWindowsもハードウェア的にはほぼ同じ構成であるため理屈の上ではWindowsPCにmacOSをインストールすることができます。しかしながらmacOSには制約が多いためインストール手順が重要になります。順序は最初にmacOS、次にWindows、最後にLinuxの順でインストールします。 注意:macOSは動作する機種が限られるのでインストールする前に機種のスペックをチェックして下さい。またBIOSもOSX86のサイトで見てmacOS用に最適化してください。 今回インストールした機種 Thinkcentre M73 Thinkpad X220 ThinkcentreもThinkpadもmacOSのインストール過程はほぼ同じで、違いはThinkpadにパッチを当てることくらいです。 0. Windows 10のインストール準備 パーティションの先頭にmac OSをインストールするためWindowsを再インストールすることになります。Windows 7からWindows 10にアップブレードを中心に進めていきます。 Windows 7の場合はDVD-ROMからインストール、または、下記のOptional 1: Windowsのダウングレードを参考にインストールします。 Windows 10の再インストールの場合はクリーンインストールになります。 Windows10は以前のバージョンに比べてライセンスの認証が簡単になり、一度Windows10をインストールすると同じエディションなら32ビットでも64ビットでも他言語バージョンでも認証が通るようになりました。いつでもクリーンインストールが可能になるので、まずはいったんアップグレードプログラムWindows10Upgrade.exeをMSサイトからisoファイルをダウンロードしてWindows10にアップグレードします。 Windows 10 のダウンロード そのisoファイルはrufusユーティリティを使ってGPT partition scheme … Continue reading

Posted in Linux, macOS, Windows | Comments Off on WindowsPCでmac OS、Windows、Linuxをトリプルブート

OSX Snow LeopardをWindows PCにインストール

OSXをWindowsPCに入れるプロジェクトは前から興味があったので、AppleからDVDを取り寄せて、何度かVirtualBoxの仮想マシンにいれたことはありました。 El Capitan(10.11)になってだいぶWindows機と相性がよくなってきているので実用に耐えるか検証をかねて、Wondows PCにインストールすることにしてみました。 El Capitanのインストールディスクを入手するにはアップルストアからになるのですが、手元にOSXで動くPCが必要です。そこでまずはSnow Leopardをインストールすることから始めます。 iBootを使った方法が一般的で安定しているので、まずは手元にある旧型PCにインストールしてみることにしました。iBootはインテル製のアーキティチャーによって違うので適したバージョンを選びます。旧型PCだと3.3.0になります。 今回インストールした機種 いずれも旧型PCです。DynabookはBIOS設定でAHCIの設定ができないので外付けHDDにインストールしました。ThinkpadはBIOSの設定でAHCIにします。 Dynabook SS MX27/AE Thinkpad X200 インストールの流れ PCの機種によりかなりインストール結果にバラつきがあります。途中でインストールが止まることもしばしばあります。ネットで解決策が見つかるかも知れません。基本的な流れは次のとおりです。 iBoot-3.3.0をCD-ROMに焼いてブートする Snow LeopardのDVDを差し替えてF5を押してブートメニューを更新する(F5押しはThinkpadの場合です) ブート画面にDVDが現れたらブートする ディスクユーティリティーで 外付けHDDをGUIDモードでフォーマットし、戻って画面にしたがってインストールを続ける インストールが終了すると自動的に再起動する iBoot CD-ROMを入れ替えてブートすると先ほどインストールしたHDDのアイコンが現れる。もし問題なく起動できれば設定画面が現れるので画面にしたがって設定していく MacOSXUpdCombo10.6.8.dmgをアップルのサイトからダウンロードしインストールする MultiBeast 3.10.1をインストールする Snow Leopardを再起動する 手持ちにブランクのCD-Rがなかったので、手順を変えてiBootをCDではなくiBoot3.3_usb_desde_windowsというUSBメモリで起動できるibootを使いました。またSnow Leopard DVDもisoイメージ化してddコマンドでUSBメモリに書き込んだものを使いました。   DynabookはUSBポートに起動順があって外付けHDDが見えたり見えなかったりで、苦労しましたがインストールはできました。 ThinkpadはF12キーで選択できるが、やはりHDDが起動できたり、エラーになったりで、試行錯誤の末、インストールできました。 機種の違いによるエラーの対処 ThinkpadをHDDから起動しようとすると、エラーを起こして起動できませんでした。エラー内容を見るとドライブの認識ができないためエラーだったのでKextを探して次のカーネルモジュールをインストールしました。 AppleACPIPS2Nub.kext … Continue reading

Posted in macOS, Windows | Comments Off on OSX Snow LeopardをWindows PCにインストール

802.11s: メッシュネットワークの構築

Wi-FIのネットワーク方式には、大きく分けてAP型、Adhoc型、メッシュ型と3つのタイプがあります。AP型とAdhoc型は広く知られているので、とくに説明はいりませんが、メッシュ型はそれぞれの無線ノードにルーティング機能をもたせる変わったネットワークの方式です。そのメッシュネットワークもAdhocモードを使ったものと802.11sを使ったものに分けられます。   meshモード使ったメッシュネットワークの構築 OpenWrtサイトの解説をベースに設定していきます。 802.11s based wireless mesh network 解説にあるとおり Chaos Calmerではauthsaeに難がありセキュリティが使えません。使えるようになれば暗号化が出来ないadhocより有利になるでしょう。 802.11sはwifiモジュールにかなりバラつきがありiw listで調べて使えるかどうか確認します。インテル製は使えないと見てよいでしょう。broadcomはセットアップはできるがメッシュ接続が出来ませんでした。Ralinkの5,6年前に買ったusbドングル(rt3050)は使えました。 例えば、バッファロールーターのath9kの無線モジュールでは、 valid interface combinations: * #{ managed } <= 2048, #{ AP, mesh point } <= 8, #{ P2P-client, P2P-GO } <= 1, #{ IBSS } … Continue reading

Posted in Linux, Mesh Network | Comments Off on 802.11s: メッシュネットワークの構築

Thinkpad x220のmini PCIeモジュールの換装

macOSをThinkpadに入れてIntel製Centrino のminiPCIeを動かすことは不可能なので、外付けのWIFIドングルかminiPCIeモジュールを交換するかのどちらかの選択になります。 Broadcomのモジュール(品番:BCM94322HM8L)を使ってWi-FIモジュールの交換を行いました。 必須条件:カスタムBIOSかほかの方法でのセキュリティチェックの回避 モジュール交換が意外と簡単でしたが、実は賭けみたいなところがあり、そのままではThinkpadはminiPCIeのWIFIモジュールにセキュリティロックをかけているので純正品でないと立ち上がりません。 Problem with unauthorized MiniPCI network card\ 1802: Unauthorized network card is plugged in – Power off and remove the miniPCI network card. エラーを回避する方法はピンの20番目をシールするとかいろんな方法があるらしいのですが、一番シンプル(かつ危険)な方法はBIOSを書き換えて、原因のWhitelistを除くことです。。 幸い、以前El CapitanをインストールするときにカスタムBIOSに書き換えて、同時に原因のWhitelistも取り除くことができたので。そのまま進めていきます。   まず背面のねじを外します。画面のようにマークがあるので、どのねじを外せばよいのかわかりやすくなっています。ねじを取り外してから前面に戻し、キーボードとタッチパッドパネルをはずすとminiPCIeモジュールが見えてきます。 アンテナとねじを外してモジュールを交換して元通りに組み立てます。 モジュールの交換を終えたら動作の確認を行います。まず最初のWindows 7では問題なく作動しました。LinuxはBroadcomのfirmwareをインストールしリブートすると動きます。心配だった問題のmacOSは画面のようにあっけなくminiPCIeモジュールを認識しました。   Optional: WIFIモジュールidの書き換え さらなるmac化のためにデバイスidの書き換えをしてみました。 手順はサイトの通りでコピペで全て大丈夫でした。仮想化ソフトのVBにUbuntu 12.04.5 … Continue reading

Posted in DIY, Linux, macOS | Comments Off on Thinkpad x220のmini PCIeモジュールの換装

FreeRadiusとOpenWrtを使ったWPA Enterprise (EAP-TLS)の設定 (2)

2. WPA Enterprise用のAPのセットアップ(OpenWRT) /etc/config/wirelessを編集します。例として次のようになります。パスコードは、FreeRADUSの/etc/freeradius/clients.confで指定したパスコードになります。 例) config wifi-iface option device ‘radio1’ option network ‘lan’ option mode ‘ap’ option ssid ‘{MyAP}’ option encryption ‘wpa2+ccmp’ option auth_server ‘{radius IP}’ option auth_secret ‘{secret}’ 3. クライアントのセットアップ Linux Desktop Network Managerの設定でEdit Connectionを選択します。 Security: WPA & WPA2 … Continue reading

Posted in Android, Chromebook, Linux, macOS, OpenWrt, Windows | Comments Off on FreeRadiusとOpenWrtを使ったWPA Enterprise (EAP-TLS)の設定 (2)

FreeRadiusとOpenWrtを使ったWPA Enterprise (EAP-TLS)の設定 (1)

(旧)WPA PersonalとWPA Enterpriseの違い → 移動しました WPA PersonalはルーターなどのAPとClientのデバイスとのWi-Fi通信で事前共有鍵(PSK)を使った最も普及している暗号化方式です。WPAにはWPAとWPA2の2種類があり、PSK方式の暗号化アルゴリズムにはTKIPとAESの2種類があり、そのいずれの組み合わせでも使用が可能です。またWPA-PSKとWPA2-PSKの混在モードでも設定可能です。 WPA EnterpriseはRadius(IEEE 802.1X)を使ったユーザー認証です。暗号化アルゴリズムは、WPA Personalと同じくTKIPとAESの2種類あり混在モードも可能ですが、セキュリティ的にはAESのほうが優れているためAESのみの設定がおすすめです。認証方法にはEPA-TLS、EPA-LEAP、EPA-TTLSなどいくつか方式がありますが、EPA-TLSがもっとも安全なので、ここではEPA-TLSの設定で進めていきます。 WPA Enterpriseのメリット WPA Enterpriseを採用するメリットは、事前共有鍵を使ったWPA Personalの認証に比べセキュリティが高いことです。もしWPA Personalだと事前共有鍵が盗まれたら、すべての接続しているデバイスの共有鍵も作りなおさなければなりません。WPA Enterpriseでは各ユーザーごとに認証を行うため、仮にそのユーザの鍵が盗まれたとしても、そのユーザーに対して証明書破棄をすればほかのユーザーは影響を受けません。 もうひとつのメリットは、複数のAPを運用してい場合、APからAPに移動した時にWPA Personalは認証、ローカルネットワークでのIP割当て順で再接続します。WPA Enterpriseの再接続はRadius側で認証しているので、ローカルネットワークでのIP割当てのみになります。その違いからAP間の移動でのWi-Fi通信の切り替えがスムーズに行なえます。 WPA Enterpriseのセットアップは次の3つのステップです。 Radiusサーバーのセットアップ WPA Enterprise用のAPのセットアップ クライアントのセットアップ RadiusサーバーはFreeRadiusを使うことにしました。APのセットアップではOpenWrtの入ったルーターを使用し、各クライアントごとの設定方法を解説します。 1. FreeRadiusのセットアップ Note:FreeRadius 3では設定ファイルのディレクトリが異なります。設定内容は同じですが、このセットアップではFreeRadius 2を使っています。 /etc/freeradius/eap.conf: eap {                default_eap_type = tls                timer_expire … Continue reading

Posted in FreeRadius, Linux | Comments Off on FreeRadiusとOpenWrtを使ったWPA Enterprise (EAP-TLS)の設定 (1)