YANO's digital garage

Copyright ©YANO All rights reserved. https://www.bravotouring.com/~yano/

Last-modified: 2024-04-17 (水)


[一語一絵/IT系]

Apacheアクセス制限 / 2015-07-13 (月)

[External]サイトを丸ごとコピーして独自広告を追加するパクリサイト出現という事だ。幸か不幸かまだコピられていないようなので、まずはsites-enabled/*.confでアクセス制限をかけようかと思ったのだが、VirtualHost毎に制御する必要が無いどころかTCPの接続すら受付たくないので、[External]ufwでサクッと門前払いしてしまう事に。

yano@vps:~$ sudo ufw insert 1 reject from 91.208.99.0/24
Rule inserted
yano@vps:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
Anywhere                   REJECT      91.208.99.0/24
Apache Full                ALLOW       Anywhere
Dovecot Secure POP3        ALLOW       Anywhere
Dovecot POP3               ALLOW       Anywhere
Postfix                    ALLOW       Anywhere
Postfix SMTPS              ALLOW       Anywhere
Postfix Submission         ALLOW       Anywhere
iperf                      ALLOW       Anywhere
123                        ALLOW       Anywhere
DNS                        ALLOW       Anywhere
OpenSSH                    ALLOW       Anywhere
Apache Full (v6)           ALLOW       Anywhere (v6)
Dovecot Secure POP3 (v6)   ALLOW       Anywhere (v6)
Dovecot POP3 (v6)          ALLOW       Anywhere (v6)
Postfix (v6)               ALLOW       Anywhere (v6)
Postfix SMTPS (v6)         ALLOW       Anywhere (v6)
Postfix Submission (v6)    ALLOW       Anywhere (v6)
iperf (v6)                 ALLOW       Anywhere (v6)
123 (v6)                   ALLOW       Anywhere (v6)
DNS (v6)                   ALLOW       Anywhere (v6)
OpenSSH (v6)               ALLOW       Anywhere (v6)

yano@vps:~$ sudo ufw reload
Firewall reloaded
yano@vps:~$

ついでに、最近「IPアドレス」でアクセスしてくる不届きな輩が気になっていたので、改めて対処法を調べてみたところ「"ServerName  any"の<VirtualHost>節を用意し、403を返すように"DocumentRoot"をあらぬところに向ければ良い」という事がわかった。 /etc/apache2/apache2.confを見たところ

    212 # Include of directories ignores editors' and dpkg's backup files,
    213 # see README.Debian for details.
    214
    215 # Include generic snippets of statements
    216 IncludeOptional conf-enabled/*.conf
    217
    218 # Include the virtual host configurations:
    219 IncludeOptional sites-enabled/*.conf
という具合にconf-enabled/*.confを先に読むようになってたので、/etc/apache2/conf-available/disable-numberd-access.confとして
<VirtualHost *:80>
    ServerName  any
    DocumentRoot /tmp
    UserDir disable
</VirtualHost>
という設定を作成し、
yano@vps:~$ sudo a2enconf disable-numberd-access
Enabling conf disable-numberd-access.
To activate the new configuration, you need to run:
  service apache2 reload

yano@vps:~$ service apache2 reload
でOK。

[External]名前ベースのバーチャルホストで運用して「IPアドレス」でのアクセスは禁止していたはずなのに、IPv6 by auひかり導入後のアクセスログをチェックで気付いたのだが、昨年Ubuntu 14.04 (Trusty)にアップデートした後1年以上も見過ごしていたとは、うっかりにも程があるね。

【参照】
●INTERNET Watch http://internet.watch.impress.co.jp/
【やじうまWatch】日本のサイトを狙い撃ち? サイトを丸ごとコピーして独自広告を追加するパクリサイト出現 2015年7月13日
●スターフィールド株式会社 https://ja.wikipedia.org/wiki/
【apache】サーバーのIPでアクセスできないようにするには? 2013年8月20日
●Apache HTTP サーバ バージョン 2.4 http://httpd.apache.org/docs/2.4/ja/
名前ベースのバーチャルホスト
●Wikipedia https://ja.wikipedia.org/wiki/
Apache HTTP Server