এসএসএইচ / এসএসএইচডি - আমি সর্বোচ্চ লগইন প্রচেষ্টা কীভাবে সেট করব?


17

এলএএমপি পরিবেশে সর্বাধিক লগইন প্রচেষ্টা সেটআপ করার সহজতম উপায়টি কী (ইউএস এর মাধ্যমে এসএসএসডি ইনস্টল করা)? কোন প্যাকেজ বা সাধারণ ফায়ারওয়াল নিয়ম আছে?



@ হিপ্পি ধন্যবাদ, আমি অনুসন্ধানের চেষ্টা করেছি তবে দুর্ভাগ্যক্রমে অনেকগুলি নামকরণ করা প্রশ্ন / থ্রেড রয়েছে।
জন হিমেলম্যান

উত্তর:


11

আমি Fail2ban ব্যবহার করি ; আমি অতীতে ড্যানিহোস্টগুলি ব্যবহার করেছি এবং এটিও বেশ কার্যকরভাবে কাজ করে। আমি এখন Fail2ban এর পক্ষে আছি কারণ এটি আরও কনফিগারযোগ্য এবং একাধিক বিভিন্ন পরিষেবা নিরীক্ষণ পরিচালনা করতে আরও সক্ষম - উদাহরণস্বরূপ, আপনার এসএসডিডি এবং আপনি ওয়েব অ্যাপ্লিকেশনটির লগইন পৃষ্ঠা একই সাথে (আপনি যদি লগ ব্যর্থতা সরবরাহ করেন)।

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


আমার যোগ করা উচিত যে Fail2ban অনেকগুলি ডিস্ট্রো'র সংগ্রহস্থলগুলিতে উপলব্ধ, সুতরাং এটি ইনস্টল করা একটি হাওয়া; আমি কোনটিতেই ডিনিহোস্টগুলি দেখিনি, তবে এর অর্থ এই নয় যে এটি কারও মধ্যে নেই, বা শেষ বার যাচাই করার পরে এটি যুক্ত করা হয়নি।
ক্রোমি

আমি v6.8.14 এর ব্যর্থ 2ban iptables- মাল্টিপোর্ট কমান্ড দিয়ে সঠিকভাবে কাজ না করে এমন সমস্যার মুখোমুখি হয়েছি। এবং এটি ব্যর্থ2ban ইউটিলিটির সাথে তাজা সংস্করণগুলিতে সমাধান হওয়া সমস্যা হিসাবে জানা যায় ... এখানে বর্ণনা রয়েছে: github.com/fail2ban/fail2ban/issues/798 সুতরাং আমি কেবল সার্ভার সফ্টওয়্যার, বা তৃতীয় পক্ষের ইউটিলিটিগুলিতে বিকাশিত সুরক্ষা ব্যবস্থায় বিশ্বাস করি ...
জর্জ গল

44

আমি কোনও তৃতীয় পক্ষের সরঞ্জাম ব্যবহার করতে পছন্দ করি না। তাই আমি এসএসএস কনফিগারেশন এবং ফায়ারওয়াল সেটিংসের সংমিশ্রণটি ব্যবহার করেছি। নিম্নলিখিত সমাধানের মাধ্যমে একজন আক্রমণকারীকে 2 মিনিটের মধ্যে ঠিক 3 টি ফল্ট লগইন তৈরি করার অনুমতি দেওয়া হয়, বা তাকে 120 সেকেন্ডের জন্য অবরুদ্ধ করা হবে।

1) নিম্নলিখিত লাইন যোগ করুন /etc/ssh/sshd_config

MaxAuthTries 1

এটি প্রতি সংযোগের জন্য কেবলমাত্র 1 টি লগইন প্রচেষ্টা অনুমোদন করবে। Ssh সার্ভারটি পুনরায় চালু করুন।

2) নিম্নলিখিত ফায়ারওয়াল বিধি যুক্ত করুন

একটি নতুন চেইন তৈরি করুন

iptables -N SSHATTACK
iptables -A SSHATTACK -j LOG --log-prefix "Possible SSH attack! " --log-level 7
iptables -A SSHATTACK -j DROP

120 সেকেন্ডের জন্য প্রতিটি আইপি ঠিকানা অবরোধ করুন যা 120 সেকেন্ডের মধ্যে তিনটির বেশি সংযোগ স্থাপন করে। চতুর্থ সংযোগের প্রয়াসের ক্ষেত্রে, অনুরোধটি SSHATTACKশৃঙ্খলে প্রেরণ করা হবে , যা সম্ভাব্য এসএস আক্রমণে লগ করার জন্য দায়ী এবং অবশেষে অনুরোধটি বাতিল করে দেয়।

iptables -A INPUT -i eth0 -p tcp -m state --dport 22 --state NEW -m recent --set
iptables -A INPUT -i eth0 -p tcp -m state --dport 22 --state NEW -m recent --update --seconds 120 --hitcount 4 -j SSHATTACK

3) সম্ভাব্য ssh আক্রমণ লগ এন্ট্রি দেখুন /var/log/syslog

Dec 27 18:01:58 ubuntu kernel: [  510.007570] Possible SSH attack! IN=eth0 OUT= MAC=01:2c:18:47:43:2d:10:c0:31:4d:11:ac:f8:01 SRC=192.168.203.129 DST=192.168.203.128 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=30948 DF PROTO=TCP SPT=53272 DPT=1785 WINDOW=14600 RES=0x00 SYN URGP=0

2
অসাধারণ! তবে আমার একটি সমস্যা আছে, ফ্রান্সের কিছু লোক / বট তার হ্যাকার সরঞ্জামগুলি সঠিকভাবে কনফিগার করেনি, তাই তার ট্র্যাফিকটি নামিয়ে দেওয়া সত্ত্বেও তিনি লগ ইন করতে থাকেন। ফলস্বরূপ, আমার লগগুলি এই লোকটির কাছ থেকে প্রতি সেকেন্ডে ডেটা পূর্ণ হয়। কোন উপায় এই কাছাকাছি?
স্মার্টটিস 89

2
আমার মতো স্বল্প অভিজ্ঞদের জন্য: iptables লাইনগুলি ব্যাশ প্রম্পটে টাইপ করা হয়, কোথাও কোনও ফাইলের মধ্যে প্রবেশ করা হয় না।
অ্যান্ড্রু সুইফট

4

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

সিএসএফ

দুটি কনফিগারেশন পরিবর্তন আমি পরামর্শ দিচ্ছি ফাইলটিতে করা হবে: / etc / ssh / sshd_config

Ssh সার্ভার একই সময়ে পরিচালনা করবে এমন অপ্রচলিত সংযোগের সর্বাধিক সংখ্যাকে সীমাবদ্ধ করুন। এটি যত কম ছোট, স্ক্রিপ্ট কিডির পক্ষে একাধিক সংযোগের সাথে সমান্তরাল, সমন্বিত ক্র্যাকিংয়ের প্রচেষ্টা করা শক্ত। sshd_config সম্পাদনা করুন এবং ম্যাক্সস্টার্টআপগুলি "10" এর ডিফল্ট থেকে "3:50:10" তে পরিবর্তন করুন। কোলন দ্বারা বিচ্ছিন্ন মানগুলি ssh সার্ভারকে বলে, "3 ব্যবহারকারী একই সাথে লগ ইন করার চেষ্টা করতে এবং এলোমেলোভাবে এবং ক্রমবর্ধমান 3 এবং সর্বোচ্চ 10 এর মধ্যে সংযোগের প্রচেষ্টা ছাড়"। দ্রষ্টব্য: এটিতে বৈধ ssh ব্যবহারকারীদের লগ ইন করার জন্য যথেষ্ট সংখ্যক সার্ভারে বাড়াতে হবে।

  • ডিফল্ট : ম্যাক্সস্টার্টআপস 10
  • ম্যাকস্টার্টআপস 3:50:10

সংযোগ বিচ্ছিন্ন হওয়ার আগে সফলভাবে লগইনের জন্য অনুমোদিত সর্বাধিক পরিমাণ হ্রাস করুন। 2 মিনিটের ডিফল্টটি একটি অননুমোদিত সংযোগ প্রচেষ্টা খোলা রাখতে খুব বেশি সময় (উপরে দেখুন); 30 সেকেন্ড লগ ইন করার জন্য পর্যাপ্ত সময়ের চেয়ে বেশি:

  • ডিফল্ট : লগইনগ্র্যাসটাইম 2 মি
  • লগইনগ্র্যাসটাইম 30

3

আমি এটির জন্য এই আইপিটাবল বিধিগুলি ব্যবহার করি:

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 300 --hitcount 4 --rttl  --name SSH -j DROP

এটি 5 মিনিটের মধ্যে একটি আইপি ঠিকানা থেকে কেবল 4 টিসিপি / এসওয়াইএন প্যাকেট 22 পোর্টে অনুমতি দেবে। যদি এটি আরও চেষ্টা করে তবে দরজাটি 5 মিনিট শেষ না হওয়া অবধি বন্ধ থাকবে।


সম্পাদনার দরকার কী?
টিমকোফু

প্রায় কাছাকাছি হিসাবে একই: -A INPUT -p tcp -m tcp --dport 22 -m limit --limit 48/hour -j ACCEPT
অ্যালিক্স অ্যাক্সেল

আমি এই দুটি iptables কমান্ডটি দেবিয়ান জেসিতে তৈরি করেছি, তবে এখনও একই আইপি ঠিকানা থেকে এসএসএইচ লগইন প্রতি 2 সেকেন্ডে চেষ্টা করতে দেখতে পাচ্ছি। কোন ধারনা?
অ্যালেক্সি ওজারভ

1

একটি বিকল্প রয়েছে যা আপনি সার্ভারের জন্য আপনার sshd_config ফাইলটিতে রাখতে পারেন:

 MaxAuthTries
         Specifies the maximum number of authentication attempts permitted per
         connection.  Once the number of failures reaches half this value, additional 
         failures are logged.  The default is 6.

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