প্রারম্ভিক সিসএডমিনগুলির জন্য 10 লিনাক্স শক্ত করার টিপস

লিনাক্স সিস্টেমগুলি নকশা দ্বারা সুরক্ষিত এবং শক্তিশালী প্রশাসনের সরঞ্জাম সরবরাহ করে। তবে সিস্টেমটি কতটা ডিজাইন করা হোক না কেন, এর সুরক্ষা ব্যবহারকারীর উপর নির্ভর করে।

প্রাথমিকভাবে তাদের মেশিনগুলির জন্য সর্বোত্তম সুরক্ষা নীতিগুলি খুঁজতে বেশ কয়েক বছর সময় লাগে। এজন্য আমরা আপনার মতো নতুন ব্যবহারকারীদের জন্য এই প্রয়োজনীয় লিনাক্স শক্ত করার টিপসগুলি ভাগ করছি। তাদের চেষ্টা করুন।

1. শক্তিশালী পাসওয়ার্ড নীতি প্রয়োগ করুন

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

 awk -F: '($2 == "") {print}' /etc/shadow

কোন অ্যাকাউন্টে খালি পাসওয়ার্ড রয়েছে তা দেখতে উপরের কমান্ডটি রুট হিসাবে চালান। যদি আপনি খালি পাসওয়ার্ড সহ কাউকে খুঁজে পান তবে ব্যবহারকারীকে এখনই লক করুন। আপনি নিম্নলিখিতটি ব্যবহার করে এটি করতে পারেন।

 passwd -l USERNAME

ব্যবহারকারীরা পুরানো পাসওয়ার্ড ব্যবহার করতে পারবেন না তা নিশ্চিত করতে আপনি পাসওয়ার্ড বার্ধক্য সেট আপ করতে পারেন। আপনার টার্মিনাল থেকে এটি করতে চেজ কমান্ডটি ব্যবহার করুন।

 chage -l USERNAME

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

 chage -M 30 USERNAME

2. ব্যাকআপ প্রয়োজনীয় ডেটা

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

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

৩. উত্তরাধিকার যোগাযোগের পদ্ধতিগুলি এড়িয়ে চলুন

লিনাক্স অনেক দূরবর্তী যোগাযোগ পদ্ধতি সমর্থন করে। তবে, টেলনেট, রোলগিন এবং এফটিপি এর মতো উত্তরাধিকারী ইউনিক্স পরিষেবাদি গুরুতর সুরক্ষার সমস্যা তৈরি করতে পারে। সুতরাং, এড়াতে চেষ্টা করুন। সুরক্ষা সম্পর্কিত সমস্যাগুলি কমাতে আপনি এগুলি পুরোপুরি সরিয়ে ফেলতে পারেন।

 apt-get --purge remove xinetd nis tftpd tftpd-hpa telnetd 
> rsh-server rsh-redone-server

এই কমান্ডটি উবুন্টু / ডেবিয়ান মেশিনগুলি থেকে কিছু বিস্তৃত ব্যবহৃত তবে পুরানো পরিষেবার সরিয়ে দেয়। আপনি যদি আরপিএম ভিত্তিক সিস্টেম ব্যবহার করছেন তবে পরিবর্তে নিম্নলিখিতটি ব্যবহার করুন।

 yum erase xinetd ypserv tftp-server telnet-server rsh-server

4. নিরাপদ ওপেনএসএইচ

লিনাক্সের জন্য দূরবর্তী যোগাযোগের প্রস্তাবিত পদ্ধতি হ'ল এসএসএইচ প্রোটোকল। আপনার ওপেনএসএইচ সার্ভার (এসএসডি) কনফিগারেশনটি সুরক্ষিত করার বিষয়টি নিশ্চিত করুন। আপনি এখানে এসএসএইচ সার্ভার স্থাপন সম্পর্কে আরও শিখতে পারেন।

Ssh এর জন্য সুরক্ষা নীতি নির্ধারণ করতে / etc / ssh / sshd_config ফাইলটি সম্পাদনা করুন। নীচে কিছু সাধারণ সুরক্ষা নীতিগুলি যে কেউ ব্যবহার করতে পারেন are

 PermitRootLogin no # disables root login
MaxAuthTries 3 # limits authentication attempts
PasswordAuthentication no # disables password authentication
PermitEmptyPasswords no # disables empty passwords
X11Forwarding no # disables GUI transmission
DebianBanner no # disbales verbose banner
AllowUsers *@XXX.X.XXX.0/24 # restrict users to an IP range

5. CRON ব্যবহার সীমাবদ্ধ করুন

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

 crontab -l -u USERNAME

কেউ সিআরএন ব্যবহার করছে কিনা তা জানতে প্রতিটি ব্যবহারকারীর জন্য কাজগুলি পরীক্ষা করুন। আপনি বাদে ক্রন্টব ব্যবহার থেকে সমস্ত ব্যবহারকারীকে ব্লক করতে চাইতে পারেন। এটিতে নিম্নলিখিত কমান্ডটি চালান।

 echo $(whoami) >> /etc/cron.d/cron.allow
# echo ALL >> /etc/cron.d/cron.deny

P. পিএএম মডিউলগুলি প্রয়োগ করুন

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

 # CentOS/RHEL
echo 'password sufficient pam_unix.so use_authtok md5 shadow remember=5' >>
> /etc/pam.d/system-auth
# Ubuntu/Debian
echo 'password sufficient pam_unix.so use_authtok md5 shadow remember=5' >>
> /etc/pam.d/common-password

তারা গত পাঁচ সপ্তাহের মধ্যে পাসওয়ার্ডগুলির ব্যবহারকে সীমাবদ্ধ করে। আরও অনেক পিএএম নীতিমালা রয়েছে যা সুরক্ষার অতিরিক্ত স্তর সরবরাহ করে।

7. অব্যবহৃত প্যাকেজগুলি সরান

অব্যবহৃত প্যাকেজগুলি সরানো আপনার মেশিনের আক্রমণ পৃষ্ঠকে হ্রাস করে। সুতরাং, আমরা আপনাকে বিরল ব্যবহৃত প্যাকেজগুলি মুছে ফেলার পরামর্শ দিই। নীচের কমান্ডগুলি ব্যবহার করে আপনি বর্তমানে ইনস্টল করা সমস্ত প্যাকেজ দেখতে পারেন।

 yum list installed # CentOS/RHEL
apt list --installed # Ubuntu/Debian

বলুন আপনি অব্যবহৃত প্যাকেজ vlc সরাতে চান। আপনি নিম্নলিখিত কমান্ডগুলি রুট হিসাবে চালিয়ে এটি করতে পারেন।

 yum remove vlc # CentOS/RHEL
apt remove vlc # Ubuntu/Debian

8. সুরক্ষিত কার্নেল পরামিতি

লিনাক্স শক্ত হওয়ার আর একটি কার্যকর উপায় হ'ল কার্নেল প্যারামিটারগুলি সুরক্ষিত করা। আপনি এই প্যারামিটারগুলি সিস্টেস্টল ব্যবহার করে বা কনফিগারেশন ফাইলটি সংশোধন করে কনফিগার করতে পারেন। নীচে কয়েকটি সাধারণ কনফিগারেশন রয়েছে।

 kernel.randomize_va_space=2 # randomnize address base for mmap, heap, and stack
kernel.panic=10 # reboot after 10 sec following a kernel panic
net.ipv4.icmp_ignore_bogus_error_responses # protects bad error messages
net.ipv4.ip_forward=0 # disables IP forwarding
net.ipv4.icmp_ignore_bogus_error_responses=1 # ignores ICP errors

এগুলি কয়েকটি প্রাথমিক কনফিগারেশন। আপনি অভিজ্ঞতার সাহায্যে কার্নেল কনফিগারেশনের বিভিন্ন উপায় শিখবেন।

9. iptables কনফিগার করুন

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

 -A INPUT -j REJECT # reject all inbound requests
-A FORWARD -j REJECT # reject traffic forwarding
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT # allow traffic on localhost
# allow ping requests
-A OUTPUT -p icmp -j ACCEPT # allow outgoing pings
# allow established/related connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# allow DNS lookups
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
# allow http/https requests
-A OUTPUT -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT
# allow SSH access
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT

10. লগগুলি নিরীক্ষণ

আপনার লিনাক্স মেশিনটির আরও ভাল ধারণা তৈরি করার জন্য আপনি লগগুলি ব্যবহার করতে পারেন। আপনার সিস্টেম অ্যাপ্লিকেশন এবং পরিষেবাগুলির জন্য বেশ কয়েকটি লগ ফাইল সঞ্চয় করে। আমরা এখানে অত্যাবশ্যকগুলির রূপরেখা দিচ্ছি।

  • /var/log/auth.log — লগ অনুমোদনের প্রচেষ্টা
  • /var/log/daemon.log — ব্যাকগ্রাউন্ড অ্যাপ্লিকেশনগুলি লগ করে
  • / var / লগ / ডিবাগ — লগগুলি ডিবাগিং ডেটা
  • /var/log/kern.log — কার্নেলের ডেটা লগ করে
  • / var / log / syslog — সিস্টেম ডেটা লগ করে
  • / var / log / faillog — লগগুলি ব্যর্থ লগইন

নবীনদের জন্য সেরা লিনাক্স শক্ত করার টিপস

একটি লিনাক্স সিস্টেম সুরক্ষিত করা আপনার পক্ষে যতটা কঠিন। এই গাইডটিতে উল্লিখিত কয়েকটি টিপস অনুসরণ করে আপনি সুরক্ষা আরও শক্ত করতে পারেন। অভিজ্ঞতা অর্জনের সাথে সাথে আপনি লিনাক্স সুরক্ষার আরও কয়েকটি উপায় অর্জন করতে পারবেন।