LinuxRouterWindows Server

DNS 再帰的な問い合わせ DDos攻撃について

1 Mins read

世の中の「DNS の再帰的な問い合わせを使った DDoS 攻撃」が相変わらず多いようです。

公開している外向きのDNSサーバーは再帰的な問合せをローカルIP以外からは使用できないよう設定する必要がありますが、昔のDNSサーバーは標準で外向きにも答えるようになっているものが多いみたいです。今回、色々な場所=GlobalIPから攻撃が飛んできているのもそのためであり、一定期間でアクセス元が変わってしまい捕まえるのが大変な状況になります。(また、被害者が加害者になってしまう構図も問題です)

以下はRTX1200でDDos攻撃を防ぐ目的で調査した際に判明したことを覚書しておきます。

DNSサーバーで有名なBIND(LINUX)はローカルIPからの問い合わせのみ再帰的な問合せに応答し、外部からの問い合わせには応答しない設定が出来ますので、DMZ内などに1台置くことでセキュリティ対策と保持Domainサーバーの2機能を賄うことが可能となっています。

一方、ActiveDirectryに対応する関係でWindows DNSサーバーを使用している会社さんも結構います。WindowsのDNSサーバーはローカルIPからの問い合わせと外部からの問い合わせに対する切り替え機能がないので、再帰的な問合せに対し応答するかしないかの2つしか設定できないので、社内に上位DNS情報のキャッシュサーバーを置きたい且つ、今まで通り保持Domainは社内のDNSサーバーを使いたいといった場合、セキュリティーの関係上、DMZに外用DNSサーバー、ローカルに内用DNSサーバーと2台立てることが必要となります。

プロバイダーが公開しているDNSを上位指定することでキャッシュサーバーを立てなくても解決できますが、多数のクライアントがある時、引っ越しなどの時は大変になりますね。(そこまで考えなくても良いかもしれませんが。。。)

雑学でした。。。

Related posts
LinuxPHPWordpressパソコンのこと

Wordpress "mixed content the page at ' url ' was loaded over https" nginx reverse proxy

1 Mins read

Nginx のリバースプロキシ環境において、フロントエンドの Nginx が 443 (HTTPS) でリクエストを受け付け、内部では 80 (HTTP) でラウンドロビン方式の負荷分散を行っている場合、Chrome で Mixed Content エラー が発生することがあります。

この問題を解決するために、wp-config.php の冒頭に以下の設定を追加すると効果的です。

/** mixed content the page at ' url ' was loaded over https wordpress nginx */
/** プロキシ設定の場合、httpsでリダイレクトするように設定が必要! */
/** HTTP_X_FORWARDED_FOR の環境変数名はAWSなどお使いのサーバー環境により若干変更されている時があるので要確認すること */
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $_SERVER['HTTPS'] = 'on';
}

内部では 80 (HTTP)側の nginx.conf ファイルを操作できる方は、以下の設定でも対応可能です。

どちらかお好みでOK

location ~ \.php$ {
    include fastcgi_params;

    # mixed content the page at ' url ' was loaded over https wordpress nginx
    # プロキシ設定の場合、httpsでリダイレクトするように設定が必要!ここから
    fastcgi_param HTTPS on;
    fastcgi_param HTTP_X_FORWARDED_PROTO https;
    # ここまで

    fastcgi_intercept_errors on;
    fastcgi_pass php-fpm;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
LinuxmacOSRubyパソコンのこと

Rails 7.0.8.7 Updateで起動エラー "Logger::Severity.constants.each do |severity|"

1 Mins read

Ruby 3.2.6

Ruby on Rails 7.0.8.7

起動でこける

原因はgem

gem 'concurrent-ruby', '1.3.5'

Gemfileの末尾に追記して、しばらく固定にしておく

gem 'concurrent-ruby', '1.3.4'

追記したらインストール

bundle install

# Fetching concurrent-ruby 1.3.4 (was 1.3.5)
# Installing concurrent-ruby 1.3.4 (was 1.3.5)

以下ログ

# gem 'concurrent-ruby', '1.3.5' では以下エラーになるので'1.3.4'固定にしておく
#
# bundler: failed to load command: puma (/app-root/vendor/bundle/ruby/3.2.0/bin/puma)
# /app-root/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.8.7/lib/active_support/logger_thread_safe_level.rb:12:in `<module:LoggerThreadSafeLevel>': uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger (NameError)
#
# Logger::Severity.constants.each do |severity|
# ^^^^^^^^^^
AWSLinux

.htaccess IP制御 AWS ELB ロードバランサー環境

1 Mins read

Apache 2.4.39

[.htaccess] Or [httpd.conf]

# 0.0.0.0にアクセス許可のIPを設定する
# AWS ELB 用 管理画面アクセス制御
<location "/wp-admin">
  # 管理用IP
  SetEnvIf X-Forwarded-For "0.0.0.0.*" allowed_ip_admin
  SetEnvIf X-Forwarded-For "0.0.0.0.*" allowed_ip_admin
  Order Deny,Allow
  Deny from all
  Allow from env=allowed_ip_admin
</location>

チームを強化する

サービスの
サブスクリプションの利点を説明するテキストを追加します。