DDCLIENT'in SSL kullandığını nasıl doğrularım ve eğer değilse, onu nasıl zorlarım?


9

Ben takip ediyorum bu benim pi üzerinde VPN kurma hakkında rehber. Adımların bir kısmı dinamik bir dns hizmeti kurmak ve yapılandırmaktır. Birden çok platformda birkaç hesap oluşturdum. Hiçbir Ip ve dynamicdns adı iki değildir. Aşağıda benim ddclient.conf dosyasının bir çıktısı, her iki dinamik dns sitesinde iyi bağlanır.

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

Benim sorunum, bu makalede, pi'nizin SSL üzerinden bağlanıp bağlanmadığını nasıl doğrulayacaklarını göstermektedir. Koştuğumda

sudo ddclient -verbose -debug -noquiet -query 

her site için HTTP veya HTTPS veya SSL üzerinden bağlanmayı gösterir. SSL'nin çalıştırılarak yüklendiğini doğruladım

sudo apt-get install ssh libio-socket-ssl-perl

SSL üzerinden bağlanıp bağlanmadığı veya bunu nasıl zorlayabileceğim konusunda herhangi bir fikriniz var mı? Ben de bu makaleden geçtim . Ben ddclient varsa SSL kullanacağını belirtti, bunun ücretsiz bir dynamicdns sitesi kullanmak için bir sınır olup olmadığını veya bir şey gözden kaçırmak merak ettim. Makaleler, kullandığım siteler gibi ip ve dnsdinamik SSL desteği gibi görünüyor.


1
Anlıyorum sudo ddclient -debug -verbose -noquietdeğil sudo ddclient -verbose -debug -noquiet -query sahip olduğu kadar, ikinci linkte ...
George Udosen

@George bu benim hatam, -query eklemeyi özledim. Ancak, soruna tekrar yeni bir ruh hali ile bakmak ve tekrar soruna bakmamı istemek aslında çözmeme yardımcı oldu! Cevabı ekleyerek soruyu düzenleyeceksiniz.
Shaulinator

Yanıtlar:


4

Cevabı buldum ve daha önce çözemediğim için çok aptal hissediyorum.

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

Yukarıdakiler SSL'yi zorlayacak ve SSL üzerinden bağlanacaktır. Yaptığım iki değişiklik var.

Çizgi use=web, web=myip.dnsdynamic.comolmalı use=web, web=https://myip.dnsdynamic.org. Konumundan konumuna .comgeçmek .orgbağlantı hatalarını durdurur. Eklemehttps:// önce bağlantı dizesine SSL üzerinden bağlanmasına olanak sağlar.

Şovlardan çıktı 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

Şovlardan çıktı 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=yesZorlamanın neden HTTPS'yi otomatik olarak kullanmasına neden olmadığından hala emin değilim ama şimdi SSL üzerinden bağlanıyor ve @George tarafından görüldüğü gibi komut bunun doğrulanmasına yardımcı oluyor:sudo ddclient -verbose -debug -noquiet -query


1

Bu sadece "IP al" kısmıdır. Dinamik DNS sunucusundaki gerçek güncelleme çıktınızda gösterilmez. Yine de HTTP üzerinden yapılabilir.

root@ad26e03e9704:/bin# ddclient -daemon=0 -noquiet -debug -file /config/ddclient.conf
DEBUG:    get_ip: using cmd, /config/get_ip.sh reports 10.0.0.1
DEBUG:
DEBUG:     nic_dyndns2_update -------------------
DEBUG:    proxy  =
DEBUG:    url    = http://dyndns.strato.com/nic/update?system=dyndns&hostname=bla.mydomain.com&myip=10.0.0.1
DEBUG:    server = dyndns.strato.com
SUCCESS:  updating bla.mydomain.com: good: IP address set to 10.0.0.1

Https'yi sunucunun önüne koyarsam, şunu elde ederim:

DEBUG:    url    = http://https://dyndns.strato.com/nic/update?system=dyndns&hostname=bla.mydomain.com&myip=10.0.0.1

Gönderdikten sonra DDClient'imi çalıştıran Pi'mi kapattım. Bir örneği döndürmem ve hata ayıklamanın ne olduğunu görmek için bunu başka bir test yapmam gerekecek. Teşekkür ederim!
Shaulinator

0

Çıktı satırındaki URL'nin

DEBUG:    url    = http://(...)

ssl=yesbenim yapılandırmada olmasına rağmen HTTPS yerine HTTP ile başlar, neler olduğunu görmek için kaynak koduna bakmaya karar verdim . geturlSunucuya bağlantının başlatıldığı işlevde , http://parçanın zaten gerçek bağlantı türünü göstermemesi için URL'den çıkarıldığı ortaya çıkıyor. Ddclient'in SSL kullandığından emin olmak istiyorsanız, terminalden ddclient'i

sudo ddclient -verbose -force

ve hatları ara

CONNECTED:  using HTTP

veya

CONNECTED:  using SSL

İkinci durumda, ddclient gerçekten SSL kullanıyor ve gitmeye hazırsınız. Bu ssl=yesayarın, ddclient'in genel IP adresinizin değişip değişmediğini (tarafından yapılandırılmış olan use=...) kontrol etmek için kullandığı ilk IP araması için geçerli olmadığını ve böylece ilk bağlantı için hala göreceğinizi unutmayın.CONNECTED: using HTTPaçıkça bir HTTPS adresi ayarlamadığınız sürece @Shaulinator tarafından belirtildiği gibi. Ancak, bu istek tarafından döndürülen IP adresi muhtemelen yalnızca sunucu tarafında gereksiz çabalardan kaçınmak için kullanıldığından, bu bir güvenlik sorunu olmamalıdır; ddclient SSL bağlantısını başlattığında sunucu IP adresinizi önemsiz bir şekilde bildiğinden, gerçek bir güncelleme isteğinde sunucuya gönderilmez. Bunu sadece freedns protokolü için açıkça kontrol ettim, ancak diğer protokoller için farklı olsaydı şaşırırdım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.