একটি এনটিএলএম প্রক্সি এর পিছনে ক্লায়েন্ট থেকে একটি এসএসএইচ সার্ভারের সাথে সংযোগ স্থাপন


8

আমি কর্পোরেট নেটওয়ার্ক থেকে ইন্টারনেটে আমার এসএসএইচ সার্ভারে যাওয়ার চেষ্টা করছি। বাইরের ইন্টারনেটের সমস্ত সংযোগগুলি এমন একটি সার্ভারের মাধ্যমে প্রক্সি করতে হবে যা প্রতিটি অনুরোধে প্রতিটি ক্লায়েন্টের এনটিএলএম হ্যাশ পরীক্ষা করে। আমি তার জন্য সিএনটিএলএম ব্যবহার করছি এবং এটি কেবলমাত্র অর্ধেক কাজ করছে। এটি HTTP ভিত্তিক সংযোগগুলির জন্য দুর্দান্ত কাজ করছে তবে এটি এসএসএইচ স্টাইল সংযোগের জন্য কাজ করছে না। আমি এই জানি, কারণ আমি তাতে সংযুক্ত হতে পারে সর্বোচ্চ টেক্সট 'র প্যাকেজ কন্ট্রোল প্লাগইন পেতে এবং প্লাগিন আপডেট করার জন্য। আমি তবে এটি সিএনটিএলএম টানেলের কনফিগারেশন ব্যবহার করে আমার সার্ভারে এসএসএইচে ব্যবহার করতে পারি না।

সেন্টলমের লগগুলি সন্ধান করে আমি নিম্নলিখিতগুলি দেখতে পাচ্ছি ...

cntlm: PID 1460: 127.0.0.1 TUNNEL ts.io:443
Tunneling to ts.io:443 for client 6...
Starting authentication...
NTLM Request:
       Domain: domain.tld
     Hostname: D-HOSTNAME
        Flags: 0xA208B205

এনটিএলএম হ্যান্ডশেক (প্রকার 1)

Sending PROXY auth request...
Proxy-Connection               => keep-alive
Proxy-Authorization            => NTLM [REDACTED]
Content-Length                 => 0

প্রক্সি লেখকের প্রতিক্রিয়া পড়া হচ্ছে ...

HEAD: HTTP/1.1 407 Proxy Authentication Required ( Access is denied.  )
Via                            => 1.1 FOLLICLE
Proxy-Authenticate             => NTLM [REDACTED]
Connection                     => Keep-Alive
Proxy-Connection               => Keep-Alive
Pragma                         => no-cache
Cache-Control                  => no-cache
Content-Type                   => text/html
Content-Length                 => 0
NTLM Challenge:
    Challenge: 4AC9211DC2875FFF (len: 178)
        Flags: 0xA2898205
    NT domain: NTDOMAIN
       Server: PROXY
       Domain: domain.tld
         FQDN: proxy.domain.tld
          TLD: domain.tld
        TBofs: 64
        TBlen: 114
        ttype: 0
NTLMv2:
        Nonce: CB4E6617ABF19C24
    Timestamp: -1581153408
NTLM Response:
     Hostname: 'D-HOSTNAME'
       Domain: 'domain.tld'
     Username: 'username'
     Response: '[REDACTED]' (162)
     Response: '[REDACTED]' (24)
Sending real request:
Proxy-Connection               => keep-alive
Proxy-Authorization            => NTLM [REDACTED]

এবং অবশেষে আমি এটি পেয়েছি ...

Reading real response:
HEAD: HTTP/1.1 200 Connection established
Via                            => 1.1 PROXY
Connection                     => Keep-Alive
Proxy-Connection               => Keep-Alive
Ok CONNECT response. Tunneling...
tunnel: select cli: 6, srv: 7
Joining thread 537272664; rc: 0

যেহেতু ফায়ারওয়াল কেবল পোর্ট 80 এবং পোর্ট 443 থেকে প্রক্সি সার্ভারের মাধ্যমে বাইরের ইন্টারনেটের সাথে সংযোগের অনুমতি দেয়, তাই আমি আমার এসএসএইচ সার্ভারকে 443 বন্দর থেকে সংযোগ গ্রহণ করতে পুনরায় কনফিগার করেছি।

আমি যে সমস্যাটি দেখছি তা হ'ল একবার আমি এসএসএফ সংযোগটি চেষ্টা করে এসএফটিপি প্লাগইন ব্যবহার করার সময় সাব্লাইম পাঠ্য থেকে সংযোগের সময়সীমা হিসাবে সংযোগের প্রতিবেদনগুলি । পুটটি ব্যবহার করা তাত্ক্ষণিকভাবে ফলাফল দেয় PuTTY Fatal Error: Server unexpectedly closed network connection। গুগল ক্রোম এক্সটেনশন সুরক্ষিত শেল আমাকে এর আরও বিশদ ত্রুটি দেয়ssh_exchange_identification: Connection closed by remote host NaCl plugin exited with status code 255.


Cntlm কনফিগারেশন

# The username of the client you wish to masquerade as.
#
Username    username

# The domain name of the network you are connected too.
# 
Domain      domain.tld

# The Password, LM, NTLM, or NTLMv2 Password.
# You should leave this blank and then start cntlm
# with the -M arg to get the hash information, then
# place that information here.
#
PassNTLMv2  [REDACTED]

# Specify the netbios hostname cntlm will send to the parent
# proxies. Normally the value is auto-guessed.
#
Workstation D-HOSTNAME

# List of parent proxies to use. More proxies can be defined
# one per line in format <proxy_ip>:<proxy_port>
#
Proxy       PROXY:8080

# Specify the port cntlm will listen on
# You can bind cntlm to specific interface by specifying
# the appropriate IP address also in format <local_ip>:<local_port>
# Cntlm listens on 127.0.0.1:3128 by default
#
Listen      3128

# Use -M first to detect the best NTLM settings for your proxy.
# Default is to use the only secure hash, NTLMv2, but it is not
# as available as the older stuff.
#
# This example is the most universal setup known to man, but it
# uses the weakest hash ever. I won't have it's usage on my
# conscience. :) Really, try -M first.
#
Auth        NTLMv2

# Tunnels mapping local port to a machine behind the proxy.
# The format is <local_port>:<remote_host>:<remote_port>
# 
Tunnel      1443:ts.io:443

এটি কনফিগারেশন বিভাগ যা আমি সিএনটিএলএমের মধ্যে টানেলের জন্য ব্যবহার করছি।

পুটি কনফিগারেশন

IP:PORT     localhost:1443

এটি আমি পুটি সংযোগের জন্য ব্যবহার করছি।

মহামান্য পাঠ

"http_proxy": "http://localhost:3128",

কোন ধারণা আমি এটি ঠিক করতে কি করতে পারি? আমি আমার সার্ভারে এসএসএইচ করতে চাই, কেবলমাত্র সেন্টলমের টানেলিং বৈশিষ্ট্যটি ব্যবহার করে এটি করার একটি উপায় থাকতে হবে, আমি জানি না আমি কী ভুল করছি।

আমি আপনাকে বলতে পারি যে আমি কর্পোরেট নেটওয়ার্কের বাইরে থেকে 443 পোর্ট ব্যবহার করে আমার এসএসএইচ সার্ভারের সাথে সংযোগ করতে পারি।

উত্তর:


1

পুট্টির সাথে সিএনটিএলএম এর মাধ্যমে এসএসএইচ সার্ভারের সাথে সংযোগ দেওয়ার চেষ্টা করার সময় আমি 407 টি প্রতিক্রিয়া পাচ্ছিলাম। ফোরফ্রন্ট টিএমজি প্রক্সিটি পুটিটিই থেকে ডিএনএস লকআপগুলিতে আপত্তি করছিল যা নিজে এসএসএইচ ট্র্যাফিক ছিল না। আপনি বন্ধ করতে প্রক্সি শেষে ডু DNS নাম লুক-প্রক্সি পুটিং কনফিগারেশন পাতা। কোন সেটিং কাজ, অটো বা হ্যাঁ 407 প্রতিক্রিয়ায় হবে।


0

লগগুলি পড়ার পরিবর্তে, আপনি -v বিকল্পের সাহায্যে সিএনটিএলএম কল করতে পারেন, এটি এটিকে অগ্রভাগে রাখে এবং টার্মিনালে এটি নির্ধারিত হওয়ার মুহুর্তে নির্ণয়ের আউটপুট নির্গত করে।

আপনার প্রমাণীকরণ এবং আপনার টানেল সেটআপ উভয়ই সঠিকভাবে কাজ করতে দেখা যাচ্ছে। সুতরাং আপনার সংযোগ কেন কাজ করে না সে সম্পর্কে আমার কোনও ব্যাখ্যা নেই (সম্ভবত 'লোকালহোস্ট' 127.0.0.1 এ সঠিকভাবে সমাধান করা হয়নি)।

আমি কেবল এসএসএইচ ফরওয়ার্ডিং পরীক্ষা করেছি (সাধারণ ক্ষেত্রে যে কোনও ব্যবহারকারীর প্রমাণীকরণের প্রয়োজন নেই) - কমান্ড জারি করার পরে আমি এখানে আপনার তুলনা করার জন্য পেয়েছিলাম

nt cntlm -L 443: রিমোটহাস্ট: 22 -ভি

section: global, Username = ...
section: global, Domain = ...
section: global, PassNTLMv2 = ...
section: global, Proxy = '139.23.33.27:81'
section: global, NoProxy = 'localhost, 127.0.0.*, 10.*, 192.168.*'
Default config file opened successfully
Adding no-proxy for: 'localhost'
Adding no-proxy for: '127.0.0.*'
Adding no-proxy for: '10.*'
Adding no-proxy for: '192.168.*'
cntlm: Workstation name used: mchn256c
cntlm: Using following NTLM hashes: NTLMv2(1) NT(0) LM(0)
cntlm[27413]: Cntlm ready, staying in the foreground

(ভিন্ন টার্মিনালে 'ssh -p 443 লোকালহোস্ট' জারি করার ক্ষেত্রে):

   NO: remotehost (localhost)
   NO: remotehost (127.0.0.*)
   NO: remotehost (10.*)
   NO: remotehost (192.168.*)
cntlm[27413]: Using proxy 139.23.33.27:81
cntlm[27413]: Resolving proxy 139.23.33.27...
Resolve 139.23.33.27:
  -> 139.23.33.27
cntlm[27413]: 127.0.0.1 TUNNEL remotehost:22
Tunneling to remotehost:22 for client 6...
Starting authentication...
NTLM Request:
           Domain: ...
         Hostname: ...
            Flags: 0xA208B205

Sending PROXY auth request...
Proxy-Connection               => keep-alive
Proxy-Authorization            => NTLM ...
Content-Length                 => 0

Reading PROXY auth response...
HEAD: HTTP/1.1 200 Connection established
Via                            => 1.1 MCHP941X
Connection                     => Keep-Alive
Proxy-Connection               => Keep-Alive
Ok CONNECT response. Tunneling...
tunnel: select cli: 6, srv: 7

আমি এগুলি একটি শট দেব, একবার আমি তাদের প্রক্সি পিছনে ফিরে আসি। কয়েক দিন (সোমবার) হওয়া উচিত।
মার্ক টমলিন

দুর্ভাগ্যক্রমে এর কোনও প্রভাব ছিল না। এটি আমাকে আমার আগের মতো একই তথ্য দিয়েছে তবে লগ ফাইলগুলিতে ... যেমন, আমি এই পতাকাটি ব্যবহার করে বাইরের সার্ভারের সাথে সংযোগ করতে পারিনি।
মার্ক টমলিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.