[MySQL] CentOSのMySQLへ外部から接続する

アクセス許可

ポートを開く

mysqldへのアクセス許可

mysqlユーザ設定

リモートマシンからアクセスできることを確認

参考サイト

MySQL で特定の IP アドレスからのアクセスを許可する – Qiita
https://qiita.com/u-dai/items/b360a337b5001778699e

MySQLに外部サーバーからアクセスする – 発声練習
http://next49.hatenadiary.jp/entry/20120112/p1

[Laravel] Homesteadのメモリ/CPU設定を変更する

Homesteadの動作がもっさりしているので、動作パラメータを変更してリソース消費を増やしてみる。

Homestead.yaml

変更前

変更後

もっさり感は若干は改善されたように感じるけど、劇的に改善した感じはない。この遅さは仕方ないのだろうか、それとも何かまだ打つ手があるのだろうか・・・

[MySQL] グローバルなシステム変数を設定/参照する

MySQLのチューンアップの覚え書きとして。

MySQL :: MySQL 5.6 リファレンスマニュアル :: 5.1.5 システム変数の使用
https://dev.mysql.com/doc/refman/5.6/ja/using-system-variables.html

MySQL Server には、その構成方法を指示する多くのシステム変数が保持されています。各システム変数にはデフォルト値があります。システム変数は、コマンド行のオプションを使用するか、オプションファイルでサーバー起動時に設定できます。これらのほとんどは、SET ステートメントを使用してサーバーの実行中に動的に変更でき、これによりサーバーを停止して再起動することなくサーバーの動作を変更できます。

 

[MySQL] グローバルなステータス変数を参照する

MySQLのチューンアップの覚え書きとして。

MySQL :: MySQL 5.6 リファレンスマニュアル :: 5.1.6 サーバーステータス変数
https://dev.mysql.com/doc/refman/5.6/ja/server-status-variables.html

サーバーには、その操作についての情報を提供する多くのステータス変数が保持されています。これらの変数およびその値は、SHOW [GLOBAL | SESSION] STATUS ステートメントを使用して表示できます。

[ホスティング] ログローテーションで新規ファイルのパーミッションを指定する

ログローテーションした後のファイルを例えばapacheユーザからアクセスしたい場合、そのファイルのアクセス権をrootしか持っていないのでは困る。

そういう場合は、createで新規ファイルのパーミッションを指定する。

参考サイト

ログローテーションするためのlogrotate設定とちょっとしたtips – Qiita
https://qiita.com/K_Yagi/items/7843429f34678e475be6

logrotateでcreate時にパーミッションが効かない – 右往左往ブログ
http://u0sa0.hateblo.jp/entry/2015/04/10/022551

@IT:logrotateの設定ファイルで指定できる主なコマンド
https://www.atmarkit.co.jp/flinux/rensai/linuxtips/747logrotatecmd.html

[Apache] 一定数リクエストを処理したphp-fpmのプロセスを再起動する

php-fpmをずっと動かしていると、徐々にメモリ使用量が増えて、終いにはメモリを食い潰してしまう。アプリなのか、ミドルウェアなのか、どこかでメモリリークが起きているのだろうと想像できるものの、その原因を突き止めるのは難しそうだ。

メモリリークは起きて仕方ないとあきらめて、一定期間が経過したらphp-fpmのデーモンを再起動したら良いのではないか。そんなことを思ったら既にそういうオプションが用意されていた。

/etc/php-fpm.d/www.conf

参考サイト

php-fpm の設定を理解してサイトのパフォーマンスを向上させる – Hacker’s High
https://hackers-high.com/linux/php-fpm-config/

[Windows] データ通信量を確認する

COVID-19で子供らの学校がリモート授業になって、かつ、子供らが自宅にいる時間が長くなったせいもあり、ついに先月、CATVインターネット接続の月間トラフィック許容量1,280GBを越えてしまう事態が発生。でも家族全員がそんなにトラフィックを使っているわけじゃあるまいし、まあ犯人捜しをするわけじゃないけど、誰がどれぐらいトラフィックを使っているのかは知っておきたい。

まずは、デバイス毎のトラフィックを集計する機能がWi-Fiルーターに備わっていないか調べるも、我が家が使っているような廉価な製品にはそんなものがあるはずも無し。

更に調べてみると、Windowsには過去30日間のトラフィックを積算する機能があるらしい。

[Windows10] データ通信量を確認する | ぱそまき
https://pasomaki.com/windows-data-traffic-check/

できれば1日単位でトラフィックを調べたいと思って調べると、以下のソフトが見つかった。多機能な割にUIはすっきりしていて使いやすそうなツールだ。30日間の試用期間があるようなので、とりあえず自分のPCと、我が家のネットのヘビーユーザーである息子のPCにこのツールを入れておく。

NetWorx : bandwidth monitor, connection speed test, data usage log
https://www.softperfect.com/products/networx/

NetMaster : Internet connection monitoring and control
https://www.softperfect.com/products/netmaster/

[ModSecurity] 特定のルールだけを適用するには

Mod Securityをオンにしてみたいのだけど、一度に全部適用すると偽判定される可能性があるので、特定のルールだけ適用してMod Securityをしばらくテスト運用してみる。

デフォルトでは、ルールは以下ディレクトリに格納されている。

  • modsecurity.d/*.conf
    – modsecurity_crs_10_config.conf
  • modsecurity.d/activated_rules/*.conf
    – modsecurity_crs_20_protocol_violations.conf
    – modsecurity_crs_21_protocol_anomalies.conf
    – modsecurity_crs_23_request_limits.conf
    – modsecurity_crs_30_http_policy.conf
    – modsecurity_crs_35_bad_robots.conf
    – modsecurity_crs_40_generic_attacks.conf
    – modsecurity_crs_41_sql_injection_attacks.conf
    – modsecurity_crs_41_xss_attacks.conf
    – modsecurity_crs_42_tight_security.conf
    – modsecurity_crs_45_trojans.conf
    – modsecurity_crs_47_common_exceptions.conf
    – modsecurity_crs_48_local_exceptions.conf.example
    – modsecurity_crs_49_inbound_blocking.conf
    – modsecurity_crs_50_outbound.conf
    – modsecurity_crs_59_outbound_blocking.conf
    – modsecurity_crs_60_correlation.conf
  • modsecurity.d/local_rules/*.conf
    – modsecurity_localrules.conf

この中から、分かりやすいところでSQLインジェクションだけ適用してテスト運用する。

ログをクリアしておく。

Apacheを再起動して設定を適用。

サイトが正しく表示されることを確認したら、テスト運用開始。

[ModSecurity] インストール手順

Mod SecurityはオープンソースのWAF (Web Application Fireworks)。WordPressサイトへの攻撃対策として試しにインストールしてみる。

Mod Securityのインストール

Mod Securityのプログラムと攻撃パターンのルールを定義したCore Rule Set (CRS)の両方をインストールする。

検知のみとする設定

いきなりオンにすると、予想しない誤検知によってサイトが遮断される危険性があるので、まずは検知のみモードでテスト運用する。検知のみモードでは検知内容がログファイルに出力されるだけでサイトは遮断されない。

ModSecurityを有効にする

ログを監視

/var/log/httpd/modsec_audit.log

参考サイト

オープンソースのWAF「Mod Security」のメリットとその導入方法について | セキュリティ対策 | CyberSecurityTIMES
https://www.shadan-kun.com/blog/measure/2939/

Apache×Mod SecurityでカンタンWAF構築 – Qiita
https://qiita.com/m0nch1/items/ac7255399366fb113a82

Apache HTTP Server向けのWebアプリケーションファイアウォール(WAF)「ModSecurity」を使ってみよう | さくらのナレッジ
https://knowledge.sakura.ad.jp/10648/

オープンソースWAF「ModSecurity」で学ぶサーバーの防御 | パーソルテクノロジースタッフ株式会社
https://persol-tech-s.co.jp/corporate/security/article.html?id=2