Learning

Home Posts Tagged "Learning"
【小ネタ】WordPressで新しく公開した記事に「New!」を表示する Learning
· 2 min read

【小ネタ】WordPressで新しく公開した記事に「New!」を表示する

サーバ関係の記事ではないですが、WordPress で新しく公開した記事に 新着であることをお知らせする「New!」などのアイコン表示を、期間を指定して表示させる方法になります。 (これが意外とハマりました^^;) New! の表示させる期間を日数で指定する場合 index.php や single.php のループ内に直接記述をすることも出来ますが、 記述内容がごちゃついてしまうのを防ぐ為に、functions.php にメインの記述を行い、 ループ内の表示したい箇所でその記述を呼び出すようにします。 functions.php に以下を記述します。 // functions.php function my_new_arrival(

Read more
サイトの常時SSLにHSTSを使用する方法 Learning
· 3 min read

サイトの常時SSLにHSTSを使用する方法

サイトを常時 SSL 化する場合、リダイレクトによる設定が一般的ですが、 サーバー側で HSTS(HTTP Strict Transport Security)という設定をすることで セキュリティを高めることができます。 今回は HSTS の設定方法と、その注意点についてまとめます。 HTTP Strict Transport Security (エイチティーティーピー・ストリクト・トランスポート・セキュリティ、略称 HSTS)とは、WebサーバーがWebブラウザに対して、現在接続しているドメイン(サブドメインを含む場合もある)

Read more
rsyncとlsyncdでリアルタイムにディレクトリを同期する Learning
· 2 min read

rsyncとlsyncdでリアルタイムにディレクトリを同期する

差分を算出してファイルやディレクトリを同期してくれる rsync と ローカルファイルへの変更を監視してくれる lsyncd を組み合わせることで リアルタイムにディレクトリを同期することができます。 lsyncd と rsync を連動する方法は二つあります。 * SSH を通して rsync 同士が通信する方法 * バックアップ先で rsync デーモンを動かす方法 rsync をデーモンモードで動作させることで、 rsync プロトコル(rsync://)による同期が可能になり、 SSH を利用する場合より暗号化によるオーバーヘッドがなく高速で同期することができます。 前提環境 ホストOS IPアドレス 同期対象ディレクトリ

Read more
オープンソースのWAF「ModSecurity」をCentOSに構築する。 Learning
· 6 min read

オープンソースのWAF「ModSecurity」をCentOSに構築する。

ModSecurity はオープンソースで開発されている WAF(Web Application Firewall)で、無償で利用することができます。 WAF とは、Web アプリケーションにリクエストが送信される手前でリクエストを取得して、 内容を精査し、問題があればリクエストを拒否します。 これにより仮に Web アプリケーションに脆弱性があったとしても WAF が守ってくれます。 WAF にも偽陽性や偽陰性(正当なリクエストを攻撃判定したり、逆に攻撃を見逃したりする事)の問題があるので、過信することはよくないですが、 改修不能な Web アプリケーションの保護や、多層防御の一手法として有効です。 また、

Read more
MySQLを5.1から5.7にアップグレードする Learning
· 2 min read

MySQLを5.1から5.7にアップグレードする

本当はバージョン違いの MySQL を同時に動かす魂胆でしたが なかなかうまく行かず、面倒になったのでアップグレードにしました。 これはその時の備忘録です。 前提環境 項目値OSCentOS 6.8MySQL(アップグレード前)5.1.73MySQL(アップグレード後)5.7.17 MySQL をバージョンアップ MySQL の公式サイト から CentOS 6 用のリポジトリをダウンロードします。 CentOS のバージョンと Red Hat

Read more
AWStatsを使用してアクセス解析をする。 Learning
· 4 min read

AWStatsを使用してアクセス解析をする。

先日、本ブログのアクセス解析をしてみる様アドバイスを頂いたので AWStats をインストールして、さくっとアクセス解析をしてみました。 はじめに AWStats を導入する場合、ログ解析を行う対象のサーバにインストールする形が多いですが、 セキュリティリスクが上がってしまいますし、そもそも解析結果は一般公開しないので、 ローカル環境のサーバを用意してそちらでアクセス解析を動作 させます。 具体的には以下のイメージです。 利用 OS は以下の通りです。 種別内容OS (hdserver.info)CentOS 6.8 (64bit)OS (LAN)CentOS 6.8 (64bit)

Read more
VMホストでDISK領域を拡張する方法 ※追記あり Learning
· 6 min read

VMホストでDISK領域を拡張する方法 ※追記あり

※3/18追記 どうやら fdisk を使うやり方は少々古いようです。 parted コマンドで DISK 領域を増やす方法があったので、こちらもご紹介します。 parted のインストール デフォルトだと parted コマンドがないのでインストールします。 # yum install parted 拡張前の状態を確認する df だと 3.9GB しか認識されていませんが、sda 領域自体はトータル 10GB あります。 [root@db

Read more
ConoHaでセキュリティグループを設定する Learning
· 3 min read

ConoHaでセキュリティグループを設定する

ConoHa では、サーバーにアクセスする手前のインフラ側で Firewall を設定できます。 さすがクラウドを謳うだけのことはあります。さくらのVPSには無いサービスですね。 しかしここで設定できるのはデフォルトで用意されたものだけです。 例えば SSH ポートは 22 番から 8022 番に変更してアタックされにくくして、 FTP は使わないので 20/21 番は閉じたい、という場合には残念ながらブラウザからは操作できません。 そこで、API です。 ConoHa には API が用意されており、自由にセキュリティグループをカスタマイズすることが出来ます。 ※OpenStack

Read more
【悲報】Harada's DiaryがDDos攻撃を受ける Learning
· 3 min read

【悲報】Harada's DiaryがDDos攻撃を受ける

3/2 追記 最大リクエスト数(burst)の設定値が厳しすぎて、 データを受け取り切る前にぶった切られる事が判明したので、制限を緩めました。 location / { limit_req zone=one burst=100 nodelay; ... } 先日の深夜にこの WordPress サイトが DoS 攻撃を受け、 一時的にアクセス不可になった模様。あっ…(察し) 59.106.50.252 - -

Read more
Chocolateyを使った環境構築 Learning
· 4 min read

Chocolateyを使った環境構築

本当はバレンタインデーに紹介する予定でしたが、間に合わんかったので。 Chocolateyというソフトウェアをご紹介します。 chocolateyとは何ぞや? Ubuntu/Debian系でよく使われるパッケージ管理の apt-get が Windows版で chocolatey になったと思えばいい、くらいの認識でOK。 これをインストールすると: コマンドプロンプト(管理者権限) chocolatey install [packagename] みたいな感じでインストールできる。 インストールするメリット * 使いたいソフトの Windowsインストーラ をダウンロードして、毎回 Yes とか 承諾 をクリックする 手間が省ける * chocolatey

Read more
LVS + Keepalivedを利用したリアルサーバのヘルスチェック Learning
· 5 min read

LVS + Keepalivedを利用したリアルサーバのヘルスチェック

前回、LVSを利用したwebサーバのロードバランシングをご紹介しましたが もし仮に、バックエンドのwebサーバの一つがDOWNしていたとしましょう。 生きているwebサーバにバランシングされれば正常にアクセス可能ですが。 DOWNしているサーバに振り分けられてしまうと、この様に閲覧不可に。 この様な事態を防ぐための機能として、Keepalived があります。 Keepalivedは転送先サービスの死活監視をすることで、 こうした状態を回避し、サービスの冗長化を実現できます。 構成環境 keepalived を導入する環境は前回同様、以下の構成となります。 1.LVSの設定をクリア LVS の設定は Keepalived で制御されるので、まずは ipvsadm の設定をクリアします。 これを忘れると設定が競合して、うまくバランシングされないので注意。 # ipvsadm -C

Read more
LVS(Linux Virtual Server)を使ってロードバランサーを構築してみる。 Learning
· 3 min read

LVS(Linux Virtual Server)を使ってロードバランサーを構築してみる。

LVS(Linux Virtual Server)を使ってロードバランサーを構築してみました。 ・構成図 LVSサーバのeth0へ来たHTTPパケットを、BackendのWeb1,web2サーバーへNAT転送してみます。 ・構成環境 ※VM上で3つの仮想サーバを使用、いずれもOSはCentOS6.8 ・WEBサーバ Apache2.2 PHP5.3 ・LVS ipvsadm(IP Virtual Server version 1.2.1) ネットワーク設定 ミドルウェアをインストールする前に、バックエンドWebサーバーの両方で

Read more
Webサーバのアクセスを国内だけに制限する(Nginx編) Learning
· 1 min read

Webサーバのアクセスを国内だけに制限する(Nginx編)

以前 apache の GeoIP モジュールを使用して海外からのアクセスを拒否する設定をしていました。 GeoIPを使用してWebサーバのアクセスを国内だけに制限する 今回は Nginx で拒否する方法を考えてみました。 1. 国別のIPアドレスリストを取得 国別の IPv4 アドレスリストを加工して公開してくださっている方がいるので、これを利用します。 — 世界の国別 IPv4 アドレス割り当てリスト — http://nami.jp/ipv4bycc/ このサイトから、CIDR表記版の gzip ファイルをダウンロードします。 # wget http://nami.jp/

Read more
SlackをNagiosに連携させる方法 Learning
· 2 min read

SlackをNagiosに連携させる方法

NagiosからのアラートをSlackチャンネルに通知する方法、自分用まとめ。 ・前提 Slackへの登録は済ませておく。下記サイトを参照。 【登録編入門】slack使い方【世界一丁寧な解説初心者用】 1.SlackのNagiosサービスを有効にする https://<グループID>.slack.com/services/new/nagios を開く。 ページ下部の [Add Nagios integration] をクリック。 「New integration added!」 と表示されればOK。 設定のためのチュートリアルが表示されるので、

Read more
自分だけの動画サイトをtuningする Learning
· 2 min read

自分だけの動画サイトをtuningする

前回載せた自分だけの動画サイトですが、サイト表示が非常に重かったので色々チューニングしてみました。 今回は短めです。 PageSpeed Insights で計測 以下は Google のウェブサイトスピードテスト結果です。 ※Webサイトの表示を計測して点数化してくれる開発者向けサイト https://developers.google.com/speed/pagespeed/insights/?hl=ja 100点満点中 57点 とかなり厳しい結果。 修正箇所も提示してくれているので、圧縮を有効化します。 mod_deflate を有効化 <IfModule mod_

Read more