web-dev-qa-db-ja.com

DDCLIENTがSSLを使用していることを確認する方法と、使用していない場合、強制するにはどうすればよいですか?

私は this piでVPNを設定するためのガイドに従っています。手順の一部は、動的DNSサービスを設定および構成することです。複数のプラットフォームにわたって複数のアカウントを作成しました。 Ipとdynamicdnは2つありません。以下は私のddclient.confファイルの出力で、両方のダイナミックDNSサイトで正常に接続します。

daemon=60                               # check every 60 seconds
syslog=yes                              # log update msgs to syslog
mail=root                               # mail all msgs to root
mail-failure=root                       # mail failed update msgs to root
pid=/var/run/ddclient.pid               # record PID in file.
ssl=yes                                 # use ssl-support.  Works with
                                        # ssl-library
use=web, web=myip.dnsdynamic.com        # get ip from server.
server=www.dnsdynamic.org               # default server
login=YOURUSERNAME                      # default login
password=YOURPASSWORD                       # default password
server=www.dnsdynamic.org,              \
protocol=dyndns2                        \
MYDOMAIN.dnsdynamic.COM

私の問題は、 this の記事で、piがSSL経由で接続しているかどうかを確認する方法を示していることです。走るとき

Sudo ddclient -verbose -debug -noquiet -query 

各サイトのHTTP対HTTPSまたはSSL経由の接続を示しています。実行してsslがインストールされたことを確認しました

Sudo apt-get install ssh libio-socket-ssl-Perl

Ssl経由で接続している場合、または強制的に接続する方法についてのアイデアはありますか? this の記事も通り抜けました。 ddclientが利用可能であればSSLを使用すると述べているのを見ましたが、これが無料のdynamicdnsサイトの使用の制限なのか、それとも何かを見落としているのか疑問に思っています。記事では、no ipやdnsdynamicのような私が使用しているサイトがSSLをサポートしているように見えました。

9
Shaulinator

私は答えを見つけました、そして、私は非常にばかげていると感じます。

daemon=60                               # check every 60 seconds
syslog=yes                              # log update msgs to syslog
mail=root                               # mail all msgs to root
mail-failure=root                       # mail failed update msgs to root
pid=/var/run/ddclient.pid               # record PID in file.
ssl=yes                                 # use ssl-support.  Works with
                                        # ssl-library
use=web, web=https://myip.dnsdynamic.org        # get ip from server.
server=www.dnsdynamic.org               # default server
login=USERNAME                          # default login
password=PASSWORD                       # default password
server=www.dnsdynamic.org,              \
protocol=dyndns2                        \
YOUR DOMAIN GOES HERE

上記はSSLを強制し、SSL経由で接続します。私が行った変更は2つあります。

use=web, web=myip.dnsdynamic.comuse=web, web=https://myip.dnsdynamic.orgでなければなりません。 .comから.orgに変更すると、接続エラーが停止します。接続文字列の前にhttps://を追加すると、SSL経由で接続できます。

use=web, web=myip.dnsdynamic.orgからの出力は以下を示します。

use=web, web=loopia address is IPADDRESSISHERE
CONNECT:  myip.dnsdynamic.org
CONNECTED:  using HTTP
SENDING:  GET / HTTP/1.0
SENDING:   Host: myip.dnsdynamic.org
SENDING:   User-Agent: ddclient/3.8.2
SENDING:   Connection: close

use=web, web=https://myip.dnsdynamic.orgからの出力は以下を示します。

use=web, web=loopia address is IPADDRESSISHERE
CONNECT:  myip.dnsdynamic.org

The verification of cert '/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA/CN=www.dnsdynamic.org'
failed against the Host 'myip.dnsdynamic.org' with the default verification scheme.

   THIS MIGHT BE A MAN-IN-THE-MIDDLE ATTACK !!!!

To stop this warning you might need to set SSL_verifycn_name to
the name of the Host you expect in the certificate.

CONNECTED:  using SSL
SENDING:  GET / HTTP/1.0
SENDING:   Host: myip.dnsdynamic.org
SENDING:   User-Agent: ddclient/3.8.2
SENDING:   Connection: close

ssl=yesを強制してもHTTPSが自動的に使用されないのはなぜかわかりませんが、現在SSL経由で接続しており、@ Georgeに表示されるコマンドはSudo ddclient -verbose -debug -noquiet -query

4
Shaulinator