SPFで迷惑メール判定が逆にスパムを増長させる問題

SPFレコードでドメインの正当性を判定する方法が逆にスパムを増長させる問題について書きます。

#SPFレコードとは送信ドメインを認証の一種で、詳しくはネットで調べてください。
#独自ドメインを持っている人はSPFを知らずに済ますことはできません。
(特にGoogleのせいで知らないでは済まなくなってしまいました)

参考)

SPF(Sender Policy Framework): 迷惑メール撲滅委員会
http://salt.iajapan.org/wpmu/anti_spam/admin/tech/explanation/spf/

SPF レコードについて – G Suite 管理者 ヘルプ
https://support.google.com/a/answer/33786?hl=ja

一括送信によるメール返送 – G Suite 管理者 ヘルプ
https://support.google.com/a/answer/168383

Googleだけに限ったことではないですが、メールをサービスするプロバイダの傾向として、SPFレコードの設定を(なにがなんでもやれと)強制するような動きがここ数年で強まっています。

続きを読む

fail2ban で不正アクセスをブロック

サーバーを運営していて気を付けることに、不正アクセスがあります。
特にパスワードクラッキングされてスパムメール送信の踏み台にされないこと。

自分のサーバーがいつの間にかスパムメール送信していたら大変です。
レンタルサーバー会社に通報あるいはスパムサーバーとしてブラックリストに登録されるかもしれません。

fail2ban は、不正アクセスと判定したら、一定時間アクセスをブロック(遮断)します。

■ fail2ban インストール

yum install fail2ban

続きを読む

Apache で大量アクセスが来たとき負荷を上げない設定

Apache で同時接続数の設定(2.2 では MaxClients、2.4 では MaxRequestWorkers)より大量アクセスが来たとき負荷を上げないためのちょっとした工夫について書きます。

MaxClients をいくら下げてもサーバー負荷が下がらないじゃないか!とお困りの諸氏に …

それはとても簡単で、ListenBacklog を少なめ(例えば 1 とか)に設定します。

Apache のマニュアルには、こう書かれていますが・・・
———-
ListenBacklog
保留状態のコネクションのキューの最大長です。 一般的には調整する必要はありませんし、調整は望ましくありません。 しかし、TCP SYN フラッドアタックの状況下におかれる場合に、 増やした方が望ましいシステムもあります。 listen(2) システムコールのバックログパラメータを ご覧下さい。
———-
これを読むと、ListenBacklog は調整不要、するとしても大きくする方向で、と思ってしまいますよね。
でも違います。逆です。
続きを読む

Apache2.4 PHP7等ミドルウェア各種対応

下記ミドルウェアの取扱が可能になりました。
以下は CentOS7 はもちろん、CentOS6 においてもインストール/設定が可能です。
(現使用環境の条件によってはできない場合があります)

・Apache 2.4
(Prefork / Worker / Event ともに可)

・PHP 7
(mod_php / php-fpm ともに可)

・MySQL 5.6
(旧バージョンからのアップデートではデータベースが引き継げないことがあります)

mod_dosdetector でDoS攻撃を503 ビジーにする方法

WebサイトへのDoS攻撃に対処するため mod_dosdetector-fork をインストールしてみたけど、RewriteRule で 503 に飛ばせないとお嘆きの諸氏に。

■ mod_dosdetector-fork インストール

(1) ビルド環境などの準備

yum -y install make gcc gcc-c++
yum -y install unzip
yum -y install httpd-devel
yum -y install git

(2) Apache2.2環境にインストール

Apache 2.2で使用したい場合は maint-1.0.0 を入れる。

cd /usr/local/src
wget https://codeload.github.com/tkyk/mod_dosdetector-fork/zip/maint-1.0.0
mv maint-1.0.0 mod_dosdetector-fork-maint-1.0.0.zip
unzip mod_dosdetector-fork-maint-1.0.0.zip
cd mod_dosdetector-fork-maint-1.0.0

make
make install

(3) Apache2.4環境にインストール

Apache 2.4で使用したい場合は git で最新を入れる。

cd /usr/local/src
git clone git://github.com/tkyk/mod_dosdetector-fork.git
cd mod_dosdetector-fork

make
make install

続きを読む

Apache 2.4 LocationでBasic認証

ちょっとした小ネタです。

例えば phpPgAdmin.conf がこんなふうになってるとき、

Alias /phpPgAdmin /usr/share/phpPgAdmin

<Location /phpPgAdmin>
    <IfModule mod_authz_core.c>
        # Apache 2.4
        Require all granted
    </IfModule>
</Location>

この場所に .htaccess を置いてBasic認証書いても効きません。
それは、Location の “Require all granted” が優先だから。

そんなときは、Location を Directory に変更すれば、.htaccess が優先されます。

Alias /phpPgAdmin /usr/share/phpPgAdmin

<Directory /usr/share/phpPgAdmin>
    <IfModule mod_authz_core.c>
        # Apache 2.4
        Require all granted
    </IfModule>
</Directory>

BINDのDNAME脆弱性対策 (CVE-2016-8864)

先日明らかにされたセキュリティアラート: CVE-2016-8864
BIND の DNAME レコードを含む応答パケットの処理の脆弱性に関する対策実施について

原文はこちら
CVE-2016-8864(英文)
https://kb.isc.org/article/AA-01434

JVNVU#92683474
BIND の DNAME レコードを含む応答パケットの処理に脆弱性
http://jvn.jp/vu/JVNVU92683474/index.html

本件の問題点と対策は以下の通りです。

続きを読む

MySQL5.6 インストールと初期設定(CentOS 6)

CentOS 6 に MySQL5.6 を yum でインストールする方法を紹介します。

■ MySQL5.6インストール (MySQL Community版)

yum で rpmパッケージをインストールするには標準のリポジトリでなく mysql-community を使います。

mysql-community リポジトリをまだ入れていない場合は入れておきます。

# yum -y install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

※もしMySQL5.5をインストールしたい場合はリポジトリを切り替えます。

/etc/yum.repos.d/mysql-community.repo

[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/6/$basearch/
enabled=1 <こっちを 1 に
.
.
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=0 <こっちを 0 に
.
.

続きを読む

Apache2.4 インストールと設定(CentOS 6)

CentOS 6 に Apache2.4 PHP 5.6 を yum でインストールする方法を紹介します。

■ Apache2.4インストール (IUS版)

(1) 外部リポジトリIUSを使用

リポジトリIUSからインストール可能です。

# rpm -Uvh https://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/ius-release-1.0-14.ius.centos6.noarch.rpm

(2) Apache2.4インストール

リポジトリIUSを使用するとパッケージ名が違います。
httpd は httpd24u、mod_ssl は mod24u_ssl です。

# yum install httpd24u mod24u_ssl

httpdの自動起動(CentOS 6)

# chkconfig httpd on

続きを読む

glibc バッファオーバーフロー脆弱性対策 (CVE-2015-7547)

先日明らかにされたセキュリティアラート: CVE-2015-7547
glibc バッファオーバーフロー脆弱性に関する対策実施について

原文はこちら
CVE-2015-7547(英文)
https://sourceware.org/bugzilla/show_bug.cgi?id=18665

JVNVU#97236594
glibc にバッファオーバーフローの脆弱性
http://jvn.jp/vu/JVNVU97236594/

本件の問題点と対策は以下の通りです。

続きを読む