এসএসএইচ: কীভাবে দুর্বল সাইফার অক্ষম করবেন?


47

আমার সংস্থার সুরক্ষা দল আমাদের দুর্বল সাইফারগুলি দুর্বল চাবি দেওয়ার কারণে তাদের অক্ষম করতে বলেছিল।

  arcfour
  arcfour128
  arcfour256

তবে আমি এই সিফারগুলি ssh_config এবং sshd_config ফাইলে অনুসন্ধান করার চেষ্টা করেছি তবে তাদের মন্তব্য পেয়েছি।

 grep arcfour *
ssh_config:#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc

এসআইএইচ থেকে এই সিফারগুলি অক্ষম করতে আমার আর কোথায় চেক করা উচিত?


এসএসএইচ সার্ভারের /etc/ssh/sshd_configজন্য এটি এসএসএইচ ক্লায়েন্টের মধ্যে থাকবে /etc/ssh/ssh_config। আপনি Cipherপ্রত্যেকটিতে লাইনটি সন্ধান করতে চান এবং উদাহরণস্বরূপ Cipher aes256-ctrসুনির্দিষ্টভাবে উল্লেখ করেছেন। তারপরে SSH পুনরায় আরম্ভ /etc/init.d/sshd restartকরুন সমতুল্য systemd কমান্ডের মাধ্যমে বা মাধ্যমে।
রন

1
আপনি sshd_configযদি সত্যই এসএসএইচ সুরক্ষার প্রতি যত্নশীল হন তবে আপনি সমস্ত পরামিতি সম্পর্কে জ্ঞানশীল হতে চান, অন্যথায় এটি সমস্ত সুরক্ষা থিয়েটার হতে পারে।
রজন

দ্বিতীয় বারের মন্তব্যটি একটি আগ্রহজনক মন্তব্য, আপনি কী চান তার একটি উদাহরণ দিয়ে চিত্রিত করতে পারেন?
জেরোম

ciphersতালিকা মাত্র এক সঠিকভাবে বাস্তবায়িত ... প্রোটোকল, PermitRootLogin, AuthorizedKeysFile, PermitEmptyPasswords, IgnoreRhosts, PermitTunnel, ইত্যাদি, SSH থাকার জন্য অনেক বাইরে সেটিং করা হয়। আপনার লিনাক্স ডিস্ট্রিবিউশন বাস্তবায়িত হিসেবে তাদের ডিফল্ট সেটিংস উপর নির্ভর করতে পারেন, কিন্তুIgnornance is bliss only up until you have a problem
Ron

উত্তর:


40

ssh_configআপনার Ciphersকীওয়ার্ডটি ব্যবহার করে সিফারগুলির কোনও সুস্পষ্ট তালিকা না থাকলে , man 5 ssh_config(ক্লায়েন্ট-সাইড) এবং man 5 sshd_config(সার্ভার-সাইড) অনুসারে ডিফল্ট মানটি হ'ল:

            aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,
            aes128-gcm@openssh.com,aes256-gcm@openssh.com,
            chacha20-poly1305@openssh.com,
            aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,
            aes256-cbc,arcfour

আরকফোর সাইফারগুলির উপস্থিতি নোট করুন। সুতরাং আপনাকে স্পষ্টভাবে এর জন্য আরও সীমাবদ্ধ মান সেট করতে হতে পারে Ciphers

ssh -Q cipherক্লায়েন্টের কাছ থেকে আপনাকে জানাবে যে আপনার ক্লায়েন্ট কোন স্কিমগুলি সমর্থন করতে পারে। নোট করুন যে এই তালিকাটি নির্দিষ্ট করা সাইফারগুলির তালিকা দ্বারা প্রভাবিত হবে না ssh_config। এ থেকে একটি সাইফার ssh_configসরিয়ে ফেলা এটি এর আউটপুট থেকে সরবে না ssh -Q cipher। তদ্ব্যতীত, ব্যবহার sshসঙ্গে -cবিকল্প স্পষ্টভাবে সাইফারগুলির যাতে আপনি সম্ভবত সেট সীমাবদ্ধ তালিকা ওভাররাইড করবে একটি সাইফার নির্দিষ্ট করার ssh_configএবং সম্ভবত আপনি একটি দুর্বল সাইফার ব্যবহারের অনুমতি দিচ্ছেন। এটি এমন একটি বৈশিষ্ট্য যা আপনাকে আপনার sshক্লায়েন্টকে অপ্রচলিত এসএসএইচ সার্ভারগুলির সাথে যোগাযোগ করার অনুমতি দেয় যা আরও শক্তিশালী সাইফার সমর্থন করে না।

nmap --script ssh2-enum-algos -sV -p <port> <host> আপনাকে বলবে যে আপনার সার্ভারটি কোন স্কিমগুলি সমর্থন করে।


হাই, আমি ssh_config এ সুনির্দিষ্ট সিফারগুলি উল্লেখ করেছি এবং পুনরায় আরম্ভ করেছি ssh পরিষেবাটি কিন্তু যখন আমি ssh -Q সিফার করলাম <হোস্টনেম> আমি এখনও সমস্ত সিফার পেয়ে যাচ্ছি যে আমার কনফিগারেশন নির্বিশেষে আমি আগে পেয়ে যাচ্ছি।
rʒɑdʒɑ

1
আমি দুঃখিত, ssh_configক্লায়েন্ট-সাইড কনফিগারেশন, সার্ভার-সাইড কনফিগারেশন sshd_config, দয়া করে এটি চেষ্টা করুন। (এটি সেখানেও বলা Ciphersহয়।)
উলিরিচ শোয়ার্জ

হ্যাঁ আমি জানি তবে আমি যখন সাইফারদের জন্য গ্রেপ করেছিলাম তখন সেগুলি ssh_config এ পেয়েছি তাই আমি সেখানে পরিবর্তন করেছি। প্রোডাকশন সার্ভার হিসাবে আমি কিছুই করছি না আমি নিশ্চিত নই
rdd

লক্ষ্য করুন যে ডিফল্ট বিতরণের মধ্যে পৃথক হতে পারে।
জোনাস শ্যাফার

মনে হচ্ছে ssh -Qপুরানো সংস্করণগুলিতে কোনও নেই । (যেমন সেন্টওএস 6 এর OpenSSH v5.3p1)
Tomofumi

30

আরসি 4 অক্ষম করতে এবং এসএসএইচ সার্ভারে সুরক্ষিত সিফারগুলি ব্যবহার করতে নিম্নলিখিতগুলিতে হার্ড-কোড করুন /etc/ssh/sshd_config

ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr

অথবা আপনি যদি সাইফারদের নির্দেশ না দেওয়া পছন্দ করেন তবে কেবল অনিরাপদ সাইফারগুলি সরিয়ে নিতে চান তবে পরিবর্তে (সুডো মোডে) কমান্ড লাইনে এটি চালান:

sshd -T | grep ciphers | sed -e "s/\(3des-cbc\|aes128-cbc\|aes192-cbc\|aes256-cbc\|arcfour\|arcfour128\|arcfour256\|blowfish-cbc\|cast128-cbc\|rijndael-cbc@lysator.liu.se\)\,\?//g" >> /etc/ssh/sshd_config

আপনি বর্তমানে আপনার সার্ভার দ্বারা ব্যবহৃত সিফারগুলি এটি সহ পরীক্ষা করতে পারেন:

sudo sshd -T | grep ciphers | perl -pe 's/,/\n/g' | sort -u

আপনার এসএসএল ক্লায়েন্ট এই সাইফারগুলি ব্যবহার করতে পারে তা নিশ্চিত করুন run

ssh -Q cipher | sort -u

তালিকা দেখতে।

আপনি আপনার এসএসএইচ ক্লায়েন্টকে কেবলমাত্র রিমোট সার্ভারের সাহায্যে সুরক্ষিত সাইফারদের আলোচনার জন্য নির্দেশ দিতে পারেন। /etc/ssh/ssh_configসেট ইন :

Host *
    ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr

সর্বোপরি স্নিপেট থেকে আসা এখানে
আপনার সার্ভারের সেটিংস পরীক্ষা করার জন্য আপনি ব্যবহার করতে পারেন SSH-নিরীক্ষা


20

একটি সিফার তালিকা স্পষ্টভাবে উল্লেখ করার সাথে সমস্যা হ'ল নতুন সাইফারগুলি বের হওয়ার সাথে সাথে আপনাকে অবশ্যই ম্যানুয়ালি যুক্ত করতে হবে। পরিবর্তে, কেবল 'সিফারগুলি' মুছে ফেলুন যা আপনি মুছে ফেলতে চান তার তালিকা তৈরি করুন (প্রতিটি স্বতন্ত্র সিফার নয়) একটি '-' অক্ষর দিয়ে। সুতরাং এই ক্ষেত্রে, সাইফারস লাইনটি পড়তে হবে:

Ciphers -arcfour*

বা আপনি যদি পছন্দ করেন:

Ciphers -arcfour,arcfour128,arcfour256

উপর sshd_config মানুষ পাতা থেকে সাইফারগুলির বিকল্প (OpenSSH- র 7.5 সাল থেকে 2017-03-20 মুক্তি):

যদি নির্দিষ্ট মানটি '+' অক্ষর দিয়ে শুরু হয়, তবে নির্দিষ্ট সিফারগুলি প্রতিস্থাপনের পরিবর্তে ডিফল্ট সেটটিতে যুক্ত করা হবে। যদি নির্দিষ্ট মানটি '-' অক্ষর দিয়ে শুরু হয়, তবে নির্দিষ্ট সাইফারগুলি (ওয়াইল্ডকার্ড সহ) প্রতিস্থাপনের পরিবর্তে ডিফল্ট সেট থেকে সরানো হবে।

এই ক্ষেত্রে প্রযোজ্য KexAlgorithms এবং Macs- এর অপশন।


2

সাইফারটিকে সক্ষম / নিষ্ক্রিয় করে ফাইল / etc / ssh / sshd_config এটিকে যুক্ত / অপসারণের প্রয়োজন এই ফাইলটি সম্পাদনার পরে পরিষেবাটি অবশ্যই পুনরায় লোড করা উচিত

systemctl reload sshd
/etc/init.d/sshd reload

তারপরে, ক্লায়েন্টের কাছ থেকে এই আদেশটি চালানো আপনাকে জানায় যে কোন স্কিমগুলি সমর্থন করে

ssh -Q cipher

আরকফোর সাইফারটি সার্ভারে সক্ষম আছে কিনা তা পরীক্ষা করতে এই কমান্ডটি চালান

ssh localhost -c arcfour

Arcfour128 সাইফারটি সার্ভারে সক্ষম আছে কি না তা পরীক্ষা করতে এই কমান্ডটি চালান

ssh localhost -c arcfour128

এই পদক্ষেপটি উপরের
উত্তরে

1

দুর্বল এসএসএস সাইফারকে কীভাবে অক্ষম করা যায়, ফেডোরা ২৯-তে পরীক্ষা করা 100% কাজ করা হয়েছে The তাই আমি সেই লাইনগুলি ভিতরে রেখেছি/etc/ssh/sshd_config

MACs hmac-sha2-512,hmac-sha2-256
Ciphers aes256-ctr,aes192-ctr,aes128-ctr
KexAlgorithms diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,curve25519-sha256,curve25519-sha256@libssh.org

এবং এটি! .. এটি এখনও সিবিসি সাইফার ব্যবহার করে কারণ এই আদেশটি কাজ করে :(

ssh -c aes256-cbc samba4

সুতরাং আমি দরকারী সিস্টেমড পরীক্ষা করে দেখি যে এসএসডি সার্ভিস সিফারগুলির জন্য অন্য একটি ফাইল ব্যবহার করছে

/etc/crypto-policies/back-ends/opensshserver.config

সুরক্ষার জন্য ফাইলটির ব্যাকআপ দিন

cp /etc/crypto-policies/back-ends/opensshserver.config     /etc/crypto-policies/back-ends/opensshserver.config.old

এটি সম্পাদনা করুন, এবং সিবিসি সাইফার সরান। পরিষেবাটি পুনরায় চালু করুন

systemctl restart sshd

এবং পরিশেষে পরীক্ষা, সূক্ষ্ম কাজ করে। Cbc অক্ষম।

ssh -c aes256-cbc samba4
Unable to negotiate with 192.168.0.48 port 22: no matching cipher found. Their offer: aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes128-gcm@openssh.com,aes128-ctr
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.