DKIM, DMARC さくらインターネットは手動設定、ロリポップは自動で対応されてた

DMARC は届かないことを通知するメールアドレスを指定できるが、ロリポップで指定する場合は、ネームサーバーを変更する必要がありそうだ。

2024年02月02日本日、ここまで、

  • コアサーバーV2 10/10
  • さくらインターネット スタンダードプラン 10/10
  • ロリポップ 10/10
  • Bizメール&ウェブ 対応中

既存の ConoHa VPS、LAMPサーバーにopenVPNを追加してみた

  • PPTP:すでになかった。
  • openVPN:手作業でインストールしていこうとしてもディレクトリが違ってうまくいかない
  • SoftEther-VPN:既存のLAMP環境でのインストールは難しかった。
  • strongswan-VPN:既存SSL証明書を使ってインストール、接続もできる。
  • ocserv:インストールはできるが、クライアント用のアプリを使えなかった。

いろいろ試してみたけど、openVPNの自動インストーラでゴールで来た。
SSL証明書に既存のものを利用するように手動設定にこだわったけれど、やりたいことは皆さん同じようだ。

参考にさせていただ来ました。ありがとうございました。

https://dawaan.com/setting-up-openvpn-in-5-mins/

利用状況

  • 既存の Apache の稼働しているサーバー。ConoHa VPS
  • ポートは 1194 UDP のみ開放(自由)
  • 端末からの接続にはアプリを使用
  • openVPNが生成した設定ファイルを「アップロード」して接続

メモ
インストーラーを使えば、設定を確認しながら進められる。
1日つまづいてしまったのは、ルーターのポートを開放していなかったため。
回線の節約で、簡易DMZ設定のない、YAMAHAのルーターに切り替えていたのを忘れていた。(泣、

Gmail へ送信できない。Please use 550-5.7.1 the SMTP relay at your service provider instead.

This is the mail system at host ***.jp.

I’m sorry to have to inform you that your message could not
be delivered to one or more recipients. It’s attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

The mail system

<***@gmail.com>: host gmail-smtp-in.l.google.com[2404:6800:4008:c02::1a]
said: 550-5.7.1 [2400:***:***:***:***:***:***:***] The IP you’re using to
send mail 550-5.7.1 is not authorized to send email directly to our
servers. Please use 550-5.7.1 the SMTP relay at your service provider
instead. Learn more at 550 5.7.1
https://support.google.com/mail/?p=NotAuthorizedError
h2-20020a170902f54200b001c7347e993esi10950948plf.17 – gsmtp (in reply to
end of DATA command)

  1. Google は IP アドレスの許可リストを作成することも例外を認めることもできませんのでご留意ください。
    参考ページをキーワードを頼りにたどっていく
    https://support.google.com/mail/?p=NotAuthorizedError
    https://support.google.com/a/answer/3726730?hl=ja
  2. キーワードで検索して IPv6 のアドレスがブロックされるっぽい

    Gmail へメールが届かない その2


    参考になりました。ありがとうございました。

  3. SPAMHAUS にて、該当のアドレスを調査
    https://check.spamhaus.org/
  4. Policy Blocklist (PBL) にてリストに載ってしまっていた。

対応策

postfix で IPv4 のみを利用するように設定。
/etc/postfix/main.cf

inet_protocols = all とあるが、main.cf の最後に下記を追記

inet_protocols = ipv4

Policy Blocklist (PBL)は、サービスプロバイダーからのブラックリスト削除要請しかうけないらしいので、VPSのサポートへ連絡した。
結果次第で、main.cf を元に戻すこととする。

550 5.7.1 Gmail に Undelivered Mail Returned to Sender 拒否される。 Googl Postmaster Tools で解決

This is the mail system at host ***.jp.

I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

                   The mail system

<***@gmail.com>: host
    gmail-smtp-in.l.google.com[2404:6800:4008:c19:***:***] said: 550-5.7.1
    [2400:8500:1302:3134:157:7:***:***] The IP you're using to send mail
    550-5.7.1 is not authorized to send email directly to our servers. Please
    use 550-5.7.1 the SMTP relay at your service provider instead. Learn more
    at 550 5.7.1  https://support.google.com/mail/?p=NotAuthorizedError
    u6-20020a17090a410600b0026b0c3f1506si1032633pjf.155 - gsmtp (in reply to
    end of DATA command)

Gmail へ送信するとこのように受信してもらえなかったというメールが返ってきた。

Google アカウントへログインして下記のリンクを開き

https://support.google.com/mail/?p=NotAuthorizedError

「Postmaster Tools」から、承認を依頼すると、DNS へ TXT レコードを追加するように指示されます。

Virtualmin > ドメイン > Server Configuration > DNS Records  > Create Record of Type: TXT にて追加

TXT レコードを追加して、承認されると、エラーなくメールを送信、手元の Gmail でも受信が確認できました。

 

2023.10.03 追記======================

IPv6がブラックリストに入っていた。
Gmail へ送信できたのは、たまたまIPv4だったから。

Gmail へ送信できない。Please use 550-5.7.1 the SMTP relay at your service provider instead.

Bizメール&ウェブにて、sslbox の Let’s Encrypt 更新

  1. www. ****.jp のみ更新
    wwwなしで、wwwありでもつかえる証明書かと思ったけど、別だった。
  2. SSLサービスにて証明書の更新
    https://www.sslbox.jp/
    ログインして
    ・「更新申込」
    ・web認証をするためのファイルをダウンロードし、所定のアドレスにアップロード
    ・所定のアドレスで文字列が表示されることをブラウザで確認
    ・「所有者確認開始」
    ・「証明書を発行する」
    ・秘密鍵、証明書、中間証明書 をそれぞれダウンロード
  3. NTTのコンパネにて証明書のインストール
    https://bizmw-login.com/****/login
    左メニュー>ウェブサーバー>SSL/TLS証明書>
    ・既存証明書インストール、画面のながれにそって秘密鍵、証明書をインストール
    ・中間CA証明書インストール、画面にそって中間証明書インストール
  4. コンパネで証明書の日付確認、ブラウザでも確認

 

さくらインターネットの支払いがGMOあおぞらネット銀行のデビッドカードでOK。だけどクセあり

さくらインターネットのレンタルサーバ、スタンダードプランの支払いにGMOあおぞらネット銀行のデビッドカードを設定できて、支払いにも成功したのだけれども、少しクセがあるのでメモ。

  • スタンダードプランは、クレジットカードの年払いにしている
  • カードの情報に、GMOあおぞらネット銀行のデビッドカードを設定
  • さくらインターネットの請求日は、請求月の 10日。例:例6月10日
  • 支払いは月末。:例6月30日
  • 契約者のページには、請求書の情報が10日すぎに表示される。「未」という赤い文字が悲しい。
  • 例:6月27日にデビッドカードから引き落としがある。
  • さくらインターネットの契約者ページの支払いは「未」のまま
  • 例:6月30日 さくらインターネットの契約者ページの支払いは「済」となる

つまり、デビッドカードの場合には、月末の支払日より前に残高を請求額以上にしておかないといけないということ。

クレジットカードの与信ということになると思うのだけれども、デビッドカードの場合には、こういった癖があるということ。

最近、いくつかの銀行口座を作った。
申請時に覚えがないけれども、大手は普通のキャッシュカードとデビッドカードの2つ。
新興のネット銀行は、キャッシュカードとデビッドカードが1つになったカードが1つ送られてきた。
オプションでクレジットカードの希望はあった。

550 5.7.1 header are not accepted. 迷惑メール判定が厳しくなったのでメールフォームを改修

2023年6月現在

Gmail については、返信先のアドレスが、送信元のドメインと異なると、「550 5.7.1 header are not accepted.」として、配送されずにエラーメールが返ってくる。

表題とは少し異なるがレンタルサーバから悲鳴も上がっている。

https://help.sakura.ad.jp/notification/440-2/

https://www.value-domain.com/information/detail/?no=20230607-2

  • SPF が正しく記載できていること
  • 逆引き できること
  • DKIM が記述されていること (これがクリアできてると「重要」のフォルダに入る?)
  • 送信元のドメインと、送信者、返信先のドメインが同じこと

ということで、サイトの「お問い合わせ」メールフォームのプログラムについて改修する。

フォームメールのプログラム改造

  1. 閲覧者がサイトのメールフォームを利用
    問い合わせに返信してもらえるように、メールアドレスを記入して送信
  2. サイト運営者にメールとして問い合わせが届く
    このとき通常は、相手のメールアドレスが返信先になっている。
    この状況が、Gmailは「よろしくない」としてエラーとして処理するようになった。
    受信側が Gmailと無関係であればエラーは出ないが、受信側が Gmail そのものだったり、転送に Gmailがあるとエラーメールが返ってくる。
  3. フォームメールのプログラムを改造
    サイト運営者に届く際のメールアドレスをサイトのドメインと同じものにした。
    問い合わせの担当者は「返信」という操作はできなくなる。
  4. 実装してみて
    ・Gmail できれいに受信できた。
    ・メールアドレスを入力させないフォームで、迷惑メールとして受信していたメールが、
    「重要」フォルダに入る厚遇を受けた。(SPF、逆引き、DKIM対応のメールアドレス。)
    ・サイト運営者に届くメールも今までより早く着信している気がする。

Gmail 側の対策

独自ドメインのメールは、知る限り多くの場面で「迷惑メールフォルダ」に入ってしまう。

  • Gmail アプリで、「迷惑メールではない」というボタンを押す。
    学習させていかないといけない。
    2023.06.16追記、アプリで迷惑メールフォルダへいけない。ChromeでログインしてGmailを使う。
  • ブラウザでGoogleにログイン、Gmail で「迷惑メールフォルダ」をチェックする。
  • Gmail をメールアプリのPOP3で利用している場合は、IMAPにして「迷惑メールフォルダ」へアクセスしやすくする。

つい最近までは使っていたのだけれども、Gmail を有料で使う Google Work Space についてはどうなっているかは不明です。

VPS で Virtualmin で LAMP そしてメール逆引きDKIM 対応 mail.example.com

前提として

ドメインは、独自のネームサーバを指定できるドメイン管理サービス。ここではバリュードメイン。

VPS

  1. NTT WebARENA Indigo
    クレジットカードの登録が必要。VISA デビッドはだめ。
    LAMP インストールまで進めたが、逆引きできない。Pro バージョンは逆引きできる。
    swap は自分で用意
    SSH は「private_key.txt」を使用
    Rocky Linux root ユーザはデフォルトではない
    wget なし
  2. KAGOYA CLOUD VPS
    ユーザー登録が済んだ後で、不備があるということで拒否された。
    たぶんVISA デビッドだったから。(Google WorkSpace は VISA デビッドでもなんら問題ないのに。)
  3. ConoHa
    前もって入金しておくことで進めた。
    LAMP 逆引き、IPv6 すべてOK
    swap は用意されていた。
    SSH はそのまま使えた。
    Rocky Linux root ユーザ
    wget あり

そもそもは、送受信サーバに、「mail.example.com」とできるサーバーを探すこと。

virtualmin をインストール

  1. OSインストール
  2. SSH root@111.222.***.***
    でSSH接続
  3. swap 追加
    https://qiita.com/SkyLaptor/items/1d77b665f7fc5809359f
    #dd if=/dev/zero of=/var/swapfile bs=128M count=64
    #chmod 600 /var/swapfile
    #mkswap /var/swapfile
    # swapon /var/swapfile
    # swapon -s
    # cp -p /etc/fstab /etc/fstab.default
    # vi /etc/fstab
    ※適当なところに追記
    /var/swapfile swap swap defaults 0 0
    # reboot
    # swapon -s
  4. Virtualmin インストール
    #dnf list installed | grep wget
    #wget https://software.virtualmin.com/gpl/scripts/virtualmin-install.sh
    #sudo sh virtualmin-install.sh
    hostname:example.com
  5. Webmin で設定
    http://111.222.***.***:10000
    サーバーと同じアカウント情報でログイン
    webmin > Webmin Configuration > IP Access Control > Only allow from listed addresses
    真っ先に接続できるIPアドレスを限定
    sshサーバ 停止
  6. example.com
    DNSはインストール前に 111.222.***.*** に向けてある。
    example.com 仮想サイトの設定を進め、SSLインストールまでできたら、
    https://example.com:10000 でログインしなおす
  7. ネームサーバを設定
    ns1.example.com
    ns2.example.com
  8. DKIM 設定
  9. check-auth@verifier.port25.com へ空メール送信
    Summary of Results
    ==========================================================
    SPF check: pass
    “iprev” check: pass
    DKIM check: pass
  10. メールアプリの送受信サーバを mail.example.comとする。
    エラー:証明書が違うと怒られる
    いろいろ試そうと考えてみたけれど、デフォルトで、MX は mail.example.com だし、
    エラーは、接続できた後に証明書違いということだから、SSL証明書をいじることにする
  11. SSL 証明書も、デフォルトで、mail.example.com がある。
    ワイルドカードのSSL証明書にしてみる。
  12. メールサーバを再起動して、
    メールアプリの設定を、mail.example.com とする。
    成功!
  13. IPv6 も設定
    逆引きも設定できる

メモ

mail.example.com のレンタルサーバからの引っ越しが必要になった場合は対応可能ということがわかった。
VPS のプランはいろいろあるけれども、

  • RAM は swap で増やせる。メールのウイルスチェックや、データベースにも使用して 8G以上は増やしたい
  • CPU は経験上 3コア以上(ローカルサーバの4コア、仮想2コアでかなり忙しい。)
  • SSD は10人程度の事業所のサイトとメールなら50Gあれば十分じゃないかな、、
  • OS は CentOS系 (ローカルの仮想では、Ubuntu などと相性が悪かった。)
    Virtualmin での優先順位も高い。マルチphpバージョンとか。

レンタルサーバのサポートほど細かいことはできないかもしれない。自分でいろいろできるのはある意味気持ちが楽になる。サポート頼みのほうが気楽かもしれないけれど、いろいろ考えさせられる場面に出くわすことが多いため、今回のVPS検証に至った。
ただ、レンタルサーバの3倍の維持費になりそうなので、今のところレンタルサーバのサービスと仲良くしていくことになる。

ネームサーバーを指定してドメインの x._domainkey. を取得するphpコード

$hostname = 'example.com';
$ns_server = 'ns1.example.com';
$dns_records = dns_get_record('x._domainkey.'.$hostname, DNS_TXT, ['nameservers' => [$ns_server]]);

foreach ($dns_records as $record) {
    if (strpos($record['txt'], 'v=DKIM1') !== false) {
        echo $record['txt'];
        break;
    }

コアサーバーのsshで取得できる文字列は取得できなかった。やはり公開エリアからは権限がないかな。

ChatGPT すご。

コアサーバー ウェブ アクセスログを自動保存(テスト中)

ログを調べなければいけない事案があったので、FTPでログファイルを取り出した。
コアサーバーのサポートへ問い合わせたが、ログファイルは7日間だけで変更はできない。

  • ホームページを閲覧すると、ログファイルをコピー。
    丸一日1回もアクセスがないと動作しない。。。
  • コピーがすでにある場合は、「logfile:ok」
  • 何かしらでコピーできていない時は、「logfile:error」
  • ファイル名を「月日」にすれば1年前は上書きされるので1年分の容量
    ファイル名を「日」にすれば1月前は上書きされるので1月分の容量

  • 月替わりなどまだチェック必要
  • 20230308 変更、0:01 にアクセスがあると1日前のログがコピーされてしまいそうなので、6時以降のアクセスでコピーすることにした

date_default_timezone_set('Asia/Tokyo');
$ymd = date("Ymd");
$mmdd = date("md");
$jikan = date("G");
$yyy = date("Y");
$mmm = date("M");
// コアサーバーのログファイル名 May-2023.tar.gz
$logfile = "$mmm-$yyy.tar.gz";
$logfiletoday = "/home/ユーザ/domains/ドメイン.jp/logs/$logfile";
// ファイル名を変数に格納
$filename = "/home/ユーザ/domains/ドメイン.jp/public_html/秘密-logs/$mmdd.tar.gz";
// ファイルが存在するかチェックする
if (file_exists($filename) and $jikan > 6) {
echo "logfile:ok";
} else if (copy($logfiletoday, $filename)) {
echo $logfile;
} else { echo "logfile:error"; }

追記

月はじめ1日、todayのファイルが2つできる時間帯があるようだ。コピーするタイミングによっては情報に欠落が出る場合がある。

Nextcloud 管理画面からのアップデート ”Update in process.” で進めない。コアサーバ V2での対処

1)Nextcloud でログイン後の管理ページからアップデートをかけたところ失敗。

Update in process. と表示されて何も操作できなくなった。

2)コアサーバーのコントロールパネル

インストールしたときの画面で見ると、アップデートボタンが赤くなっているので、クリックしてみたら、アップデートが通った。

アップデート無事終了。何度か画面がタイムアップしてしまったけど、アップデート自体は進んでおり、再接続することで確認できた。
実際、ブラウザで Nextcloud へアクセスすると正常に動作できていた。

3)メモ

  • インストール時に、コアサーバのツールからインストールしている必要がある。
  • 以前別のサーバで Nextcloud を手動でインストールした関係で、Nextcloud  をNextcloud の画面からアップデートした経験があったので、そこからのアップデートを試みてしまった。
  • コアサーバからの更新をうながすメールにも、「Webホスティングのコントロールパネルへ」とある。

 

追記:2023.06.21現在 Nextcloud Hub 3 (25.0.7) アップデートをかけると壊れる

コアサーバーのコントロールパネルからインストールしたアプリとして、ver.26 へアップデートをかけると NextCloud が壊れる。
直前にバックアップがあるなら、新たに、「Nextcloud Hub 3 (25.0.7)」をインストールしてバックアップをインポートすることになる。
5月に、バックアップも削除してしまったので、まっさらな Nextcloud で再出発となった。100ギガ以上使っていて、ダウンロードも何もできなかった。
ver.26 を新規でインストールも失敗する。
たぶん php のモジュールとかの関係と思おうが、カスタマイズしたり、サポートをうけたりと手間をかけすぎないようにしたい。

さくらインターネット 独自ドメインメールのサーバーを外部にすると

メールサーバを Google WorkSpace にする。
メールアプリの設定は、
imap.gmail.com
smtp.gmail.com

となり、SPF、逆引き、DKIM は pass となる。

さくらインターネット(スタンダードプラン)の様子

  • コントロールパネルのドメイン設定で、「メールを使わない」という選択肢がある。
    DNSはいつものweb、メール併用の設定で「利用しない」設定とする。
    どうしてこうなるか不明だが、nslookup で確認してもメールサーバが所在不明になる。
    nslookup はネームサーバのDNS情報だけでなく、ホストの情報まで結果に表示している?
    結果は当然だけれども
    ・全く別サーバからのメールは、届かずにエラーメールが返ってくる。
    ・さくらインターネットの別サーバからは、届かずにエラーメールが返ってくる。
    ・さくらインターネットの同じサーバからは届かずにエラーメールが返ってくる。
  • 実際、外部にメールサーバを置いて、新旧メールサーバの併用期間を設けたところ、
    ・全く別サーバからのメールは、Google WorkSpace へ届く。
    ・さくらインターネットの別サーバからは、Google WorkSpace へ届く。ただし、遅延が発生する。
    ・さくらインターネットの同じサーバからは、さくらインターネットのメールサーバへ届く。
    ・共用している、同じホストの隣のサーバは試せていない。

PCでも、スマホでも Gmail の設定は簡単にできるようになっている。
その意味で、いろんなスキルの人の集まり、組織で採用される可能性は高くなるかもしれない。

多くのレンタルサーバのメールアカウントを独自ドメインで設定するときには、それぞれにコツがあったりする。メールアプリが自動で進めてエラーが出ることが多く、「手動設定」「詳細設定」などでアプリの自動設定を修正していかなくてはならない。明示的にSSL通信を設定したいものだ。

コアサーバー V1にてカスタムフィルターで「ごみ箱」を指定したときの確認方法

1)基本的にはマニュアル通り

https://help.coreserver.jp/manual/v1/customfilter/

2)受信方法の「破棄」

途中の設定に、受信方法の「破棄」というのがある。
言葉的に、こんな設定で良いの?と思ってしまうが、破棄前提で条件分岐で通常のメールは届くように設定してあげることになる。

  1. 破棄できる前提のフィルター
  2. 条件で対象のメールの処理を決める
  3. 条件に合わなかった、正常のメールは、通常のメールボックスへ届ける「」

3番をしてしてあげないといけないところが、敷居が高い。

3)設定してみた

旧コンパネで確認できる設定例

:0HB
*
* ? /usr/bin/nkf -meZ2 | sed ‘s/[[:space:]]//g’ | grep ‘良くない言葉’
$MAILDIR/.Trash/new
:0HB
* .*
$MAILDIR/

説明:「良くない言葉」というテキストがあると、「Trash」フォルダに入る。
この「Trash」がくせ者で、手元のメールアプリのごみ箱へ受信するというものではない。
(IMAPで試せば、ごみ箱も同期するかもしれないが試していない。)

ウェブメールで確認で確認すると、ごみ箱に入った。

他のアカウントを試すと、ごみ箱がない!

ウェブメールで確認しようとするが、Roundcube(ラウンドキューブ)で確認すると、デフォルトだとごみ箱が表示されない。
Roundcube(ラウンドキューブ)の場合は、アカウントでログイン後に、送信や、削除の操作をしないとフォルダを表示しない。

デフォルトのウェブメールアプリ、SquirrelMail(リスのアイコン) でログインして確認するのが良いが、SquirrelMail だと、文字化けしたり、レイアウトが崩れたりで、使用を避けていた。

4)カスタムフィルターで「ごみ箱」を指定したときの確認方法

ウェブメールでログインして確認

Roundcube(ラウンドキューブ)

https://サーバ.coreserver.jp/mail/src/login.php

SquirrelMail(リスのアイコン)

https://サーバ.coreserver.jp/mailr/

Roundcube(ラウンドキューブ)で確認する場合は、削除の操作をして、「ごみ箱」を表示させよう。

 

メモ

ごみ箱から、削除されるタイミングはわかっていないけど、「ごみ箱」確認しないと大量残り続ける可能性があるね。

 

コアサーバー Mac ターミナルでSSH接続

1)参考

コアサーバー

https://help.coreserver.jp/manual/v2/ssh-use/

Tera Term で進めている。Windows のコマンドプロンプトも SSH のコマンドは使えるが、証明書を使う仕様の接続には対応していないようだ。
自分の環境は、Mac に 仮想で Windows と CentOS を入れている。Tera Term をインストールすることなく作業を進められるなら、都合がよい。

mac でコアサーバーに接続 参考サイト

https://oncologynote.com/?dcc506d23f

2)コアサーバで用意できる情報、ファイル

  • サーバー:ユーザー@v2002.coreserver.jp
  • 証明書ファイル:文字列_rsa ダウンロードして手元のMacで使う
  • パスワード:自分で決めるパスワード

3)Mac での操作

mac ターミナルにて

  1. SSH ユーザー@v2002.coreserver.jp -i ~/.ssh/文字列_rsa
  2. エラーになるが、「/Users/マックユーザー/.ssh/」と「.ssh 」のフォルダができる。
    「.ssh」でなければならない必要はない。
    後に
    SSH ユーザー@v2002.coreserver.jp -i /Users/マックユーザー/Downloads/文字列_rsa
    でも接続できた。
  3. 再び
    SSH ユーザー@v2002.coreserver.jp -i ~/.ssh/文字列_rsa
    参考サイトの説明通り、権限で注意される
  4. chmod 600 /Users/マックユーザー/.ssh/文字列_rsa
  5. 再び
    SSH ユーザー@v2002.coreserver.jp -i ~/.ssh/文字列_rsa

4)メモ

隠しファイルが見えない場合は:Shift + コマンド + ピリオド

証明書の場所:「ダウンロード」でもOK、権限の変更は必要
下記でも接続できる
SSH ユーザー@v2002.coreserver.jp -i /Users/マックユーザー/Downloads/文字列_rsa

コアサーバでのコマンド作業が終わったら:exit でログアウト

近々作業がない場合は、コアサーバのSSH設定を削除、手元の証明書を削除しておくことにした。

 

コアサーバー DKIM 設定方法

1)参考サイト

https://hkzo.org/2021/09/dkim-enabled-coreserver-v2/

上記の様子で、2022年4月上旬までは、できていたのだけれども、うまくいかなくなった。

「dig txt x._domainkey.example.com. @xxxx.coreserver.jp」がきかない。

connection timed out; no servers could be reached

となる。

2)外部からサーバーを指定してだめなら、サーバーの中で

いちいちバリュードメインのサポートを受けるのも時間がかかる。
ぼんやりコマンドを眺めていると、サーバーを指定して、txt を問い合わせている。
DNSに書き込む前なら、サーバー内で問い合わせられるかな?

ということで、SSHを試すことにする。

3)コアサーバーでSSH

参考サイト

コアサーバー

https://help.coreserver.jp/manual/v2/ssh-use/

アプリ Tera Term

<<リンク先が拒否しているようで表示できないので別ページで、mac で使えるように説明する予定。>>

ssh で

dig txt x._domainkey.****.co.jp

→2022.06.16 追記上記ではダメ、dig txt x._domainkey.****.co.jp. @xxxx.coreserver.jp

として、結果が表示され、文字列をコピーできる。
(1)の参照サイトのように、改行や、「’ ‘」がないようにして、ドメインのDNSへ追記する。

4)チェック

check-auth@verifier.port25.com へメールを送信

==========================================================
Summary of Results
==========================================================
SPF check:          pass
"iprev" check:      pass
DKIM check:         pass

==========================================================

5)CORESERVER V2 DKIM 設定方法まとめ (2022.06.22追記)

  1. コアサーバーコントロールパネル>メール>メールアカウント設定

    DKIMを有効
  2. ターミナルで
    dig txt x._domainkey.****.jp. @v200*.coreserver.jp
    としても
    connection timed out; no servers could be reached
    だったときは、SSHで問い合わせる
  3. コアサーバーコントロールパネル>ツール>SSH
    キーを作成
  4. コアサーバーコントロールパネル>ツール>ファイルマネージャー
    .SSH の中にある、(3)の操作でできた「ssh_rsa」ファイルをダウンロード
    ※ダウンロードの際に、余計な拡張子はつかない(2022.07.03追記 .htmlが付くが、ファイル名をssh_rsa.htmlとして進めてもOK)
  5. ダウンロードしたファイルをデスクトップに配置
    ターミナルにて、
    ・ディレクトリを移動
    $ cd /Users/macユーザー名/Desktop
    ・ファイルの権限を変更しておく
    $ chmod 600 ssh_rsa
  6. SSH接続
    ターミナルにて、
    SSH *****@v200*.coreserver.jp -i /Users/macユーザー名/Desktop/ssh_rsa
    パスワードを聞かれる<Enter passphrase for key ‘/Users/macユーザー名/Desktop/ssh_rsa’:>
    パスワード入力
    SSH接続できると、行の頭が下記になる
    [*****@v200* ~]$
  7. SSH で DKIM 問い合わせ
    [*****@v200* ~]$ dig txt x._domainkey.*****.com. @v200*.coreserver.jp
    応答のあったtxtをコピーして
    p= を「’ ‘」を除いて一行に編集
  8. DNS設定に追記する
    txt x._domainkey.*****.com. v=DKIM1; k=rsa;p=<一行に編集した文字列>
  9. 普通にターミナルから問い合わせると応答するようになる
    dig txt x._domainkey.****.jp.
  10. メールアプリのアカウントから、
    check-auth@verifier.port25.com へメールを送信するなどしてDKIM が pass するかチェック

 

2023.07.25 追記========================

コンパネに表示されるようになっていた。

意図せず自分の契約しているサーバに攻撃者扱いされる

1)自分契約しているサービスなのに接続できない

コアサーバーはメールアカウントを誤った状態で設定していると、自分が契約しているサービスなのに、利用できなくなります。

・V1プランは、メール接続のみ。ウェブメールの利用はできる。

・V2プランは、メールもウェブも自分のサービスに接続できなくなる。

2)回復方法

拒否されている回線から、契約しているサービスのコントロールパネルにログインして、しばらく待つ。

3)原因

自分の場合は、iPhone でした。サーバーを乗り換えて、パスワードや、アカウントの接続情報が変わったのに、エラー表示もないまま、接続を繰り返して、ブロックされてしまいました。

他の人の場合、Windows メール
なんとバックグランドでしれっと動いている。
何度となく、outlookなどの設定を見直しても、原因がわからないのはこのため。
よく見かける、設定方法を解説したページでも、outlook と Windowsメールの設定が混在している説明が多い。

特殊なケースとしては、Windows10 なのに、Windows live メール を使っていたケース。
これは、実機を見ていないのだが、PCを利用していた人は気が付かない状態で動いていた。
Windows live メール はサポートも切れているし、Windows live メール からメールを送信すると、迷惑メール扱いされる可能性が大きいから、メールアプリとしては使うのを避けたい。
それでも、カレンダー機能など使い慣れているから、使い続けている人がかなりいるようだ。

いずれにしろバックグランドで、エラー表示が表に出てこないうちに、接続エラーを何度も繰り返して、自分の契約しているサーバからブロックされてしまうという、切ない事態になってしまう。

または、ほかのサーバー、以前のサーバーに「攻撃」を繰り返す状態が続いてしまう。
見直したいものだ。

ロリポップのアクセスログを手元の Mac で brew webalizer 解析

1)brew がインストールされているか確認

brew -v

なければ、インストールする。自分は、brew の管理をまめにできないので、
普段あまり使わないテスト用のMac にインストール。
あれば、brew をアップデートするメンテが必要。

2)brew インストール

https://brew.sh/index_ja

長いコマンドでインストール

X-code など少し時間がかかる

3)webalizer インストール

https://formulae.brew.sh/formula/webalizer

短いコマンドでインストール

4)webalizer の場所

ファインダーで隠しファイルを可視化
shhift + コマンド + ピリオド

ファインダー 移動 コンピュータ

「コンピュータ」から開かないと見つけられない場所、カラム表示が作業しやすい。

/usr/local/Cellar/webalizer/2.23-08_2/

5)webalizer の設定 3か所くらい

設定ファイルをサンプルから作る。ファインダーで普通にコピーしてリネーム

/usr/local/Cellar/webalizer/2.23-08_2/etc/webalizer.conf

ログファイルの場所、指定ファイルがうまく開けず、一応 Apache 由来のフォルダにしてしまっているがわかりやすい場所で良いと思う。
.gz でなければ結果が出なかった。(アクセス権とか場所とか改行コードとかいろいろ試したけどコレで解決)

LogFile /Library/WebServer/Documents/log.log.gz

ガチャガチャいじったので一応これも

LogType clf

解析結果の出力先。サンプルに近いところにしたけど、これも任意の場所でいいと思う。

OutputDir /var/lib/log

6)ロリポップ( エンタープライズプラン)のアクセスログ

1日1ファイル、3か月以前は自動で消えていくので、毎月1か月分をこつこつダウンロードしている。
wwwの有り無しでも分かれているので、毎月1ドメインで、60回くらいダウンロード操作が必要。
簡単になればよいのにと思うけど、ログファイルをまとめて解析するニーズがあまりないのだと思われる。
Googleアナリティクスあるし、、、404とか見つけられるし、500も何回あったかでサイトの健康状態もあわかると思うのだけれど、、。

・・・・・
・・・・・
ドメイン.jp_20220111.log
ドメイン.jp_20220112.log
ドメイン.jp_20220113.log
ドメイン.jp_20220114.log
ドメイン.jp_20220115.log
・・・・・
・・・・・

ダウンロード直後に解凍されてしまうと上のようになる。
.gz のままの場合もあるけど、ファイルをまとめるのに .logのほうがいいのかな。

ファインダーでわかりやすい場所のフォルダにログファイルをまとめておく

コマンドでディレクトリを移動し、

cd /Users/ユーザ名/Downloads/ドメイン.jp_2022フォルダ

ファイルをまとめるコマンド

cat *.log > log.log

.gz に圧縮するコマンド

gzip log.log

log.log.gz ができる。( log.log はなくなった)

webalizer の設定ファイル(webalizer.conf)で指定した場所に log.log.gz を移動
普通にドアラッグ&ドロップ

/Library/WebServer/Documents/log.log.gz

 

7)アクセス解析

コマンドで

webalizer

うっかり、ログのある場所でこのコマンドを使ったけど、どこでも使えるみたい。
コマンドによっては、ディレクトリを指定する必要がある。

8)レポート結果の表示

レポートの出力先にウェブページができているので、ダブルクリックでブラウザが表示してくれる

 

postmail.cgi ロリポップで、init.cgiに宛先複数設定でタイトル文字化け

メールのタイトルが文字化けして、スパム判定まで受けてしまっている。

様子

自宅サーバーから、ロリポップのサーバーへ移築したサイトで、メールフォームからのメールタイトルが文字化けしている。
メールフォームのプログラムは、こちら

https://www.kent-web.com/

サーバーを移築してから受信するメールのタイトルが文字化けして、しかもスパム判定まで受けている。
スパム判定しているのは、受信しているメールサーバー、コアサーバーV2 。

  • 文字コード確認
  • 最新版のcgiプログラム

確認のために、新たに設定したメールフォームでは正常に受信。しかし、本番の設定を施すと、文字化けしてしまう。
変わっているのは、「,」カンマでメールの宛先を複数指定していること。

解決策

cgiプログラムの、「init.cgi」での複数宛先をやめて、単独のメールアドレスにした。
受信させたい複数のメール宛先は、メールサーバの転送設定で設定するようにした。

 

メモ

ワードプレスなどのメールフォームのプラグインでは、送信前の確認画面がでなかったり、確認画面をだすために有料版になるものがある。
そんな中で、このフォームメールプログラムは、確認画面も出て使いやすい。以前にユーザー登録してから、ずっと使わせていただいている。ユーザー登録当時のメールアドレスから、こちらのメールアドレスは独自ドメインのものに変わってしまった。

この場ではありますが、良いメールフォームプログラムに感謝させていただきます。

コアサーバー v2002 で Nextcloud Hub 23.0.0 インストール

症状

v2001はそのままで、Nextcloud Hub 23.0.0 インストールできたが、v2002 では思うようにいかなかった。

  • コントロールパネルの「ウェブ」>「ツール」からのインストールでエラー表示が出る。
  • アクセスすると、画面は真っ白。
  • ファイルを確認すると、設定ファイルができていない。
  • エラーを知らせるメールが届くが、容量は?データベースは?見当違いに思える内容が届く。
    技術的なエラー:
    Error: A database query has failed. Is the entered database information correct? Does the account have available disk space?type = mysql
    host = localhost
    database = ***_nc2
    username = ***_nc2
    password = **HIDDEN**Technical information:
    method = query
    arguments = array ( 0 => ‘SELECT u.`uid` FROM `nc_users` u, `nc_group_user` g WHERE u.`uid`=g.`uid` AND g.`gid`=\’admin\’ LIMIT 1′, 1 => NULL, 2 => ‘uid’,)

    errstr =

    Technical Error: 1146 Table ‘***_nc2.nc_users’ doesn’t existSELECT u.`uid` FROM `nc_users` u, `nc_group_user` g WHERE u.`uid`=g.`uid` AND g.`gid`=’admin’ LIMIT 1

サポートに連絡した後に、phpのバージョン変更を試してみようと考えたところに、返事が来た。

解決策

phpのバージョンを変える。おまじないかもしれない設定もあり。いわれるとおりにしてみた。

結果

インストールできました。

2022.02.02 追記

2022年2月2日現在に、v2002 のサーバー申し込みができない状況になっている。
メンテも入っているようなので、上記のようなインストールできない&解決策は必要なくなっているかもしれません。

自分の契約しているサーバーに自分だけ接続できない時

自分のサーバーから、レンタルサーバーへ引っ越しした。
数日経って、サイトにもメールにもアクセスできない状態になってしまった。

プロバイダーの回答:
アクセス制限をすることはいっさいない。telnet を勧められた。Mac の端末から問い合わせたので、Mac 用に homebrew で利用する方法だったが、Android のアプリで探して、Android Fing というアプリを使った、
Fing > ネットワークのトラブル・・・>  Traceroute

タップするだけで、サーバーまでのIPアドレスのリレーを表示してくれた。最後のゴールを意味するフラッグがなぜか愛おしかった。
問題の接続できないサーバーもは、あるIPアドレスで止められていた。
問題のない接続では、あるIPアドレスの直後が目的のIPアドレス。
この情報を使って、サーバーのサポートに問い合わせた。

サーバー側の回答:
メールアカウントに繰り返し間違った情報でアクセスがあったので遮断するようになっていたとのこと。問い合わせと同時に制限を解除してくれていた。

当該のアカウントは iPhone に設定していたものだ。メインの送受信に使っていたアカウントではなかったので、iPhone ではエラーとか表示は一切なく、放置してしまった結果、サーバーのアクセス制限を誘発してしまった。

自分で自分の首を絞める、皮肉な経験だった。