सामग्री पर जाएँ
शुक्रवार, अक्टूबर 30, 2026स्वतंत्र टेक न्यूज़, समीक्षाएँ और व्यावहारिक गाइड
परिचय
लेटेस्ट /

OLED MacBook Pro आ गया है: burn-in, टच, गायब Apple Pencil और क्या PROLED XDR इसके लायक़ है (2026)

गाइड पढ़ें
साइबर सुरक्षा & प्राइवेसीGM / 399

अपने Debian 12 सर्वर को कैसे सुरक्षित करें: सिस्टम एडमिन के छूटे 15 हार्डनिंग स्टेप

SSH सुरक्षा, फ़ायरवॉल कॉन्फ़िगरेशन, 2FA और अन्य 15 अहम हार्डनिंग स्टेप के साथ Debian 12 सर्वर सुरक्षित करने की पूरी गाइड।

Debian 12 server protected by multi-layered firewall and security hardening components with teal and dark blue security architecture diagram
Debian 12 सर्वर के लिए व्यापक सुरक्षा हार्डनिंग आर्किटेक्चर, जिसमें फ़ायरवॉल नियम, kernel हार्डनिंग और एक्सेस कंट्रोल तंत्र सहित कई सुरक्षा परतें लागू की गई हैं।

Debian 12 सर्वर को सुरक्षित करना सिर्फ़ ऑपरेटिंग सिस्टम इंस्टॉल करने और उसे इंटरनेट से जोड़ने से बहुत ज़्यादा माँगता है। ज़्यादातर सिस्टम एडमिन बुनियादी सुरक्षा नियमों का पालन करते हैं—पैकेज अपडेट करना, फ़ायरवॉल चालू करना और root लॉगिन बंद करना—लेकिन कई अहम हार्डनिंग स्टेप छोड़ देते हैं जो सुरक्षा को काफ़ी मज़बूत बनाते हैं। ये छूटे हुए कदम ऐसे खुले रास्ते बनाते हैं जिन्हें माहिर हमलावर जान-बूझकर ढूँढ़ते हैं। यह विस्तृत गाइड 15 ज़रूरी हार्डनिंग स्टेप बताती है जो तजुर्बेकार सिस्टम एडमिन अक्सर छोड़ देते हैं, और आपके Debian 12 सर्वर को सिर्फ़ काम चलाने वाले से आधुनिक खतरों के सामने सचमुच मज़बूत सर्वर बना देती है।​

बुनियादी इंस्टॉलेशन और ठीक से हार्डन किए गए Debian 12 सर्वर का फ़र्क़ तय करता है कि आपका सिस्टम टारगेटेड हमलों में बचेगा या रैनसमवेयर के आँकड़ों में एक और नाम बन जाएगा। हर छूटा हुआ स्टेप एक अतिरिक्त हमला-सतह है, एक संभावित कमज़ोरी है, और खतरे सामने आने से पहले सुरक्षा की दीवारें ऊँची करने का एक चूका हुआ मौका है।

Secure SSH key authentication illustration with locked cryptographic key symbol and encrypted connection protecting Debian 12 server access
SSH की-आधारित ऑथेंटिकेशन क्रिप्टोग्राफ़िक कीपेयर का इस्तेमाल करके पासवर्ड की कमज़ोरी खत्म कर देता है, जिससे Debian सर्वर पर ब्रूट-फ़ोर्स हमले और बिना इजाज़त एक्सेस रुक जाते हैं।

आधार: सिस्टम अपडेट और पैकेज मैनेजमेंट

स्टेप 1: unattended-upgrades के साथ ऑटोमैटिक सिक्योरिटी अपडेट लागू करें

जबकि ज़्यादातर एडमिन चलाते हैं apt update और apt upgrade, कम ही लोग ऑटोमैटिक सिक्योरिटी पैचिंग लागू करते हैं—यह एक गंभीर चूक है जो मैन्युअल अपडेट के बीच सिस्टम को असुरक्षित छोड़ देती है।​

Debian सिक्योरिटी पैच उन ज्ञात कमज़ोरियों को ठीक करते हैं जिनका हमलावर सक्रिय रूप से फ़ायदा उठाते हैं। मैन्युअल अपडेट खतरनाक अंतराल बनाते हैं: सोमवार सुबह जब आप अपडेट चलाते हैं, तब तक मंगलवार वाली ज़ीरो-डे कमज़ोरी हमलावर टीमों के बीच घूम रही होती है। मंगलवार शाम तक आपका सिस्टम अनपैच्ड रहता है, चाहे Debian रिपॉज़िटरी में फ़िक्स पहले से मौजूद हो।​

ऑटोमैटिक सिक्योरिटी अपडेट के लिए unattended-upgrades इंस्टॉल करें:

bashsudo apt update && sudo apt upgrade -y
sudo apt install unattended-upgrades apt-listchanges -y
sudo dpkg-reconfigure -plow unattended-upgrades

ऑटोमैटिक सिक्योरिटी अपडेट कॉन्फ़िगर करने के लिए इसे संपादित करें /etc/apt/apt.conf.d/50unattended-upgrades:

bashsudo nano /etc/apt/apt.conf.d/50unattended-upgrades

सुनिश्चित करें कि ये ज़रूरी सेटिंग चालू हैं:

टेक्स्टUnattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}-security";
};
Unattended-Upgrade::Mail "[email protected]";
Unattended-Upgrade::MailOnlyOnError "true";
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
Unattended-Upgrade::AutoFixInterruptedDpkg "true";

यह कॉन्फ़िगरेशन रोज़ाना सिक्योरिटी अपडेट अपने आप लागू करता है, ग़ैर-इस्तेमाल किए गए कर्नेल पैकेज हटाता है, और सिर्फ़ गड़बड़ी होने पर आपको ईमेल भेजता है—बिना एडमिन का बोझ बढ़ाए खतरनाक सुरक्षा अंतराल रोकता है।​

फ़ायरवॉल सुरक्षा परतों के साथ Debian 12 सर्वर सिक्योरिटी हार्डनिंग

SSH एक्सेस हार्डनिंग

स्टेप 2: SSH की-आधारित ऑथेंटिकेशन लागू करें (पासवर्ड ऑथेंटिकेशन बंद करें)

ज़्यादातर सर्वर पर SSH पासवर्ड ऑथेंटिकेशन डिफ़ॉल्ट रूप से चालू रहता है—एक ऐसी कमज़ोरी जो इंटरनेट की हर जगह से ब्रूट-फ़ोर्स हमले बुलाती है। हमलावर ऑटोमेटेड टूल से हर रात लाखों पासवर्ड संयोजन आज़माते हैं, और अगर आप fail2ban के साथ बेहद मज़बूत पासवर्ड नहीं रखते, तो कोई न कोई आख़िर में सफल हो जाएगा।​

SSH की ऑथेंटिकेशन क्रिप्टोग्राफ़ी के लिहाज़ से बेहतर है: भले ही हमलावर आपके नेटवर्क में घुस जाएँ, वे चुराए गए पासवर्ड इस्तेमाल नहीं कर पाएँगे क्योंकि सर्वर अब उन्हें स्वीकार ही नहीं करता।​

अपनी लोकल मशीन पर एक मज़बूत SSH कीपेयर बनाएँ:

bashssh-keygen -t rsa -b 4096 -f ~/.ssh/debian_server -N "your-strong-passphrase"

पब्लिक की को अपने सर्वर पर कॉपी करें (इसे एक बार अपनी लोकल मशीन से चलाएँ):

bashssh-copy-id -i ~/.ssh/debian_server.pub username@your_server_ip

अब पासवर्ड बंद करने से पहले जाँच लें कि की-आधारित एक्सेस काम करता है:

bashssh -i ~/.ssh/debian_server username@your_server_ip

SSH डेमन का कॉन्फ़िगरेशन संपादित करें:

bashsudo nano /etc/ssh/sshd_config

ये हार्डन की गई SSH सेटिंग लागू करें:

टेक्स्टProtocol 2
Port 22
AddressFamily inet
ListenAddress 0.0.0.0

PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no
KbdInteractiveAuthentication no
UsePAM yes

PermitEmptyPasswords no
MaxAuthTries 3
MaxSessions 5
LoginGraceTime 1m
StrictModes yes
IgnoreRhosts yes
HostbasedAuthentication no
RhostsRSAAuthentication no
RSAAuthentication no

X11Forwarding no
X11UseLocalhost no

TCPKeepAlive yes
ClientAliveInterval 300
ClientAliveCountMax 2

Subsystem sftp /usr/lib/openssh/sftp-server

बदलाव लागू करने के लिए SSH रीस्टार्ट करें:

bashsudo systemctl restart ssh

अपने मौजूदा सेशन से लॉग आउट करने से पहले कॉन्फ़िगरेशन अच्छी तरह जाँच लें—गलत कॉन्फ़िगरेशन होने पर आप हमेशा के लिए लॉक हो सकते हैं।​

सुरक्षित सर्वर एक्सेस के लिए SSH की-आधारित ऑथेंटिकेशन सुरक्षा

स्टेप 3: SSH पोर्ट को डिफ़ॉल्ट 22 से बदलें (वैकल्पिक लेकिन असरदार)

भले ही क्रिप्टोग्राफ़ी के लिहाज़ से ज़रूरी न हो, SSH को पोर्ट 22 से बदलने से ऑटोमेटेड हमला टूल के पोर्ट-स्कैन का शोर कम होता है। यह ऑब्स्क्योरिटी के ज़रिए सुरक्षा है, जो व्यवहार में लॉग स्पैम कम करने और हल्की रेकी धीमी करने में काम आती है।​

में /etc/ssh/sshd_configमें बदलें:

टेक्स्टPort 2222

नया पोर्ट खोलने के लिए अपना फ़ायरवॉल अपडेट करें:

bashsudo ufw allow 2222/tcp
sudo ufw delete allow 22/tcp

इस बदलाव को लिख लें—अगली बार रात 3 बजे की इमरजेंसी में आप इसे भूल जाएँगे।​

स्टेप 4: ब्रूट-फ़ोर्स हमले रोकने के लिए Fail2ban लागू करें

SSH की ऑथेंटिकेशन होने पर भी सहायक सेवाएँ (मेल, वेब ऐप्लिकेशन आदि) पासवर्ड स्वीकार कर सकती हैं। Fail2ban फेल हुए ऑथेंटिकेशन प्रयासों पर नज़र रखता है और दोषी IP पतों को कुछ समय के लिए बैन कर देता है, जिससे ब्रूट-फ़ोर्स हमले सफल होने से पहले रुक जाते हैं।​

Fail2ban इंस्टॉल करें:

bashsudo apt update && sudo apt install fail2ban -y

डिफ़ॉल्ट कॉन्फ़िगरेशन कॉपी करके Fail2ban कॉन्फ़िगर करें:

bashsudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

कॉन्फ़िगरेशन संपादित करें:

bashsudo nano /etc/fail2ban/jail.local

में [DEFAULT] सेक्शन को कॉन्फ़िगर करें:

टेक्स्ट[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 3
ignoreip = 127.0.0.1/8 ::1 your_trusted_ip

[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 1800

Fail2ban स्टार्ट करें और इनेबल करें:

bashsudo systemctl enable fail2ban
sudo systemctl start fail2ban

मौजूदा बैन की निगरानी करें:

bashsudo fail2ban-client status sshd

यह कॉन्फ़िगरेशन 10 मिनट की अवधि में 3 फेल SSH प्रयासों के बाद IP को 1800 सेकंड (30 मिनट) के लिए बैन करता है—ब्रूट-फ़ोर्स हमले रोकने के लिए काफ़ी सख़्त, और ग़लत बैन से बचने लायक।​

फ़ायरवॉल कॉन्फ़िगरेशन और नेटवर्क हार्डनिंग

स्टेप 5: UFW फ़ायरवॉल को सख़्त डिफ़ॉल्ट पॉलिसी के साथ कॉन्फ़िगर करें

कई एडमिन फ़ायरवॉल कॉन्फ़िगरेशन छोड़ देते हैं या बहुत ढीले नियम रखते हैं। ठीक से कॉन्फ़िगर किया गया फ़ायरवॉल बिना इजाज़त एक्सेस के खिलाफ़ आपकी पहली कतार है।​

UFW (Uncomplicated Firewall) इंस्टॉल और कॉन्फ़िगर करें:

bashsudo apt update && sudo apt install ufw -y

UFW चालू करने से पहले SSH को अनुमति दें, वरना आप लॉक हो सकते हैं:

bashsudo ufw allow 2222/tcp
sudo ufw allow ssh

सख़्त डिफ़ॉल्ट पॉलिसी सेट करें:

bashsudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw default deny routed

UFW चालू करें:

bashsudo ufw enable

वेब सर्वर के लिए HTTP और HTTPS को भी अनुमति दें:

bashsudo ufw allow 80/tcp
sudo ufw allow 443/tcp

संवेदनशील सेवाओं तक सिर्फ़ ख़ास IP को एक्सेस दें:

bashsudo ufw allow from 192.168.1.100 to any port 3306

अपना कॉन्फ़िगरेशन देखें:

bashsudo ufw status verbose

स्टेप 6: sysctl के साथ कर्नेल पैरामीटर हार्डनिंग लागू करें

सिस्टम एडमिन कर्नेल पैरामीटर डिफ़ॉल्ट से आगे शायद ही बदलते हैं—यह एक बड़ी चूक है। sysctl के ज़रिए कर्नेल हार्डनिंग नेटवर्क हमलों और एक्सप्लॉइट की पूरी श्रेणियों को रोक सकती है।​

हार्डनिंग कॉन्फ़िगरेशन फ़ाइल बनाएँ:

bashsudo nano /etc/sysctl.d/99-hardening.conf

कर्नेल हार्डनिंग के व्यापक पैरामीटर जोड़ें:

टेक्स्ट# Network Security
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.icmp_echo_ignore_all = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

# IPv6 Security
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.all.forwarding = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0

# Memory Protection
kernel.dmesg_restrict = 1
kernel.printk = 3 3 3 3
kernel.kptr_restrict = 2
kernel.core_uses_pid = 1
kernel.kexec_load_disabled = 1
fs.protected_hardlinks = 1
fs.protected_symlinks = 1

# Process Restrictions
kernel.unprivileged_userns_clone = 0
kernel.perf_event_paranoid = 3

हार्डनिंग तुरंत लागू करें:

bashsudo sysctl -p /etc/sysctl.d/99-hardening.conf

ये पैरामीटर IP फ़ॉरवर्डिंग बंद करते हैं (जब तक आपको इसकी ज़रूरत न हो), SYN फ़्लड हमले रोकने के लिए SYN कुकीज़ चालू करते हैं, IP स्पूफ़िंग रोकने के लिए रिवर्स-पाथ फ़िल्टरिंग चालू करते हैं, और जानकारी लीक होने से बचाने के लिए मेमोरी सुरक्षा लागू करते हैं।​

स्टेप 7: ग़ैर-ज़रूरी नेटवर्क सेवाएँ बंद करें

हर चलती सेवा एक संभावित हमला-सतह है। Debian के कई डिफ़ॉल्ट इंस्टॉलेशन में ऐसी सेवाएँ होती हैं जिनकी आपको ज़रूरत नहीं—मेल सर्वर, DNS रिज़ॉल्वर, और हेडलेस सर्वर पर तो Bluetooth तक।​

चल रही सेवाओं की पहचान करें:

bashsudo systemctl list-units --type=service --state=running

देखें कि कौन-सी सेवाएँ नेटवर्क पोर्ट पर सुन रही हैं:

bashsudo ss -tulnp

ग़ैर-ज़रूरी सेवाएँ बंद करें। एक साधारण वेब सर्वर के लिए आपको शायद इनकी ज़रूरत नहीं होगी:

bashsudo systemctl disable bluetooth.service
sudo systemctl disable cups.service
sudo systemctl disable avahi-daemon.service
sudo systemctl mask isc-dhcp-server
sudo systemctl mask isc-dhcp-server6

बंद करने के बाद सेवाएँ स्टॉप करें:

bashsudo systemctl stop bluetooth.service
sudo systemctl stop cups.service

लिख लें कि आपने कौन-सी सेवाएँ और क्यों बंद कीं—सिक्योरिटी ऑडिट के समय यह बहुत ज़रूरी हो जाता है।​

एक्सेस कंट्रोल और ऑथेंटिकेशन

स्टेप 8: SSH के लिए टू-फैक्टर ऑथेंटिकेशन लागू करें

टू-फैक्टर ऑथेंटिकेशन (2FA) सुरक्षा की दूसरी परत जोड़ता है: भले ही किसी को आपकी SSH प्राइवेट की मिल जाए, दूसरे फ़ैक्टर के बिना वह आपके सर्वर तक नहीं पहुँच सकता।​

TOTP (Time-based One-Time Password) के लिए Google Authenticator इंस्टॉल करें:

bashsudo apt update && sudo apt install libpam-google-authenticator -y

अपने यूज़र के तौर पर (root के तौर पर नहीं) 2FA कॉन्फ़िगर करें:

bashgoogle-authenticator -t -f -d -w 10 -r 3 -R 30

यह आपके ऑथेंटिकेटर ऐप से स्कैन करने के लिए QR कोड बनाता है। बैकअप कोड कहीं सुरक्षित जगह सहेजें—अगर आपका ऑथेंटिकेटर डिवाइस खो जाए, तो यही आपका रिकवरी का रास्ता है।​

2FA ज़रूरी करने के लिए PAM SSH कॉन्फ़िगरेशन बदलें:

bashsudo nano /etc/pam.d/sshd

इस लाइन को इसके पहले जोड़ें: @include common-auth:

टेक्स्टauth required pam_google_authenticator.so nullok

SSH डेमन कॉन्फ़िगरेशन संपादित करें:

bashsudo nano /etc/ssh/sshd_config

जोड़ें या बदलें:

टेक्स्टChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive

SSH रीस्टार्ट करें:

bashsudo systemctl restart ssh

मौजूदा सेशन बंद करने से पहले नए टर्मिनल में अपना कॉन्फ़िगरेशन जाँचें।​

Debian सर्वर एक्सेस को सुरक्षित करता टू-फैक्टर ऑथेंटिकेशन

स्टेप 9: यूज़र अकाउंट पॉलिसी मज़बूत करें

Debian में डिफ़ॉल्ट यूज़र अकाउंट पॉलिसी में पूरी रोक नहीं है। हार्डनिंग के बिना कमज़ोर पासवर्ड पॉलिसी और अकाउंट लॉकआउट का इंतज़ाम सिस्टम को क्रेडेंशियल चोरी के सामने खुला छोड़ देते हैं।​

संपादित करें /etc/login.defs में सख़्त पासवर्ड पॉलिसी लागू करने के लिए:

bashsudo nano /etc/login.defs

ये ज़रूरी सेटिंग बदलें:

टेक्स्टPASS_MAX_DAYS   30
PASS_MIN_DAYS   1
PASS_WARN_AGE   7
LOGIN_RETRIES   3
LOGIN_TIMEOUT   60
FAILLOG_ENAB    yes
LOG_UNKFAIL_ENAB yes
LOG_OK_LOGINS    yes
SYSLOG_SU_ENAB   yes

ग़ैर-ज़रूरी यूज़र अकाउंट बंद करें:

bashsudo passwd -l games
sudo passwd -l news
sudo passwd -l uucp

पासवर्ड ज़रूरी करने और sudo के इस्तेमाल का ऑडिट रखने वाला मज़बूत sudo कॉन्फ़िगरेशन बनाएँ:

bashsudo visudo

सुनिश्चित करें कि ये लाइनें मौजूद हैं:

टेक्स्टDefaults use_pty
Defaults log_input, log_output
Defaults requirepass
%sudo ALL=(ALL:ALL) ALL

यह sudo कमांड को स्यूडो-टर्मिनल में चलाता है, सारा इनपुट/आउटपुट लॉग करता है, और प्रिविलेज बढ़ाने के लिए पासवर्ड ऑथेंटिकेशन ज़रूरी करता है।​

मॉनिटरिंग, ऑडिटिंग और इंट्रूज़न डिटेक्शन

स्टेप 10: auditd के साथ व्यापक लॉगिंग लागू करें

ज़्यादातर एडमिन सिर्फ़ syslog पर निर्भर रहते हैं और auditd जो बारीक सुरक्षा घटनाएँ पकड़ता है, वे चूक जाते हैं। auditd फ़ॉरेंसिक जाँच और अनुपालन के लिए ज़रूरी बारीक ऑडिट ट्रेल देता है।​

auditd इंस्टॉल करें:

bashsudo apt update && sudo apt install auditd audispd-plugins -y

auditd कॉन्फ़िगर करने के लिए इसे संपादित करें /etc/audit/rules.d/audit.rules:

bashsudo nano /etc/audit/rules.d/audit.rules

अहम ऑडिट नियम जोड़ें:

टेक्स्ट# Remove any existing rules
-D

# Buffer Size
-b 8192

# Failure Mode
-f 2

# Audit the audit logs
-w /var/log/audit/ -k auditlog

# Audit system administration
-w /etc/sudoers -p wa -k sudoers
-w /etc/sudoers.d/ -p wa -k sudoers

# Audit system calls
-a always,exit -F arch=b64 -S execve -k exec
-a always,exit -F arch=b32 -S execve -k exec

# Audit file modifications
-w /etc/passwd -p wa -k identity
-w /etc/group -p wa -k identity

# Make the configuration immutable
-e 2

ऑडिट नियम लोड करें:

bashsudo systemctl restart auditd

ऑडिट लॉग देखें:

bashsudo ausearch -m EXECVE --start recent

ऑडिट रिपोर्ट बनाएँ:

bashsudo aureport

auditd बहुत बड़े लॉग बनाता है—डिस्क स्पेस की दिक्कत से बचने के लिए लॉग रोटेशन कॉन्फ़िगर करें।​

स्टेप 11: रूटकिट और मैलवेयर डिटेक्शन टूल इंस्टॉल करें

कई एडमिन मान लेते हैं कि उनका सिस्टम मैलवेयर-मुक्त है क्योंकि कुछ भी साफ़ तौर पर गड़बड़ नहीं दिखता। माहिर रूटकिट अपनी मौजूदगी छिपाकर हमलावर का एक्सेस बनाए रखते हैं।​

rootkit hunter इंस्टॉल करें:

bashsudo apt update && sudo apt install rkhunter -y
sudo rkhunter --update
sudo rkhunter --check --skip-warning

दूसरी राय के तौर पर मैलवेयर जाँच के लिए chkrootkit इंस्टॉल करें:

bashsudo apt install chkrootkit -y
sudo chkrootkit

फ़ाइल इंटीग्रिटी मॉनिटरिंग के लिए AIDE (Advanced Intrusion Detection Environment) इंस्टॉल करें:

bashsudo apt install aide aide-common -y
sudo aideinit
sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db
sudo aide --check

cron के ज़रिए हफ़्तेवार स्कैन शेड्यूल करें:

bashsudo nano /etc/cron.d/rootkit-checks

जोड़ें:

टेक्स्ट0 2 * * 0 root /usr/bin/rkhunter --check --skip-warning 2>&1 | mail -s "Weekly rootkit check" [email protected]
0 3 * * 0 root /usr/bin/aide --check 2>&1 | mail -s "Weekly AIDE check" [email protected]

ये टूल रूटकिट और मैलवेयर के पक्का होने से पहले आपको चेतावनी देते हैं।​

स्टेप 12: सिस्टम लॉग चालू करें और उनकी निगरानी करें

सिस्टम एडमिन अक्सर syslog चालू रखते हैं लेकिन लॉग कभी देखते नहीं। लॉग तभी काम के हैं जब आप उन पर सक्रिय रूप से नज़र रखें।​

व्यापक लॉगिंग के लिए rsyslog कॉन्फ़िगर करें:

bashsudo nano /etc/rsyslog.conf

सुनिश्चित करें कि ज़रूरी मॉड्यूल चालू हैं:

टेक्स्टmodule(load="imuxsock")
module(load="imklog")
module(load="imtcp")

input(type="imtcp" port="514")

logrotate के साथ लॉग रोटेशन कॉन्फ़िगर करें:

bashsudo nano /etc/logrotate.d/rsyslog

सही रोटेशन सुनिश्चित करें:

टेक्स्ट/var/log/syslog {
    daily
    rotate 14
    compress
    delaycompress
    notifempty
    create 0640 syslog adm
    sharedscripts
    postrotate
        /usr/lib/rsyslog/rsyslog-rotate
    endscript
}

रोज़ाना लॉग सारांश के लिए logwatch इंस्टॉल और कॉन्फ़िगर करें:

bashsudo apt install logwatch -y
sudo nano /etc/logwatch/conf/logwatch.conf

ईमेल डिलीवरी कॉन्फ़िगर करें:

टेक्स्टOutput = mail
Format = html
Email = [email protected]
Hostname = your-server-name

एक्सेस कंट्रोल और प्रिविलेज मैनेजमेंट

Multi-factor authentication security illustration with authenticator app and security verification layers protecting Debian 12 server access
टू-फैक्टर ऑथेंटिकेशन (2FA) सुरक्षा की एक ज़रूरी दूसरी परत जोड़ता है जिसमें SSH की और समय-आधारित वन-टाइम पासवर्ड दोनों चाहिए, जिससे प्राइवेट की चोरी होने पर भी बिना इजाज़त एक्सेस रुक जाता है।

स्टेप 13: मैंडेटरी एक्सेस कंट्रोल लागू करें और उसे बनाए रखें

Linux के सामान्य परमिशन सिस्टम (DAC) में इतनी बारीकी नहीं है कि कोई कॉम्प्रोमाइज़्ड ऐप सिस्टम को नुकसान पहुँचाने से रुक जाए। AppArmor प्रोफ़ाइल-आधारित मैंडेटरी एक्सेस कंट्रोल (MAC) देता है जो कॉम्प्रोमाइज़ के बाद सिस्टम के अंदर फैलने से बचाता है।​

Debian में AppArmor डिफ़ॉल्ट रूप से होता है, लेकिन अक्सर बहुत कम प्रोफ़ाइल लोड होती हैं। जाँचें कि AppArmor सक्रिय है:

bashsudo aa-status

अतिरिक्त AppArmor प्रोफ़ाइल इंस्टॉल करें:

bashsudo apt install apparmor-profiles apparmor-profiles-extra apparmor-utils -y

प्रोफ़ाइल रीलोड करें:

bashsudo systemctl reload apparmor

जाँचें कि सुरक्षा चालू है:

bashsudo aa-status | grep "profiles in enforce mode"

संवेदनशील ऐप के लिए कस्टम AppArmor प्रोफ़ाइल बनाएँ:

bashsudo aa-genprof /usr/bin/your-application

AppArmor ऐप को उसके तय संसाधनों तक सीमित रखता है, जिससे कॉम्प्रोमाइज़्ड वेब सर्वर सिस्टम फ़ाइलों या डेटाबेस कॉन्फ़िगरेशन तक नहीं पहुँच पाते।​

स्टेप 14: सुरक्षित फ़ाइल परमिशन और umask कॉन्फ़िगर करें

Debian में डिफ़ॉल्ट फ़ाइल परमिशन ग़ैर-ज़रूरी पढ़ने की छूट देते हैं। सही umask कॉन्फ़िगरेशन संवेदनशील फ़ाइलों को सभी के लिए पढ़ने योग्य होने से रोकता है।​

मौजूदा umask जाँचें:

bashumask

यहाँ सुरक्षित डिफ़ॉल्ट सेट करें: /etc/profile.d/ — सभी यूज़र के लिए:

bashsudo nano /etc/profile.d/secure-umask.sh

जोड़ें:

टेक्स्टif [ $UID -ge 1000 ]; then
    umask 0077
else
    umask 0027
fi

इसे एक्ज़ीक्यूटेबल बनाएँ:

bashsudo chmod 644 /etc/profile.d/secure-umask.sh

मौजूदा फ़ाइल परमिशन में जाँचें कि कौन-सी संवेदनशील फ़ाइलें सभी के लिए पढ़ने योग्य हैं:

bashsudo find /etc -type f -perm -444 -exec ls -l {} \;
sudo find /home -type f -perm -444 -exec ls -l {} \;

ग़ैर-ज़रूरी रीड परमिशन हटाएँ:

bashsudo chmod 600 /etc/ssh/sshd_config
sudo chmod 640 /etc/sudoers

स्टेप 15: ग़ैर-ज़रूरी फ़ाइलसिस्टम कैपेबिलिटी बंद करें

आधुनिक Linux सिस्टम में बाइनरी root/नॉन-root के फ़र्क़ की जगह प्रोग्राम को बारीक कैपेबिलिटी दी जाती हैं। सिस्टम बाइनरी पर ग़ैर-ज़रूरी कैपेबिलिटी प्रिविलेज बढ़ाने के रास्ते बनाती हैं।​

सिस्टम बाइनरी पर मौजूद कैपेबिलिटी की पहचान करें:

bashgetcap -r /usr/bin 2>/dev/null
getcap -r /usr/sbin 2>/dev/null

ग़ैर-ज़रूरी कैपेबिलिटी हटाएँ (उदाहरण):

bashsudo setcap -r /usr/bin/dumpcap
sudo setcap -r /usr/bin/chsh

लिख लें कि आपके ऐप के लिए कौन-सी कैपेबिलिटी ज़रूरी हैं और बाकी हटा दें—हर एक, अगर उसका फ़ायदा उठाया गया, तो प्रिविलेज बढ़ाने का संभावित रास्ता है।​

निरंतर हार्डनिंग और रखरखाव

इन 15 हार्डनिंग स्टेप को लागू करने के बाद सुरक्षा एक चलती प्रक्रिया बन जाती है:

मासिक काम: ऑडिट लॉग में अनियमितताएँ देखें, Fail2ban बैन के पैटर्न जाँचें, ज़रूरत के हिसाब से कर्नेल पैरामीटर अपडेट करें, और जाँचें कि AppArmor प्रोफ़ाइल ठीक चल रही हैं।

तिमाही काम: पूरे रूटकिट स्कैन चलाएँ, फ़ायरवॉल नियमों में ग़ैर-ज़रूरी छूट देखें, निष्क्रिय एक्सेस के लिए यूज़र अकाउंट का ऑडिट करें, और देखें कि कौन-सी पुरानी सेवाएँ बंद की जा सकती हैं।

सालाना: Lynis जैसे टूल से पूरे सिक्योरिटी ऑडिट करें, सारी सुरक्षा पॉलिसी की समीक्षा करके अपडेट करें, डिज़ास्टर रिकवरी प्रक्रियाएँ जाँचें, और इंसिडेंट रिस्पॉन्स प्लान अपडेट करें।

निष्कर्ष

कमज़ोर Debian 12 सर्वर और हार्डन किए गए सर्वर का फ़र्क़ इन 15 स्टेप को अंजाम देने में है, जिन्हें कई सिस्टम एडमिन छोड़ देते हैं। ऑटोमैटिक सिक्योरिटी अपडेट और SSH की हार्डनिंग से लेकर कर्नेल पैरामीटर ट्यूनिंग, व्यापक लॉगिंग और निरंतर मॉनिटरिंग तक, हर कदम ऐसे ख़ास हमला-रास्तों को बंद करता है जिनका माहिर हमलावर रोज़ फ़ायदा उठाते हैं।​

बुनियादी स्टेप से शुरू करें—अपने आप अपडेट होना, SSH की ऑथेंटिकेशन लागू करना, फ़ायरवॉल कॉन्फ़िगर करना और 2FA चालू करना। फिर मॉनिटरिंग और इंट्रूज़न डिटेक्शन की ओर बढ़ें। सब कुछ एक साथ लागू करने की कोशिश न करें; चरणों में हार्डनिंग करने से कॉन्फ़िगरेशन की ग़लतियाँ बचती हैं और आप हर हिस्से को समझ पाते हैं। अपने बदलाव पूरी तरह लिखें, प्रोडक्शन में लगाने से पहले कॉन्फ़िगरेशन जाँचें, और नियमित मॉनिटरिंग बनाए रखें।

आपका Debian 12 सर्वर कभी 100% सुरक्षित नहीं होगा—सुरक्षा एक चलती यात्रा है, मंज़िल नहीं। लेकिन इन 15 हार्डनिंग स्टेप को लागू करके आप वे आसान मौके खत्म कर देते हैं जिनका ऑटोमेटेड हमले फ़ायदा उठाते हैं, और ऐसी सुरक्षा खड़ी कर देते हैं जो सबसे ज़िद्दी और संसाधन-संपन्न हमलावरों के सिवा बाकी सबको रोक सके।

अपना सिग्नल जोड़ें।

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड चिह्नित हैं *

hi_INहिन्दी