クエリストリング)2020/01/03Vue.jsVuePressプラグインやvuexを使わずに、このブログにカテゴリ一覧機能を実装しました。移行しました2019/12/22WordPressVue.jsVuePressFirebase元々このブログは、VPSを借りてそこにLAMPスタックをスタンドアロンで構築してWordPressを運用していました。WordPressの運用がいやになったので、今はやりの静的サイトジェネレータに移行しました。続きを読む[Ruby]配列に格納したメソッドをObject#sendで実行する2019/11/05Ruby諸事情あって複数のメソッドを一つずつ実行する必要がありました。これがベストかわからないためメモしておきます。続きを読むcapistrano3をdockerで動かし単純な複数サーバへのコマンド発行ツールとして使う2019/08/27dockerRubyデプロイツールとして有名なcapistrano3ですが、デフォルトで多機能すぎて牛刀で鶏を割いている感があります(使用者に牛刀を扱う能力がない説もあります)。capistrano3の勉強を兼ねて、これを高度なデプロイツールとしてではなく、複数サーバに対する単純なコマンド実行ツールとしてなるべくシンプルに使ってみます。続きを読むnginxでX-Forwarded-Forの値に$proxy_add_x_forwarded_forを安易に使わない方が良い2019/08/17nginxnginxでX-Forwarded-Forヘッダを付与するのに`$proxy_add_x_forwarded_for`という便利な変数がありますが、迂闊に設定するとちょっと危ないのでメモします。続きを読む多段nginxでもX-Forwarded-ForできちんとバックエンドにクライアントIPアドレスを伝える2019/08/17nginx主にバックエンドにRailsを利用する環境向け。LBやリバースプロキシの背後にあるバックエンドサーバにクライアントIPアドレスを伝える方法の一つとして、`X-Forwarded-For`というHTTPリクエストヘッダがあります。このリクエストヘッダを利用してきちんとバックエンドにクライアントIPアドレスを伝える方法をメモします。certbot)で構築する(https対応)2019/07/27dockerMySQLnginxPHPWordPress最近はずっとこれやってました。dockerをきちんと勉強したかったのと、度重なるApacheやWordPressの脆弱性対応のバージョンアップ作業にうんざりしていたため、Apacheをやめてnginxを使おう&ぶっ壊しやすいdockerにしようということで。環境を選ばず構築できるよう、https対応もdocker-composeでやります。続きを読むLinuxで指定時間内にログに特定の文字列が現れるかどうかをコマンドで監視する(ReadyMediaのDB更新バッチ)2019/06/17LinuxReadyMedia(MiniDLNA)以下の記事にReadyMediaでミュージックストリーミングサーバを構築する手順を書きました。ReadyMediaは、新しい音楽を新規追加してもサムネイルが自動登録されません。追加の都度DBの更新が必要になります。それをバッチ化したのでメモ。ログを監視してシェルスクリプトによる非同期処理の待ち合わせを行っています。続きを読む既に動いてるdockerコンテナのボリュームを後から永続化する2019/06/15dockerZabbixとりあえず動かしてみるか~って動かしたコンテナをそのまま本利用に移したいときなど、ボリューム永続化を忘れていてあとから永続化したいということってありますよね。その手順をメモします。Applianceコンテナのボリュームを永続化します。続きを読むApacheのCustomLogとTransferLogの違い2019/06/14ApacheCentOSこの二つの違いがあんまりわかっていなかった上に、適当にApacheを設定していたせいで両方とも有効になっていて気持ち悪かったので、調べたことをメモしておきます。結論から言うと私はCustomLogだけでログを定義することにしました。続きを読むAnsibleのuserモジュールでパスワードをソルト指定なしのpassword_hash()で生成すると毎回changedになる2019/05/29AnsibleLinux掲題の通り。恥ずかしながらソルトという概念を知らずにべき等性の闇に飲まれてはまったのでメモ。7.6でWordPressのPHPを5.4から7.3にアップデートする2019/05/04CentOSPHPWordPressやろうやろうと思って後回しにしてきたPHPのアップデートをついにやりました。手順をメモに残しておきます。ついでにPHP7台になってどれだけ速度が上がるかどうかも。Railsの環境を構築して勉強していましたが、ちょっと他のマシンでRails動かしたい、となったとき、いちいちそのマシンでrbenvからRailsをインストールするまでをやるのが面倒だったので、開発環境をDockerで構築することにしました。これで他のマシンで開発がしたくなっても、Dockerとdocker-composeさえ入っていれば、3つコマンド打つだけで開発環境が整えられるようになりました。続きを読むZabbixでpreforkなApacheをhttpsのmod_status経由で監視する2019/04/27ApacheZabbixZabbixで個別アプリケーションを監視しよう第3弾。ApacheはZabbixのビルトインのテンプレートに入ってますが、なんとシンプルチェックでHTTP、HTTPSそれぞれのサービスが稼働しているかどうかしか監視してくれない。細かく監視ができるテンプレートを導入します。導入にあたってHSTSなApacheを監視できなかったのでそれにも対応しました。続きを読むZabbixでMySQLを監視する2019/04/26MySQLZabbixZabbixで個別アプリケーションを監視しよう第2弾。MySQLはZabbixにビルトインの監視テンプレートがありますが、使うためにひと手間いるのでメモしておきます。続きを読むZabbixでSquidを監視する2019/04/25SquidZabbixZabbixの監視テンプレートを自作(といいつつネットに転がっているのをカスタマイズするだけ)してみます。設定まとめ(2019/04/21)2019/04/23Apache今時点でのApacheの設定を総まとめします。私のApcheの設定ファイルは、これまでいろいろ手を加えて育ってきているので、それを棚卸しようかと思い記述します。Railsを勉強しています。その一環で掲題の件で3日くらい詰まったことがあったのでメモしておきます。`/etc/httpd/*`と`/var/www/html/*`のファイルを丸ごとtar&gzで固めてバックアップするのと、MariaDBのデータをmysqldumpを使って全テーブルオンラインバックアップするのと、6カ月たったバックアップファイルを検索して削除するスクリプトです。これをcrontabに登録して月一くらいで実行するようにします。applianceなる全部入りのOSイメージを展開しています。OSイメージだけではなくdockerイメージとしても配布されているため、今回はdockerを作ってZabbixを構築し、エージェント監視を行うまでをAnsibleでやりました。ZabbixサーバのコンテナをインストールしたdockerホストにインストールしたエージェントとZabbixサーバの疎通に若干手間取ったので、それもメモします。Encrypt`というCAから自動で発行/更新してもらっていました。Encrypt`からこんなメールがきたので対応しました。続きを読むLinuxで稼働しているuPnPデバイス(ReadyMedia)が他のデバイスから検索できなくなった件とその対処法2019/01/11CentOSLinuxReadyMedia(MiniDLNA)ネットワークLAN内に建てているミュージックストリーミングサーバ(ReadyMedia)が、なんかいつの間にかデバイスとして探索できなくなっていて困っていました。IPアドレス/ポート番号を直打ちすればReadyMediaのコンテンツへアクセスはできるのですが、どうもuPnPによるデバイスの探索のみがうまくいっていないようでした。原因がわかったのでメモしておきます。続きを読むfail2banでブルートフォース攻撃からsshdを守る2018/12/22CentOSLinuxセキュリティ勉強としてたまにハードニング大会に参加しています。とあるシステムが与えられて、そこにレッドチームが攻撃をしかけるので、ブルーチームとしてその攻撃からシステムを防御する、というイベントです。私は基本いつもブルーチーム。そんな中、真っ先に守らねばならない大穴なのがsshd。sshdは公開鍵認証のみを受け付ける設定にするか、アクセス元のセグメントでアクセス制御を行ってしまえばとりあえず防御完了なのですが、それができないシステムがたまにあります。参加人数が大人数かつ、攻撃側と防御側のセグメントが分けられていなかったり、すでにシステム内部に侵入済みであることを想定した大会であったり。今回は、そんな状況でもsshdを防御するために、fail2banというツールを使ってみます。CTログエラー・20181201)2018/12/01ApacheセキュリティこのブログのWebサーバにアクセスできない事象が発生していました。確認できたのは12月2日の0時くらいです。原因がわかったのでメモしておきます。続きを読むCetnOS7でiSCSIターゲットを構築2018/11/17CentOSストレージ以前、自宅にESXiを構築しました。ESXi上の仮想マシンのディスクイメージは、業務ではESXiローカルに配置することはほぼなく、別ホストのSANストレージ上に配置することがほとんどです。ESXiのストレージ接続の勉強のために、自宅CentOS機でiSCSIターゲットを構築したため、その手順をメモっておきます。勉強のための勉強です。長くなったのでESXiからのマウントは別記事で。httpdのmod_securityでホストベースWAF2018/11/10Apacheセキュリティ最近ちょっとmod_securityというNginxやIIS、httpdでWAFを実装できるモジュールを触る機会がありました。WAFって高い専用機器買わなきゃだめなんでしょっていう先入観があったのですが、これがWebサーバと同居も可能なのになかなか仕事してくれる。httpdで動いているこのブログサーバにも入れてみようと思います。リソースを食うので、そこそこアクセスがあるサイトであれば、コンテンツを保有するWebサーバ自体に導入するのではなく、リバースプロキシとして立てたhttpdに導入するのがいいかと思います。SSLアクセラレータもついでにそこで実装すれば良いかと。ESXi自作PCブログほったらかしてました。今回は半年くらい前からずっとやりたかった自宅ESXiの構築です。コンパクトなPCにしようと思って、初めてmini-ITXのケース、マザボで組んでみました。100円ライター×3つぶんくらいの高さでいいですね。micro-ATXにします。続きを読むCentOS7でReadyMedia(MiniDLNA)を使ってDLNAミュージックストリーミングサーバを作る2018/08/13CentOSLinuxReadyMedia(MiniDLNA)以前の記事で、mpdを使いミュージックサーバを作りました。これはCentOS7に直結されたスピーカーから音楽を再生するミュージックサーバです。今度はCentOS7から音楽を飛ばし、他のデバイスで音楽を再生できるような環境を作ります。この音楽を飛ばすプロトコルがDLNA。音楽以外に動画や写真なんかも飛ばせます。続きを読む近況(20180715)2018/07/15Linuxセキュリティ近況もう残業したくない。忙しすぎてブログ書いてなかったです。やってたことのまとめ。Kickstart)2018/05/06CentOSKVMLinuxこの前の記事では、KVMの仮想マシンをvirt-managerからGUIで作成し、virt-managerの仮想シリアルコンソールからポチポチインストールしましたが、毎回GUIでこんなことやってられないので自動化しました。続きを読むPowershellのXPathNavigatorでXMLパース2018/04/30PowerShell仕事でやったことのメモ。XMLファイルで記述された文書をPowerhsellでパースし、必要な情報を取り出す方法です。7.4でKVM構築(基盤構築~仮想マシンインストールまで)2018/04/29KVMLinuxだいぶ更新に間が空きました。あっという間にGWですね。あやうく休日出勤になりそうだったところを全力で回避してきたので、自宅のLinuxマシンにKVMを導入します。仮想マシンはVirtualBoxで動かしてきて、1マシン単位の検証ではそんな問題なかったけど、ネットワークセグメントをザクザク切った上で行う複数マシン単位の検証にはやっぱり不便だったので、導入に踏み切りました。Windows7はないっぽい。思ったらMS公式のサイトにあった。それを使ってWindows7の仮想マシンをVagrantで構築する手順のメモ。Vagrantfileがちょっとめんどくさい。TestのSSL/TLS強度A+を取る(2018年2月)2018/02/10Apacheセキュリティhttps://www.ssllabs.com/ssltest/というWebサーバのSSL/TLS強度をテストしてくれるサイトがあります。このブログサーバ構築時に、ネットの記事のコンフィグコピペでA+をとれるようにしたっきり放置していて、いろいろ設定も変えたし時間も流れた現在、再度ここで最高ランクA+を取れるようにしようというのが今回の記事の趣旨。続きを読むざっくりSSL/TLS2018/02/05セキュリティ最近おしごとがインフラ屋さんではなくセキュリティ屋さん的な様相を帯びてきました。その中でも、暗号技術について「これはつかっちゃだめ、これを使いなさい」程度のことは言えるけど、それがなぜなのかはあんまり自信を持って言えなかったのが昨年末くらいの悩みでした。勉強したのでまとめます。間違いが多々ありそうなので随時更新予定。続きを読むPowershellでパスを変数に格納したプログラムの実行2018/01/20PowerShell複数のflacファイルにアートワークを埋め込む作業をmetaflacとPowershellでやってたんですが、Poweshellのスクリプト文中でパスを変数に格納したプログラムを実行しようとした際にはまりました。Linuxをvagrantで一気に30台作成しました。ZAPでWebAP脆弱性診断2017/12/24ApacheWordPressセキュリティプラットフォーム脆弱性診断に続き今度はWebAP脆弱性診断。Proxy)というOSSのツールを使います。このツールは脆弱性診断研究会さまの講習会で勉強させてもらいました。いう不安は常についてまわるものです。自身のサーバがうんぬんはもちろん、最悪攻撃の踏台にされて他者にも迷惑をかける可能性があります。いうわけで今回はNessusという脆弱性診断ツールを利用してこのワードプレスサーバを診断してみます。続きを読むファイル名、フォルダ名に含まれる空白文字をPowerShellで一括置換2017/12/09PowerShellWindows自宅でちょっと凝ったことや大量のデータ処理をしたいときはLinux使えばらくちんなんですが、仕事で使う端末はWindowsなのでこちらも勉強しとかないとなぁと思ってちょっとずつやってます。今回はPowerShellでファイル名やフォルダ名に含まれる憎き空白文字を一括で全部アンダーバーに置換します。続きを読むプロキシ環境下のCentOSでyumだけプロキシを経由させない2017/12/03CentOS通常のインターネットアクセスはプロキシ環境下で行い、yumだけはプロキシを通さないという設定が某クラウド基盤上でサーバを構築する際に必要になりました。続きを読むmpdでLinux機をスマホから操作可能なミュージックサーバに(+SELinuxのお勉強)2017/11/05CentOSmpdsambaLinux機をファイルサーバにしてそこに音楽をボンボン放り込んでおいて、それをスマホから操作してスピーカーから流せたらいいなということで作りました。volume)2017/10/28CentOSLinuxストレージ自宅のファイルサーバのHDDを(一部)冗長化しました。感情がなさすぎて前置きがこれ以上書けない。続きを読むWindows+CygwinでSquidをコンパイルしてWindowsサービス化2017/10/22CygwinSquidWindows以前の記事でWindows上にてSquidを動かした際、Windowsサービス化ができなくて、ドス窓を閉じたりサインアウトしたりするとSquidのプロセスが停止してしまう問題がありました。これが解決したのでまとめます。Windows2017/09/10ApacheLinuxSquidWindows前の記事ではSquid単体をWindows上で起動する手順について書きました。今回は同様にSquidをWindowsで起動させ、フォワードプロキシとリバースプロキシを同時に動かす方法についてメモします。リバプロもプロセス分離もこれまたドキュメント少なくて大変でした。リバプロのコンフィグなんてほぼフルスクラッチだよ。続きを読むWindows版Squidについて2017/09/09SquidWindowsラズパイでSquid立ててからもプロキシサーバSquidについてはいろいろ勉強してます。きょうはWindows版のSquidについて。Windows版はドキュメント少ないわ古いわで動作検証が大変でした。PiSquidUbuntuタイトルがホモのよくばりセットみたいになっとる。ラズパイ3を買ったのでそれで広告ブロック用のプロキシサーバをはやりの構築自動化ツールAnsibleを使って構築してみました。お前またパソコン買ったのかよ。続きを読むxrdpでWindows機からLinux機へRDP接続2017/08/21CentOSLinuxWindows自宅のCentOS機は、普段Windows機からsshログインしCUIで操作していますが、ときたまGUIを使いたくなる時があります。そのときたまのためにCentOS機からもモニターにHDMIケーブルを刺しているんですが、モニターのHDMIポートが2つしかないうえに、ほとんどGUIを使わないのでポートを占有するのがもったいない。HDMIケーブルをひっこぬき、必要なときだけWindows機からリモートでGUIを扱えるようにしたいと思ったのが本投稿のきっかけ。続きを読むVagrantでの複数VMの管理2017/08/20CentOSLinuxvagrant前回の投稿では仮想マシン一つを自動構築する手順を書きました。今回は構築する仮想マシンを用途に合わせて切り替えたり、複数の仮想マシンを同時に自動構築したりする手順を書きます。続きを読むWindows+VirtualBox+Vagrant2017/08/07LinuxvagrantVirtualBoxWindows最近会社で仮想マシンつくっては壊してつくっては壊してって作業が増えてきて、もう手作業じゃやってられないのでVagrantをためしてみました。作って壊してならDockerがぴったりだしおうちで使ってるから学習コスト低くてええやんって思ったんだけど、会社のPCに入れていい仮想環境はVirtualBoxだけで、直にDockerをいれちゃいけないので仕方なくこうなりました。Level2とれました。これで「ある程度Linuxはできますんでフヒヒ」みたいなことは言ってもいいよね。正答率65%以上、200-800点中500点で合格です。続きを読む自宅LANをファストイーサネットからギガビットイーサネットへ2017/07/13ネットワークこれまで自宅LANのHUBには、昔つかってた無線LANルータをハブモードにして使用していました。これがもう10年くらい前の代物で、なんとギガビットイーサネットに対応していない。202の勉強がてらSambaサーバ構築してみました。Sambaとは簡単に言うとWindowsからアクセスできるファイルサーバです。Directoryのドメインコントローラにもなれたりするらしいですが難しそうなのでいったん置いておきます。続きを読むCentOS7のUSBインストールメディア関連で躓いた話2017/06/25CentOSLinux私が物理PCにlinuxをインストールする際は、いつもUSBメモリでブートメディアを作ってます。Windowsでisoイメージを落としてきて、それをUSBメモリにUNetbootinを使って燒き、対象のPCの起動デバイス読み込み順をBIOSから変更し、USBぶっさして起動するといった流れです。なんのことはないんですけど、今回のあたらしいぱそこそにCentOS7をインストールする際にうまくいかんかった。続きを読むあたらしいぱそこそつくりました2017/06/25自作PCあ続きを読むマストドンがふっとんだ件2017/06/10マストドンマストドンがふっとんで5日ほど経ちました。頭の整理にいまわかってること書いていきます。実はデータ自体が消えたわけでも壊れたわけでもないです。原因がわかり、それを直せれば元の状態には戻るはずです。その原因がわからない。