Linux Basics: সাইবার নিরাপত্তা এবং সার্ভার ম্যানেজমেন্টের জন্য লিনাক্সের প্রয়োজনীয়তা!
Linux হলো সাইবার নিরাপত্তা পেশাদারদের প্রাথমিক টুলকিট - সার্ভার ম্যানেজমেন্ট, Pentesting এবং Forensics-এর ভিত্তি।
সাইবার নিরাপত্তা জগতে প্রবেশ করতে চাইলে যে অপারেটিং সিস্টেমটির সাথে আপনার সবচেয়ে বেশি পরিচিতি থাকা প্রয়োজন তা হলো Linux। ইন্টারনেটের প্রায় ৯৬ শতাংশ ওয়েব সার্ভার, বিশ্বের শীর্ষ ৫০০টি সুপারকম্পিউটার, এবং Android থেকে শুরু করে ক্লাউড কন্টেইনার পর্যন্ত প্রায় সর্বত্র Linux-এর উপস্থিতি। একজন Penetration Tester, Security Analyst, Forensics Investigator, অথবা SOC Engineer হিসেবে আপনার দৈনন্দিন কাজের অধিকাংশই Linux টার্মিনালে কেটে যাবে। Kali Linux, Parrot OS, BlackArch, এবং Tails-এর মতো বিশেষায়িত Distribution তো রয়েছেই।
এই বিস্তৃত গাইডে আমরা Linux-এর মৌলিক ধারণা, সাইবার নিরাপত্তা প্রসঙ্গে এর গুরুত্ব, প্রাথমিক কমান্ড, ফাইল সিস্টেম স্ট্রাকচার, ব্যবহারকারী ম্যানেজমেন্ট, এবং সার্ভার অ্যাডমিনিস্ট্রেশনের প্রয়োজনীয় বিষয়গুলো নিয়ে আলোচনা করব। নতুনদের জন্য এটি একটি শক্তিশালী ভিত্তি তৈরি করবে।
Linux কী এবং কেন এটি সাইবার নিরাপত্তায় এত গুরুত্বপূর্ণ
Linux হলো একটি ওপেন সোর্স Unix-like অপারেটিং সিস্টেম, যা ১৯৯১ সালে Linus Torvalds শুরু করেন। GPL লাইসেন্সের অধীনে বিতরণ করা এই সিস্টেমের সোর্স কোড সবার জন্য উন্মুক্ত, ফলে নিরাপত্তা বিশ্লেষকরা সিস্টেমের আভ্যন্তরীণ কার্যপ্রণালী গভীরভাবে বুঝতে পারেন এবং প্রয়োজনে কাস্টমাইজ করতে পারেন। Windows-এর মতো Closed-source সিস্টেমে এই সুবিধা নেই।
সাইবার নিরাপত্তা পেশায় Linux-এর গুরুত্বের আরও কারণ হলো এর Modular Architecture, শক্তিশালী Command-line Interface, Built-in Security Features যেমন SELinux ও AppArmor, এবং বিপুল পরিমাণ ফ্রি ও ওপেন সোর্স সিকিউরিটি টুলের প্রাপ্যতা। Nmap, Wireshark, Metasploit, Burp Suite, John the Ripper, এবং Hashcat-এর মতো প্রায় সমস্ত প্রধান Pentesting টুল Linux-এ Native ভাবে চলে।
Linux Distribution এবং তাদের বৈচিত্র্য
Linux Kernel-এর উপর ভিত্তি করে শত শত Distribution বা "Distro" তৈরি হয়েছে। প্রতিটি Distro নির্দিষ্ট ব্যবহারকারী এবং ব্যবহারের ক্ষেত্রে উপযুক্ত। সাধারণ ব্যবহারের জন্য Ubuntu, Linux Mint, এবং Fedora জনপ্রিয়। সার্ভার ব্যবহারের জন্য CentOS Stream, Rocky Linux, AlmaLinux, এবং Debian Server বহুল ব্যবহৃত। Red Hat Enterprise Linux (RHEL) হলো এন্টারপ্রাইজ পরিবেশের জন্য বাণিজ্যিক সমাধান।
সাইবার নিরাপত্তার জন্য বিশেষায়িত Distribution-এর মধ্যে রয়েছে Kali Linux (Offensive Security দ্বারা পরিচালিত, যেখানে ৬০০-এর বেশি Pentesting টুল প্রাক-ইনস্টল থাকে), Parrot Security OS (লাইটওয়েট এবং Privacy-focused), BlackArch (Arch-ভিত্তিক, ২৮০০+ টুল), এবং Tails (Anonymous Web Browsing-এর জন্য, যা সম্পূর্ণভাবে RAM থেকে চলে)।
প্রতিটি Distribution-এ Package Manager আলাদা - Debian/Ubuntu-তে apt, RHEL/CentOS-এ dnf বা yum, এবং Arch-এ pacman। এই Package Manager-গুলো সফটওয়্যার ইনস্টল, আপডেট, এবং অপসারণে ব্যবহৃত হয়।
Linux Filesystem Hierarchy
Linux-এর Filesystem Hierarchy Standard (FHS) বোঝা অপরিহার্য। সবকিছু একটি Root Directory / থেকে শুরু হয়। প্রধান ডিরেক্টরিগুলো হলো:
/bin- Essential Binary Files (যেমন ls, cp, mv)/sbin- System Binaries যা সাধারণত root user-এর জন্য/etc- সিস্টেম কনফিগারেশন ফাইল (যেমন /etc/passwd, /etc/shadow)/home- ব্যবহারকারীর হোম ডিরেক্টরি/var- Variable Data যেমন Logs, Cache, এবং Database/tmp- অস্থায়ী ফাইল/usr- User Programs এবং Libraries/opt- Optional এবং Third-party সফটওয়্যার/proc- Virtual Filesystem যা Running Processes-এর তথ্য প্রদান করে/sys- Kernel এবং Hardware-সম্পর্কিত তথ্য
সাইবার নিরাপত্তা বিশ্লেষণের সময় /etc/passwd, /etc/shadow, /var/log/auth.log, এবং /proc/<pid>/ ফাইলগুলো বিশেষভাবে গুরুত্বপূর্ণ।
অপরিহার্য Linux Commands
Linux-এ কাজ করতে গেলে যে কমান্ডগুলো প্রতিদিন ব্যবহার হয় সেগুলোর সাথে পরিচিতি অপরিহার্য। ফাইল ও ডিরেক্টরি নেভিগেশনের জন্য ls, cd, pwd, mkdir, rmdir, এবং tree ব্যবহৃত হয়। ফাইল ম্যানিপুলেশনের জন্য cp, mv, rm, touch, এবং chmod দরকারি। ফাইলের কনটেন্ট দেখার জন্য cat, less, more, head, এবং tail ব্যবহৃত হয়।
টেক্সট প্রসেসিংয়ে grep, sed, awk, cut, sort, এবং uniq অত্যন্ত শক্তিশালী টুল। উদাহরণস্বরূপ, লগ ফাইল থেকে নির্দিষ্ট IP খুঁজে বের করতে:
grep "192.168.1.100" /var/log/auth.log | awk '{print $1, $2, $3, $9}'
প্রসেস ম্যানেজমেন্টের জন্য ps, top, htop, kill, এবং nice ব্যবহার করা হয়। নেটওয়ার্কিং-এর জন্য ping, netstat, ss, ip, curl, wget, এবং dig অপরিহার্য। প্যাকেজ ম্যানেজমেন্টের জন্য apt, dnf, এবং pip ব্যবহৃত হয়।
File Permissions এবং Ownership
Linux-এর নিরাপত্তা মডেলের কেন্দ্রে রয়েছে Permission সিস্টেম। প্রতিটি ফাইলের তিনটি Permission Set থাকে - Owner, Group, এবং Others। প্রতিটি Set-এ Read (r), Write (w), এবং Execute (x) Permission থাকতে পারে।
ls -l কমান্ড চালালে এই তথ্য দেখা যায়:
-rwxr-xr-- 1 alice developers 4096 Mar 15 12:30 script.sh
এখানে rwxr-xr-- মানে Owner (alice) সব করতে পারে, Group (developers) পড়তে ও Execute করতে পারে, এবং Others শুধু পড়তে পারে। Permission পরিবর্তনের জন্য chmod ব্যবহার হয় - chmod 755 script.sh সেট করবে rwxr-xr-x।
বিশেষ Permission-এর মধ্যে SUID, SGID, এবং Sticky Bit গুরুত্বপূর্ণ। SUID-যুক্ত একটি Binary তার Owner-এর Privilege-এ চলে, যা Privilege Escalation-এর একটি বড় সুযোগ তৈরি করতে পারে। find / -perm -4000 -type f 2>/dev/null কমান্ড দিয়ে সিস্টেমে সমস্ত SUID Binary খুঁজে বের করা যায়।
User এবং Group Management
প্রতিটি Linux ব্যবহারকারীর একটি Unique UID (User ID) এবং একটি Primary GID (Group ID) থাকে। ব্যবহারকারীর তথ্য /etc/passwd-এ এবং Encrypted Password /etc/shadow-এ সংরক্ষিত থাকে। Group-এর তথ্য /etc/group-এ থাকে।
নতুন ব্যবহারকারী তৈরি করতে useradd বা adduser, পাসওয়ার্ড সেট করতে passwd, এবং Group-এ যোগ করতে usermod -aG ব্যবহৃত হয়। sudo Access নিয়ন্ত্রণ করা হয় /etc/sudoers ফাইল থেকে, যা visudo কমান্ড দিয়ে এডিট করা উচিত।
সাইবার নিরাপত্তার দৃষ্টিকোণ থেকে, কোন ব্যবহারকারীর sudo Access আছে এবং কে কী কমান্ড চালাতে পারে তা পর্যালোচনা করা অত্যন্ত গুরুত্বপূর্ণ। দুর্বল sudo Configuration প্রায়শই Privilege Escalation-এর কারণ হয়।
Process এবং Service Management
Linux-এ প্রতিটি Running Program একটি Process হিসেবে চলে এবং একটি Unique PID পায়। ps aux কমান্ড সমস্ত চলমান Process দেখায়। top বা htop রিয়েল-টাইম Process মনিটরিং প্রদান করে।
আধুনিক Linux Distribution-এ systemd হলো Init সিস্টেম, যা সার্ভিস ম্যানেজ করে। systemctl start/stop/restart/status <service> কমান্ড দিয়ে সার্ভিস নিয়ন্ত্রণ করা হয়। systemctl list-unit-files --type=service দিয়ে সমস্ত সার্ভিস দেখা যায়। সাইবার নিরাপত্তা বিশ্লেষণে অপ্রয়োজনীয় সার্ভিস বন্ধ করা একটি গুরুত্বপূর্ণ Hardening কৌশল।
Networking Basics
Linux-এ নেটওয়ার্ক কনফিগারেশন বোঝা সাইবার নিরাপত্তার জন্য অপরিহার্য। ip addr show দিয়ে নেটওয়ার্ক ইন্টারফেস দেখা যায়, ip route দিয়ে রাউটিং টেবিল, এবং ss -tulpn দিয়ে কোন পোর্ট কোন প্রসেস ব্যবহার করছে তা দেখা যায়।
Firewall-এর জন্য iptables বা আধুনিক nftables ব্যবহৃত হয়, এবং উপরে User-friendly Layer হিসেবে ufw বা firewalld থাকে। একটি সাধারণ Firewall নিয়ম:
sudo ufw allow 22/tcp
sudo ufw deny 23/tcp
sudo ufw enable
DNS lookup-এর জন্য dig ও nslookup, এবং Network Connectivity test-এর জন্য ping ও traceroute ব্যবহৃত হয়। Packet Capture-এর জন্য tcpdump একটি অত্যন্ত শক্তিশালী টুল।
Shell Scripting এবং Automation
সাইবার নিরাপত্তা পেশাদারদের জন্য Shell Scripting একটি অপরিহার্য দক্ষতা। Bash Script ব্যবহার করে আপনি বারবার করা কাজ স্বয়ংক্রিয় করতে পারেন - যেমন লগ পার্সিং, নেটওয়ার্ক স্ক্যানিং, বা ব্যাকআপ তৈরি।
একটি সাধারণ Bash Script-এর উদাহরণ:
#!/bin/bash
for ip in $(seq 1 254); do
(ping -c 1 -W 1 192.168.1.$ip &> /dev/null && \
echo "192.168.1.$ip is alive") &
done
wait
এটি একটি Subnet-এ Live Host খুঁজে বের করে। আরও জটিল Automation-এর জন্য Python ব্যবহার করা হয়, কিন্তু Bash দিয়ে দ্রুত One-liner তৈরি করার ক্ষমতা থাকা প্রয়োজন।
Logs এবং Auditing
Linux-এ লগগুলো প্রধানত /var/log/ ডিরেক্টরিতে থাকে। গুরুত্বপূর্ণ লগ ফাইলগুলো হলো:
/var/log/auth.log- Authentication-সম্পর্কিত (Debian/Ubuntu)/var/log/secure- একই (RHEL/CentOS)/var/log/syslog- সাধারণ সিস্টেম মেসেজ/var/log/kern.log- Kernel মেসেজ/var/log/apache2/access.log- Apache Web Server অ্যাক্সেস লগ
systemd-ভিত্তিক সিস্টেমে journalctl কমান্ড দিয়ে লগ অনুসন্ধান করা যায়। journalctl -u sshd -f কমান্ড SSH সার্ভিসের লগ রিয়েল-টাইমে দেখায়।
Auditing-এর জন্য auditd ব্যবহৃত হয়, যা ফাইল অ্যাক্সেস, কমান্ড এক্সিকিউশন, এবং নেটওয়ার্ক কার্যকলাপ ট্র্যাক করতে পারে। ausearch এবং aureport দিয়ে Audit Log বিশ্লেষণ করা যায়।
প্রতিরোধ ও প্রতিকার
একটি Linux সার্ভার সুরক্ষিত করতে কিছু মৌলিক নিয়ম অনুসরণ করতে হবে। প্রথমেই সিস্টেম নিয়মিত আপডেট রাখতে হবে - apt update && apt upgrade বা dnf update। Root Login নিষিদ্ধ করতে SSH কনফিগারেশনে PermitRootLogin no সেট করতে হবে এবং Key-based Authentication ব্যবহার করতে হবে।
অপ্রয়োজনীয় সার্ভিস বন্ধ করতে হবে এবং Firewall-এ শুধু প্রয়োজনীয় পোর্ট খোলা রাখতে হবে। Fail2Ban ইনস্টল করে Brute-force Attack প্রতিরোধ করা যায়। SELinux বা AppArmor সক্ষম রাখা উচিত - এগুলো Mandatory Access Control প্রদান করে যা Compromised Process-এর ক্ষমতা সীমিত করে।
নিয়মিত Log Monitoring এবং File Integrity Monitoring (AIDE বা Tripwire) অপরিহার্য। Lynis একটি ওপেন সোর্স Audit টুল যা Linux সার্ভারের Security Posture দ্রুত বিশ্লেষণ করতে সাহায্য করে।
Linux সাইবার নিরাপত্তা পেশায় সাফল্যের জন্য একটি অপরিহার্য ভিত্তি। ফাইল সিস্টেম, পারমিশন, ইউজার ম্যানেজমেন্ট, নেটওয়ার্কিং, এবং স্ক্রিপ্টিং-এ দক্ষতা অর্জন করলে আপনি Penetration Testing, Incident Response, Forensics, এবং SOC Operations - সব ক্ষেত্রেই কাজ করতে সক্ষম হবেন। প্রতিদিন টার্মিনালে কাজ করুন, ছোট ছোট স্ক্রিপ্ট লিখুন, এবং Vulnerable VM যেমন TryHackMe বা HackTheBox-এর চ্যালেঞ্জ করুন। Linux Mastery একদিনের কাজ নয়, কিন্তু প্রতিটি ছোট অগ্রগতি আপনাকে একজন সক্ষম সাইবার নিরাপত্তা পেশাদার হিসেবে গড়ে তুলবে।
আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ Linux Basics MCQ Quiz-টি দিন!
Related articles
Patch Management: The Importance of Regular Security Updates to Fix Software Vulnerabilities!
8 min
Asset Management: Accounting and Security Monitoring of All Devices in a Corporate Network
8 min
Biometric Security: How Cyber-Proof are Fingerprint and Face Unlock Systems?
10 min
Blue Teaming: The Role of the Defensive Security Team in Thwarting Cyber Attacks
10 min

