【イギリス】 ロンドンの美味しくて安いパブご飯

イギリス ロンドンの美味しくて安いパブご飯

ロンドンではいろんな種類の生ビールを飲むのを楽しみにしていました。
お酒のバリエーションが豊富で、かつ飲みながら、気楽なお値段でご飯も食べられるところを探して行ったのがウェザースプーンです。
私たちはベーカーストリートと大英博物館の側とヒースロー空港にあるウェザースプーンに行きました。

お食事とビール一杯付いて10ポンド以内に抑える事ができるという魅力もあります。
しかもビールは1パイント。568ml。結構呑みごたえあります。
まずテーブルを決めて、カウンターに行き、お食事注文して、ビールは先払いでもらってきます。
曜日によってビールが付いてくるセットメニュー変わるのですが、たまたま私たちの行った日はサーロインステーキ食べれました。

カウンター、テーブル席、ソファー席、お店によっては店の1番奥の窓際にカウンターがついてて窓から店の裏の私道を眺められるような席もありすごく面白いです。
でも全然気取らない感じで、隣の席のおじさんがコーヒー飲みながら持ち込んだバナナ食べて新聞読んでたり、日本のファミレスでたむろしてそうな高校生みたいな若い子たちが(飲酒してるので成人してるのかもしれませんが)ビール一杯で長々と盛り上がってたり、とにかく居心地いいです。
ビールの飲み比べも本当に楽しめました。

パブご飯また行きたいなー。

【CentOS7】 MongoDBを2.6から3系にアップデートする

いろいろと面倒なことはせず、サクッとダンプ&リストアでやっつけます。

バックアップ&古いの削除

service mongod stop
mkdir mddump
mongodump --dbpath /var/lib/mongo ./mddump
mkdir mdbackup
mv /var/lib/mongo ./mdbackup/
yum remove mongo*     

3.2インストール

vi /etc/yum.repos.d/mongodb-org-3.2.repo とし、内容を

[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

とします。
もっと新しいバージョンにしたい方は https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/ をご参照ください。

yum install mongodb-org mongodb-org-server を実行します。

vi /etc/mongod.conf とし、17行目のコメントを外した上で

engine: wiredTiger

とします。engineという文字列の前に行頭から半角空白が二個入っているようにします。コロンの後ろのスペースも必要です。

リストア

service mongod start
mongorestore ./mddump

以上~

シェルスクリプトをshcを用いてバイナリ化して難読化する

shcはシェルスクリプトを難読化のためにバイナリ化するアプリケーションです。

詳しくはこちら
http://www.datsi.fi.upm.es/~frosal/sources/shc.html

shcのダウンロードとコンパイル

$ wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9b.tgz
$ tar xfzv shc-3.8.9b.tgz
$ cd shc-3.8.9b/
$ make

テスト

vi a.sh

#!/bin/sh
echo "1234hoge#"

./shc -v -f a.sh でコンパイル。
./a.sh.x で動くかどうか確認。
a.sh.xをバイナリエディタで確認し、難読化されているか確認してみてください。

メモ

できあがったa.sh.xはセキュリティのため、他の機材では動かないと思います。
shcに -r オプションをつければ、他の機材でも動くバイナリを作れます。

【modsecurity】auditログにmod_remoteipで取ったipアドレスを記録する

apacheのコードを書き換えます。

方法は2種類あります。とりあえず問題なければ1がおすすめ。

1) ログを書くところで修正

ログに書くところだけ変更するので手軽
apache2/msc_logging.c の1647行目に下記のように変更をかけます。

$ diff modsecurity-2.9.1/apache2/msc_logging.c ../modsecurity-2.9.1/apache2/msc_logging.c
1647c1647
<         current_logtime(msr->mp), msr->txid, msr->remote_addr, msr->remote_port,
---
>         current_logtime(msr->mp), msr->txid, msr->useragent_ip ? msr->useragent_ip : msr->remote_addr, msr->remote_port,

2) remote_addr 変数を取ってくるところで修正

全体に変更がかかるので、検証が必要、かも。ちょっとリスキー。
apache2/mod_security2.c の537行目に下記のように変更をかけます。

$ diff modsecurity-2.9.1/apache2/mod_security2.c ../modsecurity-2.9.1/apache2/mod_security2.c
537c537
<     msr->remote_addr = r->connection->client_ip;
---
>     msr->remote_addr = r->useragent_ip ? r->useragent_ip : r->connection->client_ip;

OpenSSLによる楕円曲線暗号の利用

キー生成

openssl ecparam -genkey -name secp384r1 -out ec-key.pem

リクエスト

openssl req -new -sha256 -key ec-key.pem -subj "/C=JP/ST=State/L=City/O=Org./OU=EC Test Div./CN=test.example.com" -out eccsr.pem

自己署名(したければ)

openssl x509 -req -sha256 -days 3650 -in eccsr.pem -signkey ec-key.pem -out eccsr.ct

pfx(にしたければ)

openssl pkcs12 -export -in eccsr.ct -inkey ec-key.pem -out ec141114.pfx

キーを暗号化する場合

openssl ecparam -genkey -name secp384r1 -out ec-key.pem
openssl ec -in ec-key.pem -aes256 -out enc_ec-key.pem
openssl req -new -sha256 -key enc_ec-key.pem -subj "/C=JP/ST=State/L=City/O=Org./OU=EC Test Div./CN=test.example.com" -out eccsr.pem
openssl x509 -req -sha256 -days 3650 -in eccsr.pem -signkey enc_ec-key.pem -out eccsr.ct

opendkimを設定する

/etc/opendkim/keys/にキー作成

# opendkim-genkey -D /etc/opendkim/keys/

/etc/opendkim.confを編集

確認・変更箇所は以下

Mode  s
LogWhy        no
Domain *
Selector        default
KeyFile /etc/opendkim/keys/default.private
InternalHosts refile:/etc/opendkim/TrustedHosts

当該サーバをメール送信サーバとして他の機器から使う場合、 /etc/opendkim/TrustedHosts に内部ネットワークを記述する。

例)

192.168.100.0/24
192.168.101.0/24

opendkimを再起動

/etc/rc.d/init.d/opendkim restart

DNSに反映

/etc/opendkim/keys/default.txt の内容をdnsサーバに登録する

以上

【Java】 Javaの暗号制限を解除する

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files はJava 9 および Java 8 Update 151以降では不要です。
java.securityファイルを編集し、crypto.policy=unlimitedとします。

例:

# vi /usr/java/jre1.8.0_151/lib/security/java.security
:
(823行目)
#crypto.policy=unlimited
↓ コメントを外す
crypto.policy=unlimited

【CentOS7】 firewalldを利用しているサーバで、特定のポートを公開する / 公開ポートを閉める

80番ポートを空ける

# firewall-cmd --zone=public --add-port=80/tcp --permanent
# firewall-cmd --reload

80番/443番ポートを空ける

# firewall-cmd --zone=public --add-port=80/tcp --permanent
# firewall-cmd --zone=public --add-port=443/tcp --permanent
# firewall-cmd --reload

連続したポートを空ける(例:45000-45300番ポートを空ける)

# firewall-cmd --zone=public --add-port=45000-45300/tcp --permanent
# firewall-cmd --reload

80番ポートを非公開にする

# firewall-cmd --zone=public --remove-port=80/tcp --permanent
# firewall-cmd --reload

80番/443番ポートを非公開にする

# firewall-cmd --zone=public --remove-port=80/tcp --permanent
# firewall-cmd --zone=public --remove-port=443/tcp --permanent
# firewall-cmd --reload

連続したポートを非公開にする(例:45000-45300番ポートを閉める)

# firewall-cmd --zone=public --remove-port=45000-45300/tcp --permanent
# firewall-cmd --reload

【WordPress】 テーマ Twenty Seventeen で横幅を1500pxにし、Blogを1カラムにする

WordPressはyumで入れた(yum install wordpress)ので、 /usr/share/wordpress/wp-content/themes/twentyseventeen/style.css をごりごり書き換えた。

$ diff style.css /usr/share/wordpress/wp-content/themes/twentyseventeen/style.css -u
--- style.css   2018-04-28 13:05:27.000000000 +0900
+++ /usr/share/wordpress/wp-content/themes/twentyseventeen/style.css    2018-04-28 13:55:24.000000000 +0900
@@ -1319,7 +1319,7 @@
 }

 .navigation-top .wrap {
-       max-width: 1000px;
+       max-width: 1500px;
        padding: 0;
 }

@@ -2084,7 +2084,7 @@
 .archive.page-one-column:not(.has-sidebar) #primary {
        margin-left: auto;
        margin-right: auto;
-       max-width: 740px;
+       max-width: 1240px;
 }

 .single-featured-image-header {
@@ -3273,7 +3273,7 @@
        }

        .page-one-column .panel-content .wrap {
-               max-width: 740px;
+               max-width: 1240px;
        }

        .panel-content .entry-header {
@@ -3349,7 +3349,7 @@
        /* Layout */

        .wrap {
-               max-width: 1000px;
+               max-width: 1500px;
                padding-left: 3em;
                padding-right: 3em;
        }
@@ -3458,7 +3458,7 @@
        }

        .navigation-top .wrap {
-               max-width: 1000px;
+               max-width: 1500px;
                /* The font size is 14px here and we need 50px padding in ems */
                padding: 0.75em 3.4166666666667em;
        }
@@ -3822,8 +3822,8 @@
        body.has-sidebar.error404 #primary .page-header,
        body.page-two-column:not(.archive) #primary .entry-header,
        body.page-two-column.archive:not(.has-sidebar) #primary .page-header {
-               float: left;
-               width: 36%;
+               float: none;
+               width: 94%;
        }

        .blog:not(.has-sidebar) #primary article,
@@ -3833,8 +3833,8 @@
        .error404.has-sidebar #primary .page-content,
        body.page-two-column:not(.archive) #primary .entry-content,
        body.page-two-column #comments {
-               float: right;
-               width: 58%;
+               float: none;
+               width: 94%;
        }

        .blog .site-main > article,