ssh_scan - আপনার এসএসএইচ সার্ভার কনফিগারেশন এবং লিনাক্সে নীতি যাচাই করে


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

এর নিম্নলিখিত কয়েকটি সুবিধা রয়েছে:

  • এটির ন্যূনতম নির্ভরতা রয়েছে, ssh_scan এর কাজটি করার জন্য কেবল নেটিভ রুবি এবং বিনডাটা নিয়োগ করে heavy
  • এটি পোর্টেবল, আপনি অন্য প্রকল্পে বা কার্যগুলির অটোমেশনের জন্য ssh_scan ব্যবহার করতে পারেন
  • এটি ব্যবহার করা সহজ, কেবল এসএসএইচ পরিষেবাতে এটি নির্দেশ করুন এবং এটি কী সমর্থন করে এবং এটির নীতির স্থিতির JSON রিপোর্ট পান
  • এটি কনফিগারযোগ্যও, আপনি নিজের কাস্টম নীতিগুলি তৈরি করতে পারেন যা আপনার নির্দিষ্ট নীতি প্রয়োজনীয়তার সাথে খাপ খায়

কীভাবে লিনাক্সে ssh_scan ইনস্টল করবেন

আপনি ssh_scan ইনস্টল করতে পারেন এমন তিনটি উপায় রয়েছে এবং সেগুলি হ'ল:

রত্ন হিসাবে ইনস্টল এবং চালানোর জন্য, টাইপ করুন:

----------- On Debian/Ubuntu ----------- 
$ sudo apt-get install ruby gem
$ sudo gem install ssh_scan

----------- On CentOS/RHEL ----------- 
# yum install ruby rubygem
# gem install ssh_scan

ডকার পাত্রে চালনা করতে টাইপ করুন:

# docker pull mozilla/ssh_scan
# docker run -it mozilla/ssh_scan /app/bin/ssh_scan -t github.com

উত্স থেকে ইনস্টল এবং চালানোর জন্য, টাইপ করুন:

# git clone https://github.com/mozilla/ssh_scan.git
# cd ssh_scan
# gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
# curl -sSL https://get.rvm.io | bash -s stable
# rvm install 2.3.1
# rvm use 2.3.1
# gem install bundler
# bundle install
# ./bin/ssh_scan

লিনাক্সে কীভাবে ssh_scan ব্যবহার করবেন

Ssh_scan ব্যবহারের বাক্য গঠনটি নিম্নরূপ:

$ ssh_scan -t ip-address
$ ssh_scan -t server-hostname

উদাহরণস্বরূপ, এসএসএইচ কনফিগারেশন এবং সার্ভারের নীতি স্ক্যান করতে 92.168.43.198, প্রবেশ করুন:

$ ssh_scan -t 192.168.43.198

নোট করুন নীচের বিকল্পগুলির মতো আপনি -t বিকল্পে একটি [আইপি/রেঞ্জ/হোস্টনাম ]ও পাস করতে পারেন:

$ ssh_scan -t 192.168.43.198,200,205
$ ssh_scan -t test.tecmint.lan
I, [2017-05-09T10:36:17.913644 #7145]  INFO -- : You're using the latest version of ssh_scan 0.0.19
[
  {
    "ssh_scan_version": "0.0.19",
    "ip": "192.168.43.198",
    "port": 22,
    "server_banner": "SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.1",
    "ssh_version": 2.0,
    "os": "ubuntu",
    "os_cpe": "o:canonical:ubuntu:16.04",
    "ssh_lib": "openssh",
    "ssh_lib_cpe": "a:openssh:openssh:7.2p2",
    "cookie": "68b17bcca652eeaf153ed18877770a38",
    "key_algorithms": [
      "[email ",
      "ecdh-sha2-nistp256",
      "ecdh-sha2-nistp384",
      "ecdh-sha2-nistp521",
      "diffie-hellman-group-exchange-sha256",
      "diffie-hellman-group14-sha1"
    ],
    "server_host_key_algorithms": [
      "ssh-rsa",
      "rsa-sha2-512",
      "rsa-sha2-256",
      "ecdsa-sha2-nistp256",
      "ssh-ed25519"
    ],
    "encryption_algorithms_client_to_server": [
      "[email ",
      "aes128-ctr",
      "aes192-ctr",
      "aes256-ctr",
      "[email ",
      "[email "
    ],
    "encryption_algorithms_server_to_client": [
      "[email ",
      "aes128-ctr",
      "aes192-ctr",
      "aes256-ctr",
      "[email ",
      "[email "
    ],
    "mac_algorithms_client_to_server": [
      "[email ",
      "[email ",
      "[email ",
      "[email ",
      "[email ",
      "[email ",
      "[email ",
      "hmac-sha2-256",
      "hmac-sha2-512",
      "hmac-sha1"
    ],
    "mac_algorithms_server_to_client": [
      "[email ",
      "[email ",
      "[email ",
      "[email ",
      "[email ",
      "[email ",
      "[email ",
      "hmac-sha2-256",
      "hmac-sha2-512",
      "hmac-sha1"
    ],
    "compression_algorithms_client_to_server": [
      "none",
      "[email "
    ],
    "compression_algorithms_server_to_client": [
      "none",
      "[email "
    ],
    "languages_client_to_server": [

    ],
    "languages_server_to_client": [

    ],
    "hostname": "tecmint",
    "auth_methods": [
      "publickey",
      "password"
    ],
    "fingerprints": {
      "rsa": {
        "known_bad": "false",
        "md5": "0e:d0:d7:11:f0:9b:f8:33:9c:ab:26:77:e5:66:9e:f4",
        "sha1": "fc:8d:d5:a1:bf:52:48:a6:7e:f9:a6:2f:af:ca:e2:f0:3a:9a:b7:fa",
        "sha256": "ff:00:b4:a4:40:05:19:27:7c:33:aa:db:a6:96:32:88:8e:bf:05:a1:81:c0:a4:a8:16:01:01:0b:20:37:81:11"
      }
    },
    "start_time": "2017-05-09 10:36:17 +0300",
    "end_time": "2017-05-09 10:36:18 +0300",
    "scan_duration_seconds": 0.221573169,
    "duplicate_host_key_ips": [

    ],
    "compliance": {
      "policy": "Mozilla Modern",
      "compliant": false,
      "recommendations": [
        "Remove these Key Exchange Algos: diffie-hellman-group14-sha1",
        "Remove these MAC Algos: [email , [email , [email , hmac-sha1",
        "Remove these Authentication Methods: password"
      ],
      "references": [
        "https://wiki.mozilla.org/Security/Guidelines/OpenSSH"
      ]
    }
  }
]

আপনি পৃথক পোর্ট নির্দিষ্ট করতে -p ব্যবহার করতে পারেন, লগার সক্ষম করতে -L এবং -V নীচের মত বর্ণিত ভার্বোটিটির স্তরটি নির্ধারণ করতে পারেন:

$ ssh_scan -t 192.168.43.198 -p 22222 -L ssh-scan.log -V INFO

অতিরিক্তভাবে, -P বা - পোলিশ [ফাইলটি] এর মতো একটি কাস্টম নীতি ফাইল (ডিফল্ট মোজিলা আধুনিক) ব্যবহার করুন:

$ ssh_scan -t 192.168.43.198 -L ssh-scan.log -V INFO -P /path/to/custom/policy/file

সমস্ত ssh_scan ব্যবহার বিকল্প এবং আরও উদাহরণ দেখতে এটি টাইপ করুন:

$ ssh_scan -h
ssh_scan v0.0.17 (https://github.com/mozilla/ssh_scan)

Usage: ssh_scan [options]
    -t, --target [IP/Range/Hostname] IP/Ranges/Hostname to scan
    -f, --file [FilePath]            File Path of the file containing IP/Range/Hostnames to scan
    -T, --timeout [seconds]          Timeout per connect after which ssh_scan gives up on the host
    -L, --logger [Log File Path]     Enable logger
    -O, --from_json [FilePath]       File to read JSON output from
    -o, --output [FilePath]          File to write JSON output to
    -p, --port [PORT]                Port (Default: 22)
    -P, --policy [FILE]              Custom policy file (Default: Mozilla Modern)
        --threads [NUMBER]           Number of worker threads (Default: 5)
        --fingerprint-db [FILE]      File location of fingerprint database (Default: ./fingerprints.db)
        --suppress-update-status     Do not check for updates
    -u, --unit-test [FILE]           Throw appropriate exit codes based on compliance status
    -V [STD_LOGGING_LEVEL],
        --verbosity
    -v, --version                    Display just version info
    -h, --help                       Show this message

Examples:

  ssh_scan -t 192.168.1.1
  ssh_scan -t server.example.com
  ssh_scan -t ::1
  ssh_scan -t ::1 -T 5
  ssh_scan -f hosts.txt
  ssh_scan -o output.json
  ssh_scan -O output.json -o rescan_output.json
  ssh_scan -t 192.168.1.1 -p 22222
  ssh_scan -t 192.168.1.1 -p 22222 -L output.log -V INFO
  ssh_scan -t 192.168.1.1 -P custom_policy.yml
  ssh_scan -t 192.168.1.1 --unit-test -P custom_policy.yml

এসএসএইচ সার্ভারে কিছু দরকারী আর্টিলিস পরীক্ষা করে দেখুন:

  1. এসএসএইচ পাসওয়ার্ডবিহীন লগইন 5 সহজ ধাপে এসএসএইচ কীজেন ব্যবহার করে
  2. এসএসএইচ সার্ভার সুরক্ষিত করার জন্য সেরা 5 টি অনুশীলন
  3. এসএইচএইচ ব্যবহারকারীর ক্রুটেড জেল ব্যবহার করে নির্দিষ্ট ডিরেক্টরিতে সীমাবদ্ধ করুন
  4. রিমোট অ্যাক্সেস সরল করতে কাস্টম এসএসএইচ সংযোগগুলি কীভাবে কনফিগার করবেন

আরও তথ্যের জন্য ssh_scan Github সংগ্রহস্থলটি দেখুন: https://github.com/mozilla/ssh_scan

এই নিবন্ধে, আমরা আপনাকে লিনাক্সে ssh_scan কীভাবে সেট আপ এবং ব্যবহার করতে পারি তা দেখিয়েছি। আপনি কি এই জাতীয় কোনও সরঞ্জাম জানেন? এই গাইড সম্পর্কে অন্য কোনও চিন্তাভাবনা সহ, নীচের প্রতিক্রিয়া ফর্মের মাধ্যমে আমাদের জানতে দিন।