ব্রুটফোর্স ssh আক্রমণ থেকে উবুন্টু সার্ভারকে কীভাবে সুরক্ষিত করা যায়?


21

আমার পাসওয়ার্ডগুলি সুরক্ষিত আছে, তবে আমি যখন শুনেছি যে লোকেরা যখন কোনও ব্রুটফোর্স আক্রমণ চালাচ্ছে তখন সার্ভারের পারফরম্যান্স সম্পর্কে ভীষণ কমতে থাকে। আমি কীভাবে আমার উবুন্টু ১০.১০ সার্ভারকে এই জাতীয় আক্রমণ থেকে সুরক্ষিত করতে পারি? এর জন্য কি কোনও অ্যাপারমোর প্রোফাইল আছে? নাকি এটিকে সম্বোধনের অন্য কোনও উপায়?

উত্তর:


19

বিভিন্ন সমাধান আছে। সেরাটি আরএসএ প্রমাণীকরণ ব্যবহার করছে যা ব্যবহারকারীদের প্রমাণীকরণের জন্য সর্বজনীন / ব্যক্তিগত কী ব্যবহার করে।

বিভিন্ন পদ্ধতির জন্য এই দুর্দান্ত ম্যানুয়ালটি পরীক্ষা করুন (আরএসএ প্রমাণীকরণ অন্তর্ভুক্ত): http://www.la-samhna.de/library/brutessh.html

আমি আমার সার্ভারে তৃতীয় সমাধানটি ব্যবহার করছি কারণ আমি এটি আমার অ প্রযুক্তিগত ব্যবহারকারীদের জন্য জটিল করতে চাই না: iptablesপ্রতি মিনিটে সংযোগের সংখ্যা সীমাবদ্ধ করে ব্যবহার করা যা ব্রুটফোর্স আক্রমণকে অকার্যকর এবং অকার্যকর করে তোলে।

আমি যে সমাধানটি ব্যবহার করছি তা এখানে:

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 recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j LOG --log-prefix "SSH_brute_force "
iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP

এখানে উল্লিখিত হিসাবে : এটি কোনও IP০ সেকেন্ড সময়কালের মধ্যে যে কোনও আইপি ঠিকানা থেকে তিনটি পোর্ট 22 সংযোগের অনুমতি দেবে এবং এরপরে পুনরায় সংযোগের অনুমতি দেওয়ার আগে 60% সেকেন্ডের কোনও সংযোগ প্রয়াসের প্রয়োজন হবে না। প্যাকেটগুলির সাথে ম্যাচ করার সময় --rttl বিকল্পটি ডেটাগ্রামের টিটিএলও বিবেচনা করে, যাতে স্পুফড উত্সের ঠিকানাগুলির বিরুদ্ধে হ্রাস করার চেষ্টা করা যায়।

উল্লিখিত গাইড হিসাবে যেমন বলা হয়েছে, বিশ্বস্ত ব্যবহারকারীদের এই নিয়মগুলি থেকে আলাদা করতে একটি সাদা তালিকা ব্যবহার করা ভাল:

iptables -N SSH_WHITELIST

তারপরে বিশ্বস্ত হোস্ট যুক্ত করুন:

iptables -A SSH_WHITELIST -s $TRUSTED_HOST -m recent --remove --name SSH -j ACCEPT

এবং তারপরে বিধিগুলি তৈরি করুন:

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_WHITELIST
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j ULOG --ulog-prefix SSH_brute_force
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP

পাসওয়ার্ডের প্রমাণীকরণ বন্ধ করে দেওয়ার বিষয়ে, আমি যদি কোনও সার্ভারে এর পাবলিক কীটি আলগা করি তবে আমি কীভাবে লগইন করব? (কোনও সার্ভারে আমার কাছে ফিজিক্যাল অ্যাক্সেস নেই, এটি একটি ভিপিএস)
ডিজিমিড ২ '

পাবলিক কী আপনি যেখানেই চান প্রকাশিত হতে পারে o সুতরাং এটি সম্পর্কে চিন্তা করবেন না You আপনি এটি কোথাও রাখতে পারেন যাতে আপনি নিশ্চিত হন যে আপনি এটি সর্বজনীন স্থানগুলিও ভুলে যাবেন না।
পেড্রাম

এখানে আরও পড়ুন: en.wikedia.org/wiki/Public-key_cryptography
পেড্রাম

জিজ্ঞাসা করা হলে এর সার্বজনীন কী প্রকাশ করার জন্য সার্ভার সেট আপ করার কোনও উপায় আছে?
ডিজিমিড

1
Ssh ব্যবহার করে, আমি তাই মনে করি না if যদি আপনার কোনও ওয়েব সার্ভার যেমন অ্যাপাচি ইনস্টল থাকে আপনি ওয়েব ব্যবহার করে কীটি ভাগ করতে পারেন।
পেড্রাম

8

আমি প্রতিদিন 1 থেকে 2 হারে আমার সার্ভারগুলিতে ব্রুট-ফোর্স ssh আক্রমণ পাই। আমি অস্বীকৃতি ইনস্টল করেছি (উবুন্টু প্যাকেজ: অস্বীকৃতি)। এটি সেই উদ্দেশ্যে একটি খুব সহজ তবে কার্যকর সরঞ্জাম: মূলত এটি ব্রুট-ফোর্স আক্রমণ সনাক্ত করতে আপনার লগগুলি নিয়মিতভাবে স্ক্যান করে এবং আইপিগুলি যেখান থেকে এই আক্রমণগুলি আপনার /etc/hosts.deny ফাইলের মধ্যে উত্পন্ন হয় সেগুলি রাখে। আপনি তাদের কাছ থেকে আর শুনবেন না এবং আপনার বোঝা যথেষ্ট হ্রাস করা উচিত। কতগুলি ভুল প্রচেষ্টা আক্রমণ চালাচ্ছে ইত্যাদি সম্পর্কিত সমস্যাগুলি মুছে ফেলার জন্য এটির কনফিগারেশন ফাইল /etc/denyhosts.conf এর মাধ্যমে খুব কনফিগার করা যায় etc.

এর স্বচ্ছ কাজের কারণে আপনি সহজেই দেখতে পাচ্ছেন কী চলছে (ইমেল বিজ্ঞপ্তি: 'আহা, আরেকটি ভয়ংকর আক্রমণ ব্যর্থ!') এবং আপনার ব্যবহারকারীরা বারবার তাদের পাসওয়ার্ড ভুল টাইপ করার কারণে ভুলগুলি পূর্বাবস্থায় ফিরিয়ে আনতে পারে।

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

এছাড়াও, iptables এ সীমাবদ্ধ নতুন সংযোগ হার আরও ভাল পছন্দ হতে পারে তারপর স্বাগত.ডেনির মাধ্যমে অ্যাক্সেস অস্বীকার করে। সুতরাং, ব্যর্থ2ban পাশাপাশি দেখুন। তবে আপনি যদি জানেন যে ssh brute-ফোর্সটি আপনার প্রধান উদ্বেগ (এটি নির্ধারণের জন্য ম্যানুয়ালি /var/log/auth.log দেখুন), খুব সহজ এবং নিম্ন প্রভাবের এই সরঞ্জামটি নিয়ে যান।


1
আমার /var/log/auth.log ইদানীং যথেষ্ট বৃদ্ধি পাচ্ছে। এর মতো এন্ট্রি কি Mar 27 10:28:43 smartfood sshd[17017]: Failed password for root from 218.15.136.38 port 33119 ssh2 Mar 27 10:28:47 smartfood sshd[17019]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.15.136.38 user=rootআক্রমণকে নির্দেশ করে?
ডিজিমিড

1
ঠিক আছে, এর অর্থ আইপি 218.15.136.38 এ কেউ রুট হিসাবে লগইন করার চেষ্টা করেছে। আপনি হতে পারতেন, তবে সম্ভবত সরঞ্জামগুলি ব্যবহার না করার কারণেই। WHois.net/ whoisbyip , আমি দেখতে পাচ্ছি যে এই আইপি চীনে নিবন্ধিত যা মিনস্ক থেকে বেশ কিছুটা পথ ;-) তাই, হ্যাঁ, এটি আপনার পাসওয়ার্ডের অনুমান হিসাবে মনে হচ্ছে । নৈতিক: এসএসএসের মাধ্যমে রুট লগইনটি অক্ষম করুন (PermitRootLogin no in / etc / ssh / sshd_config) কারণ এটি ছেড়ে দেওয়ার কোনও ভাল কারণ নেই। এবং তারপরে অস্বীকারকারী বা ব্যর্থ2ban বিবেচনা করুন। এছাড়াও, নিশ্চিত করুন যে আপনার কাছে কেবল 22 বন্দরটি এবং আপনার যা কিছু প্রয়োজন (কেবল আরও নয়) এর মাধ্যমে অগত্যা অ্যাক্সেস করতে ফায়ারওয়াল রয়েছে
ডারসআর

6
  1. Sshd পোর্টটি অমানুষহীন কিছুতে পরিবর্তন করুন
  2. পোর্ট-নকিং সিস্টেম knockdবাস্তবায়নের জন্য ব্যবহার করুন
  3. একটানা এসএসএইচ প্রচেষ্টা সীমাবদ্ধ করতে iptables ' recentএবং hashlimitম্যাচগুলি ব্যবহার করুন
  4. পাসওয়ার্ড ব্যবহার করবেন না, তবে পরিবর্তে এসএসএইচ কী ব্যবহার করুন

3
প্রথম পরামর্শের জন্য -1, আসলে কোনও সত্যিকারের সুরক্ষা বাড়ানোর জন্য জিনিসগুলিকে জটিল করে
তোলে

আপনি যদি ssh কী ব্যবহার করেন এবং ssh এর মাধ্যমে পাসওয়ার্ড প্রমাণীকরণ বন্ধ করে দেন, আমার কি সত্যিই 1,2,3 দরকার?
ডিজিমিড

4
@ স্টেবার্ট এটি স্ক্রিপ্টের কৌতুকগুলির বিরুদ্ধে সহায়তা করে যা কেবল 22 পোর্টের মাধ্যমে তাদের পথে চলাচল করার চেষ্টা করে that's এটি আমার অভিজ্ঞতা: আমি যখন কোনও ইন্টারনেট মুখোমুখি সার্ভারটি সেট আপ করছিলাম তখন কেউ তাকে হুশিয়ারি দেওয়ার পরে সিস্টেমটি আমাকে সতর্কবার্তা প্রেরণ করে। আমি বন্দরটি সরিয়ে নিয়েছি এবং সতর্কতাগুলি হ্রাস পেয়েছে।
পেপলুয়ান

@ ডিজিমিড এসএসএস কী আপনার সিস্টেমে কাউকে প্রবেশ করতে বাধা দেয়। তবে এটি 22 পোর্টের সাথে সংযোগ স্থাপনের চেষ্টা থেকে তাদের বিরত রাখে না
পেপলুয়ান

3
@ ডিজিমিড না, সঠিক নয় অন্যান্য প্রমাণীকরণের পদ্ধতিগুলি (আরএসএএথেন্টিফিকেশন, পাবকিআউথেনটিকেশন, # কেরবারোস প্রমাণীকরণ ইত্যাদি) সমস্ত এখনও 22 বন্দরের মাধ্যমে যোগাযোগ করে
ডাঃ এসআর

3

সবার আগে আপনার পাসওয়ার্ড ব্যবহার না করে এবং কীগুলি ব্যবহার না করে বিবেচনা করা উচিত। পাসওয়ার্ড ব্যবহার করার দরকার নেই। যদি এটি আপনার পক্ষে কাজ করে তবে আপনি ওপেনএসএসএইচ-সার্ভারটি পাসওয়ার্ড লগইনগুলিতে প্রতিক্রিয়া না দেখানোর জন্য কনফিগার করতে পারেন।

https://help.ubuntu.com/10.04/serverguide/C/openssh-server.html

ব্যর্থ 2ban ব্যবহার করাও একটি বিকল্প হতে পারে।

https://help.ubuntu.com/community/Fail2ban


আমি যদি কোনও সার্ভারের পাবলিক কীটি আলগা করি তবে কীভাবে আমি তার সাথে সংযোগ করব?
ডিজিমিড

1
কেবল কনসোল বা সরাসরি অ্যাক্সেসের মাধ্যমে। আমি নিশ্চিত যে আপনি যদি কোনও সার্ভার পরিচালনা করতে সক্ষম হন তবে আপনি আপনার কীটি হারাবেন না quite
২৩

0

সার্ভারটি কীভাবে নেটওয়ার্কে উন্মুক্ত? সম্ভবত আপনি নেটওয়ার্ক অ্যাডমিনের সাথে কথা বলতে পারেন এবং সার্ভারে নেটওয়ার্ক অ্যাক্সেস নিয়ন্ত্রণ এবং সীমাবদ্ধ করা সম্ভব কিনা তা পরীক্ষা করতে পারেন। এমনকি যদি অ্যাকাউন্ট লগইনগুলি নিরাপদ থাকে তবে মনে হয় যে সার্ভারটি সাধারণ ডস / ডিডোস আক্রমণে ভুগতে পারে।


0

ব্যর্থ 2ban এর বিকল্প হ'ল সিএসএফ: কনফিগার সার্ভার সুরক্ষা এবং ফায়ারওয়াল

এটি এলএফডি সহ আসে: একটি লগইন ব্যর্থতা ডেমন যা বিভিন্ন পরিষেবাদিতে একাধিক ব্যর্থ লগইন প্রচেষ্টা সনাক্ত করতে পারে এবং আপত্তিজনক আইপি ঠিকানাটি (অস্থায়ীভাবে বা স্থায়ীভাবে) ব্লক করবে।

এটিতে আরও কিছু বিকল্প রয়েছে যা বন্যার আক্রমণগুলির বিরুদ্ধে সহায়তা করতে পারে এবং সম্ভবত অনুপ্রবেশ সনাক্ত করতে পারে।

অসুবিধা:

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

0

আপনি কি এসএসএইচ পরিষেবাটি বিশ্বকে দেওয়ার অনুমতি দিচ্ছেন? নাকি শুধু নির্দিষ্ট জায়গায় দলের সদস্যদের? আমার উত্তর আপনার চ্যালেঞ্জের তীব্রতার উপর কিছুটা নির্ভর করে।

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

  1. / Etc / ssh / sshd_config এ নিশ্চিত হয়ে নিন যে আপনি কখনই কোনও এসএসএইচ কী বাদ দিয়ে রুট লগইনকে অনুমতি দেন না।

আমার সিস্টেমে, আমি এই সেটিংটি পেয়েছি

PermitRootLogin without-password

তবে আমি তাদের লক্ষ্য করেছি নতুন উবুন্টুতে

PermitRootLogin prohibit-password

আপনি যদি "man sshd_config" পড়ে থাকেন তবে আমি মনে করি এটির অর্থ এই নতুন "নিষিদ্ধ-পাসওয়ার্ড" এর অর্থ একই জিনিস এবং এটি অবশ্যই অর্থের মধ্যে আরও স্পষ্ট। এটি কিছু লিনাক্স সিস্টেমে ডিফল্ট নয় তবে সম্ভবত হওয়া উচিত।

এখন, আপনার সমস্যা সম্পর্কে আপনার সিস্টেম সার্ভারটি কি কেবলমাত্র নির্দিষ্ট জায়গায় কিছু ব্যবহারকারীকে? এটা কর!

  1. সম্পাদনা /etc/hosts.deny এবং সন্নিবেশ করুন

    সমস্ত: সব

তারপরে /etc/hosts.allow সম্পাদনা করুন এবং আইপি নম্বর বা এসএসএইচ ব্যবহারের অনুমতি দিতে চান এমন একটি ব্যাপ্তি তালিকাবদ্ধ করুন। স্বরলিপিটি কিছুটা বিভ্রান্তিকর কারণ আপনি যদি 111.222.65.101 এর মতো 111.222.65.255 এর মতো আইপি নম্বর সহ সমস্ত সিস্টেমকে মঞ্জুরি দিতে চান তবে আপনি এ জাতীয় প্রবেশদ্বার হোস্ট.ইল্টে রেখেছেন

ALL: 127.0.0.1
sshd: 111.222.65.
sshdfwd-X11: 111.222.65.

এটি একটি নিষ্ঠুর, শক্তিশালী সমাধান। যদি আপনার ব্যবহারকারীদের আইপি পরিসীমা দ্বারা গণনা করা যায় তবে এটি করুন!

আইপি টেবিলগুলি তৈরি হওয়ার আগে এই সমাধানটির অস্তিত্ব ছিল, এটি পরিচালনা করা অনেক সহজ (তবে আমি মনে করি) এটি আইপি টেবিলগুলির সমাধানের মতো ভাল নয় কারণ আইপি টেবিলের রুটিনগুলি হোস্ট.ইল এবং হোস্ট দ্বারা চালিত প্রোগ্রামগুলির চেয়ে শীঘ্রই শত্রুদের চিহ্নিত করবে IP .deny। তবে এটি একটি নিশ্চিত আগুন, কেবল এসএসএইচ থেকে নয়, প্রচুর সমস্যা বন্ধ করার সহজ উপায়।

আপনি নিজের জন্য তৈরি সমস্যাটি নোট করুন। আপনি যদি কোনও এফটিপি সার্ভার, ওয়েব সার্ভার বা কী নোট খুলতে চান তবে আপনাকে হোস্টগুলিতে প্রবেশের অনুমতি দিতে হবে।

আপনি iptables এবং ফায়ারওয়াল সঙ্গে fiddling দ্বারা একই বেসিক উদ্দেশ্য অর্জন করতে পারেন। এক অর্থে, এটি একটি পছন্দসই সমাধান কারণ আপনি বাইরের সীমানায় শত্রুদের অবরুদ্ধ করছেন। উবুন্টুর "উফডব্লিউ" (জটিল ফায়ারওয়াল) রয়েছে এবং "ম্যান ইউফডাব্লু" এর প্রচুর উদাহরণ রয়েছে। এর পরিবর্তে আমার সুন্দর জিইউআই করতে হবে, আমাকে এই সময়টা করতে হবে না। এখন অন্য কেউ আছে কিনা তা আমাদের বলতে পারে।

  1. এখানে অন্যান্য পোস্টগুলি কেবল আপনার ব্যবহারকারীদের জন্য এসএসএইচ পাবলিক কী ব্যবহার করার পরামর্শ দিয়েছে। এটি অবশ্যই আপনার ব্যবহারকারীদের জন্য জটিলতা এবং হতাশার মূল্যে সহায়তা করবে। আমাদের ল্যাবটিতে 15 টি কম্পিউটার রয়েছে। ব্যবহারকারীরা কম্পিউটারের মধ্যে যান। এসএসএইচ কী প্রমাণীকরণের প্রয়োজন হলে একটি বড় ঝামেলা সৃষ্টি হবে কারণ লোকেরা একটি কম্পিউটার থেকে অন্য কম্পিউটারে যায়।

হতাশার আরেকটি উত্স ঘটবে যখন কিছু ব্যবহারকারী বিভিন্ন সার্ভারের জন্য বিভিন্ন এসএস কীগুলি জমা করে। আমার কাছে প্রায় 12 টি বিভিন্ন প্রকল্পের জন্য এসএসএইচ কী রয়েছে, এখন এসএসএস ব্যর্থ হয়েছে কারণ আমার অনেকগুলি পাবলিক কী রয়েছে ("ssh -o PubkeyAuthentication = মিথ্যা" বা .ssh / কনফিগারেশন ফাইলে একটি এন্ট্রি তৈরি করা দরকার It এটি পিআইটিএ)

  1. যদি আপনাকে অবশ্যই বৃহত বিস্তৃত বিশ্ব থেকে এসএসএইচে সার্ভারটি খোলা রাখতে হয়, তবে অবশ্যই আপনাকে বার বার লগ ইন করার চেষ্টা করে এমন অবস্থানগুলি ব্লক করতে একটি প্রত্যাখ্যানের রুটিন ব্যবহার করা উচিত this এর জন্য দুটি দুর্দান্ত প্রোগ্রাম রয়েছে, আমরা যেগুলি ব্যবহার করেছি তা হ'ল অস্বীকৃতি এবং ব্যর্থ 2 । এই প্রোগ্রামগুলির সেটিংস রয়েছে যা আপনার পছন্দসই সময়ের জন্য আপনাকে অপরাধীদের নিষিদ্ধ করার অনুমতি দেয়।

আমাদের সেন্টোস লিনাক্স সিস্টেমে আমি লক্ষ্য করেছি যে তারা অস্বীকারকারী প্যাকেজটি বাদ দিয়েছে এবং কেবলমাত্র ব্যর্থ 2ban অফার করে। আমি অস্বীকারকারীদের পছন্দ করলাম কারণ এটি সমস্যাসমূহপূর্ণ ব্যবহারকারী / আইপি রেঞ্জগুলির তালিকা তৈরি করে হোস্টসডেনিতে, সেই তালিকাটি উল্লেখ করা হয়েছিল। পরিবর্তে আমরা ব্যর্থ 2ban ইনস্টল করেছি এবং এটি ঠিক আছে। আমার বোধগম্যতা হল আপনি এই খারাপ ব্যবহারকারীদের সার্ভারের বাইরের প্রান্তে আটকাতে চাইবেন, সুতরাং আইপ টেবিলগুলি ব্যর্থ ব্লবনের মতো ব্লকারগুলিও আসলে আরও ভাল। ডিএনহোস্টগুলি মাধ্যমিক স্তরে কাজ করে, শত্রুরা অতীতের iptables অর্জন করার পরে তারা এসএসডি ডিমন দ্বারা প্রত্যাখ্যাত হয়।

এই দুটি প্রোগ্রামেই, ব্যবহারকারীরা যদি তাদের পাসওয়ার্ড ভুলে যায় এবং লগ ইন করার জন্য কয়েকবার চেষ্টা করে তবে তাদের কারাগার থেকে বের করে নেওয়া কিছুটা বিরক্তিকর। লগ-ইন ভুল করার সময় লোকেরা ফিরে পেতে কিছুটা কঠিন। আপনি অনুমান করেছেন যে সেখানে একটি পয়েন্ট-ও-ক্লিক জিইউআই থাকবে যেখানে আপনি কেবল নির্দেশ করতে এবং লোকদের ফিরে যেতে পারবেন, তবে এটি সেভাবে নয়। আমাকে কেবল কয়েক মাস অন্তর এটি করতে হবে এবং সময়ের মধ্যে কীভাবে ভুলে যেতে হয় তাই আমি আমার ওয়েবপৃষ্ঠায় http://pj.freefactory.org/blog/?p=301 এ নিজের জন্য নির্দেশনা লিখেছিলাম

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