सर्व्हर फायरवॉल सेटअप म्हणजे सर्व्हरवर आवश्यक पोर्ट्सच खुले ठेवून बाकी सर्व ट्रॅफिकला बंद करणे; DDoS, brute force आणि हानिकारक बॉट ट्रॅफिकवर प्रथम सुरक्षेची पातळी तयार होते. मुख्य उद्दिष्ट म्हणजे SSH प्रवेश मर्यादित करणे, वेब सर्व्हिसेस नियंत्रितपणे खुले ठेवणे, संशयास्पद विनंत्यांना rate limiting लावणे, लॉग्स मॉनिटर करणे आणि शक्य असेल तर CDN/WAFसारख्या उच्च पातळीच्या संरक्षणांनी ट्रॅफिक सर्व्हरपर्यंत येण्यापूर्वीच फिल्टर करणे.
वेब सर्व्हर इंटरनेटला जोडल्यावर काही मिनिटांतच पोर्ट स्कॅनिंग, SSH लॉगिन ट्राय, vuln bots आणि बनावट user-agent ट्रॅफिक दिसू शकते. खासकरून WordPress, e-commerce, admin panel, API किंवा गेम सर्व्हर चालवताना फायरवॉल हा केवळ तांत्रिक पर्याय नसून, स्थिरतेसाठी आवश्यक आहे. या मार्गदर्शिकेत Linux सर्व्हरवर फायरवॉल आर्किटेक्चर कसे तयार करावे हे टप्प्याटप्प्याने पाहणार आहोत; UFW, firewalld, nftables, Fail2ban, WAF आणि DDoS कमी करण्याचे उपाय एकत्र समजावून घेऊ.
एक महत्वाचा मुद्दा: स्थानिक सर्व्हर फायरवॉल मोठ्या प्रमाणातील DDoS हल्ले थांबवू शकत नाही. 20 Gbps, 80 Gbps किंवा त्याहून मोठा हल्ला datacenter किंवा network backboneपर्यंत पोहोचल्यावर, packet तुमच्या OS firewall ruleपर्यंत येण्याआधीच bandwidth भरून जाते. म्हणून योग्य मार्ग म्हणजे layered security: provider level DDoS protection, CDN/WAF, OS firewall, app rate limiting आणि नियमित लॉग विश्लेषण हे एकत्र वापरावे. योग्य infrastructure निवडण्यासाठी Hostragons VPS आणि VDS सेवा उपाय आणि सुरक्षित web hostingसाठी Hostragons वेब होस्टिंग पॅकेज या लिंक वापरा.
सर्व्हर फायरवॉलचे कार्य काय?
सर्व्हर फायरवॉल म्हणजे नेटवर्क ट्रॅफिक source IP, destination IP, पोर्ट, प्रोटोकॉल, कनेक्शन स्टेटस आणि कधीकधी packet characteristicsनुसार फिल्टर करणारी सुरक्षा पातळी. उदाहरणार्थ; वेबसाइटसाठी 80 व 443 पोर्ट खुले असावेत, पण database पोर्ट 3306 इंटरनेटला खुले असू नये. SSHसाठी 22 पोर्ट सर्वांना खुले ठेवण्याऐवजी केवळ तुमच्या ऑफिस IPला allow करणे सुरक्षित आहे.
फायरवॉलचा उद्देश सर्व हल्ले जादूने गायब करणे नव्हे; मुख्य लक्ष्य म्हणजे attack surface कमी करणे. जितका attack surface लहान तितके हल्ले कमी. नवीन Linux सर्व्हरवर SSH, web panel, mail service, database, monitoring agent व test services एकत्र खुले राहतात, हे प्रत्येक वेगळा risk निर्माण करतात. योग्य फायरवॉल “default deny, allow only what’s needed” या तत्त्वावर चालतो.
DDoS आणि बॉट ट्रॅफिक समजून घेणे
DDoS हल्ले वेगळे का?
DDoS म्हणजे distributed denial of service, अनेक sourceमधून एकत्र ट्रॅफिक पाठवून सेवा access करता येऊ नये असा हल्ला. कधी bandwidth भरतो, कधी serverच्या CPU/RAM resources संपवतो, कधी application layerवर महागडी processes उघडतो. उदा. सेकंदाला ५०,००० HTTP request आले तर छोटा app server network भरला नसला तरी PHP-FPM, Node.js किंवा database connection poolमुळे reply देणे अशक्य होते.
सर्व बॉट्स वाईट असतात का?
नाही. Googlebot, Bingbot आणि काही monitoring bots उपयोगी असतात. पण malicious bots admin scan, open directory search, form spam, content चोरी, XML-RPC misuse, fake registration आणि login attempts करतात. म्हणून bot managementमध्ये सर्व बॉट्स थांबवण्याऐवजी वर्तनावर आधारित filters वापरणे महत्वाचे. जास्त error rate, खूप कमी वेळात जास्त request, real browserसारखे headers नसणे आणि संशयास्पद URL pattern हे मुख्य संकेत आहेत.
सेटअपपूर्वी तपासणी यादी
Live सर्व्हरवर फायरवॉल setup करताना सर्वात मोठा risk म्हणजे accidental lockout — म्हणजे तुम्हीच सर्व्हरवरून बाहेर पडता! म्हणून setupपूर्वी ही तयारी करा. खालील checklist production वातावरणात सुरक्षित सुरुवात देतो.
- Active SSH session बंद करू नका; दुसऱ्या terminalवर test करा.
- सर्व्हर provider कडून console, VNC किंवा recovery access उपलब्ध आहे का हे तपासा.
- सध्याचे खुले पोर्ट तपासा: ss -tulpn किंवा netstat -tulpn output पहा.
- Web, mail, DNS, database, panel आणि monitoring service कोणते पोर्ट वापरतात ते नोंदवा.
- IPv6 वापरत असल्यास IPv6 firewall ruleही तयार करा.
- पहिले allow म्हणजे permit rules, नंतर deny म्हणजे block rules लागू करा.
- Rule set permanent आहे का तपासा; server restartनंतरही कायम असावा.
उदा. फक्त website hosting असलेल्या typical सर्व्हरवर बाहेर खुले ठेवायचे पोर्ट म्हणजे 80, 443 आणि मर्यादित SSH. Mail service नसेल तर 25, 465, 587, 993 पोर्ट खुले ठेवण्याची गरज नाही. Database फक्त local असलास 3306 किंवा 5432 पोर्ट बाहेरील internetला बंद असावेत.
कोणता फायरवॉल टूल निवडावे?
Linuxमध्ये अनेक टूल्स आहेत; बहुतेक एकच kernel filtering infrastructure वेगवेगळ्या interfaceने manage करतात. नवशिक्यांसाठी UFW सोपा आणि जलद आहे. Enterprise किंवा Red Hat बेस्ड OSमध्ये firewalld वापरतात. Advanced scenarioसाठी nftables modern आणि flexible आहे. खालील टेबल निर्णय सोपा करतो.
| टूल | योग्य वापर | फायदा | काळजी |
|---|---|---|---|
| UFW | Ubuntu/Debian बेस्ड साधे web server | सोपे syntax, जलद setup | Complex rulesetमध्ये मर्यादा |
| firewalld | AlmaLinux, Rocky Linux, CentOS Stream, RHEL | Zone concept, permanent rule, service profiles | Runtime vs permanent फरक समजावा |
| nftables | Advanced Linux network security | Modern, fast, flexible | Wrong rule access outage करू शकतो |
| Cloud Security Groups | VPS, cloud आणि datacenter perimeter | Traffic serverपर्यंत येण्याआधी filter | OS firewallला पूरक, replacement नाही |
| WAF/CDN | Web application आणि HTTP attacks | Bot, HTTP flood, vulnerability scan कमी करतो | DNS आणि real IP config योग्य असावा |
टप्प्याटप्प्याने सर्व्हर फायरवॉल सेटअप
1. खुले पोर्ट व सर्व्हिसेस ओळखा
पहिला टप्पा म्हणजे काय खुले आहे ते तपासणे. Linux serverवर ss -tulpn commandने कोणती service कोणत्या portवर listen करते हे दिसते. उदा. nginx 0.0.0.0:80 व 0.0.0.0:443 वर listen करत असेल तर web traffic सर्व interfaceवर येऊ शकतो. MariaDB 0.0.0.0:3306 वर listen करत असेल तर हा risk असतो; बहुतेक websiteमध्ये database 127.0.0.1वर चालावा.
सरळ नियम: इंटरनेटवर accessible नसलेल्या सर्व्हिस 0.0.0.0वर listen करू नये. आधी service config सुधारावा, नंतर firewallने बंद करावा. कारण firewall disable झाला तरी service बाहेर खुले राहू नये.
2. Default policy बंद करा
Secure rulesetमध्ये incoming traffic default block असतो, outgoing traffic गरजेनुसार allow. ही पद्धत नंतर जोडलेल्या servicesमुळे accidental exposure टाळते. UFW वापरून Ubuntu server setup: पहिले SSH allow करा, नंतर 80 व 443 खुले करा, default incoming policy deny ठेवा, आणि firewall enable करा.
उदाहरण flow: Admin IPसाठी SSH allow करा, HTTP/HTTPS traffic open करा, unwanted port बंद करा, मग firewall active करा. SSH allow न करता firewall enable करणे — remote serverवर सर्वात सामान्य mistake.
3. SSH access मर्यादित करा
SSH हे सर्वात जास्त target होणारे service आहे. Default 22 port खुले असेल तर रोज शेकडो password attempt येतात. Best approach म्हणजे SSH access specific IPsपुरते मर्यादित करणे. Fixed IP असेल तर फक्त ऑफिस/VPN IP allow करा. Fixed IP नसेल तर कमीत कमी key-based authentication वापरा आणि password login disable करा.
- SSH root login direct बंद करा.
- Passwordऐवजी SSH key वापरा.
- AllowUsers/AllowGroupsने वापरकर्ता मर्यादित करा.
- Fail2banने failed attempt auto-block करा.
- Admin panel port IP restriction लागू करा.
Port बदलणे केवळ bot traffic कमी करतो — real protection IP restriction, strong authentication व log monitoringमध्ये आहे.
4. Web port नियंत्रितपणे खुले करा
Website सर्व्हरला 80 व 443 पोर्ट लागतात. पण आज 443 म्हणजे HTTPS मुख्य traffic port असावा; 80 फक्त HTTPS redirectसाठी. SSL certificate नसलेली site user trust आणि SEO दोन्ही बिघडवते. म्हणून Hostragons SSL प्रमाणपत्र लिंकने secure HTTPS setupकडे वाचकांना मार्गदर्शन करा.
Web port open करताना real IP trafficवर focus करा. CDN किंवा reverse proxy असेल तर serverचे 80/443 सर्व internetला खुले ठेवण्याऐवजी CDN IP rangesना allow करा. attackerला server real IP माहित असले तरी direct web service access मिळणार नाही.
5. Database आणि internal services इंटरनेटला बंद ठेवा
MySQL, MariaDB, PostgreSQL, Redis, Elasticsearch, MongoDB यांसारख्या services internetवर खुले राहिल्यास मोठा धोका निर्माण होतो. Redis authentication नाही, Elasticsearch unauthorized access, MongoDB विनापासवर्ड admin access — यामुळे अनेक data leak झाले आहेत. हे services फक्त localhost किंवा private networkवरच listen करा.
उदा. WordPress site एकाच serverवर असेल तर database 127.0.0.1वर चालवा. वेगळा app/database server असेल तर फक्त app serverच्या private IPला access allow करा. Internetवर 3306/5432 allow करणे — botsने सतत scan होणारी मोठी mistake.
6. Fail2banने brute force attempts थांबवा
Fail2ban logs monitor करून repeated failed login attempt ओळखतो आणि त्या IPला temporary block करतो. SSH, nginx, Apache, Postfix, Dovecot, WordPress login, admin panel servicesसाठी jail definition तयार करता येते. उदा. १० मिनिटात ५ failed SSH attempt केल्यास ती IP १ तास block करणे — सोपा पण प्रभावी उपाय.
Fail2ban configमध्ये overly aggressive rule टाळा; चुकीचा log pattern real userला block करू शकतो. सुरुवातीला bantime moderate ठेवा, logs monitor करा, आणि नंतर gradual tightening करा.
7. Rate limiting आणि connection limit जोडा
DDoS आणि bot trafficवर OS level rate limiting उपयोगी. उदा. एका IPकडून secondsमध्ये खूप connection आले तर limit enforce करा. Nginxसाठी limit_req/limit_conn, Apacheसाठी mod_evasive वगैरे वापरा. Application levelवर login, search, cart, payment, API endpointसाठी rate limit लावा.
उदा. Login pageवर एका IPसाठी minuteमध्ये 10 attempt, search endpointवर secondमध्ये 2-5 request. APIसाठी user token limit, IP limit आणि behavioral analysis एकत्र वापरा — attacker IP बदलून limit bypass करू शकत नाही.
UFWने secure setup उदाहरण
Ubuntu/Debian serverवर secure सुरुवात: सध्याचे services तपास, admin IPवर SSH allow, 80/443 open, incoming default deny, UFW status check. SSH access fixed IPने मर्यादित नसेल तर initially सर्व IP allow करा, नंतर VPN किंवा static IPवर migrate करा.
उदा. 203.0.113.10 admin IP. SSH फक्त याच IPवर. Web traffic 80/443 सर्वांसाठी खुले. Database, Redis, panel, test port बाहेरील internetला बंद. हे structure लहान-मध्यम संस्था websiteसाठी उत्तम आहे. Domain/DNS rightsाठी Hostragons डोमेन तपासणी आणि नोंदणी लिंक वापरा.
firewalld zone पद्धती
AlmaLinux, Rocky Linux, RHEL serverवर firewalld वापरणे सामान्य आहे. firewalld zone conceptवर चालतो. Public zone internet-facing interfacesसाठी, trusted zone private networkसाठी, drop zone unwanted traffic dropसाठी. Runtime rule लगेच लागू, पण restartनंतर नाही; permanent rule कायम, पण reload लागतो.
Enterprise environmentमध्ये firewalld service-based definition वापरल्याने काम सोपे होते. HTTP/HTTPS public zoneवर open करा, SSH फक्त specific source IP allow करा. Management, backup, user traffic वेगवेगळ्या interfacesवर असेल तर zone structure security आणि readability वाढवते.
CDN, WAF आणि provider-level DDoS protection
Local firewall packets serverवर पोहोचल्यावर process होतात. मोठ्या DDoS हल्ल्यात traffic serverपर्यंत येण्यापूर्वी filter करणे आवश्यक. CDN, WAF, provider-level DDoS protection यामुळे मोठा फरक पडतो. CDN static content edge locationवर serve करतो, WAF app-layer malicious request filter करतो, provider protection network-level massive attack absorb किंवा filter करतो.
Ideal configuration: DNS record CDNवरून resolve, server real IP hide, firewall 80/443वर CDN IP rangesना allow, management port VPN/static IPवर accessible. यामुळे direct IPला हल्ला शक्यता कमी, bot traffic applicationला येण्यापूर्वी filter. वेब सुरक्षा आणि performanceसाठी वेब साइट गती वाढविणे आणि सुरक्षा मार्गदर्शक लिंक वापरा.
बॉट्सवर application-layer उपाय

Bot blocking फक्त IP ban नव्हे. Modern bots proxy, mobile, datacenter IP व variable user-agent वापरतात. म्हणून behavioral approach आवश्यक. Short timeमध्ये same IPने खूप login attempt, constant 404 scan, wp-login.php/xmlrpc.php traffic spike, unusual click pattern, suspicious header यांचा analysis करा.
- Login/registration formsमध्ये rate limit लागू करा.
- Unnecessary XML-RPC access बंद/मर्यादित करा.
- Admin panel वेगळ्या URL, IP restriction व multi-factor authenticationने सुरक्षित करा.
- Suspicious user-agent/referrer WAF levelवर filter करा.
- Formsमध्ये CAPTCHA किंवा invisible bot check समतोल ठेवा.
- API endpointसाठी key, signature, quota, timestamp check implement करा.
Bot managementमध्ये user experience खराब होऊ नये. Excessive CAPTCHA, aggressive blocking, wrong country block real ग्राहकांना त्रास देऊ शकते. म्हणून measurement, testing, gradual tightening हाच सर्वोत्तम मार्ग.
लॉग मॉनिटरिंग व अलार्म नियम
Setup पूर्ण झाला असे समजणे एक सामान्य चूक आहे. Firewall हा living system आहे; नियमित मॉनिटरिंग आवश्यक. auth.log/secureमध्ये SSH attempt, nginx access logमध्ये abnormal request, error logमध्ये 404/500 spike, system metricsमध्ये CPU/connection count monitor करा. Basic alertही attack सुरू झाल्यावर precious minutes वाचवतो.
उदा. 5 मिनिटात same IPने >100 404 request, 1 मिनिटात login pageला >20 attempt, CPU usage 10 मिनिट >90%, connection count normalपेक्षा 3x. हे threshold प्रत्येक siteनुसार बदलते; महत्वाचे म्हणजे normal traffic pattern ओळखणे.
कॉमन चुका आणि त्यावर उपाय
- SSH allow न करता firewall enable: Remote server access बंद होऊ शकतो. नेहमी दुसऱ्या sessionवर test करा.
- IPv6 विसरणे: IPv4 बंद असताना IPv6वर service खुले राहू शकतो.
- Database internetला खुले ठेवणे: 3306, 5432, 6379, 9200 हे पोर्ट bots सतत scan करतात.
- CDN वापरून real IP खुले ठेवणे: Attacker CDN bypass करून direct serverवर हल्ला करू शकतो.
- Rules document न करता बदलणे: Emergencyमध्ये rule purpose ओळखणे कठीण.
- Backup access plan न ठेवणे: Wrong ruleमुळे console access नसेल तर downtime वाढतो.
फायरवॉल धोरणाचा व्यावहारिक उदाहरण
छोट्या कंपनीच्या websiteसाठी summary policy: incoming traffic default बंद; 443 सर्वांना खुले; 80 फक्त HTTPS redirectसाठी; SSH फक्त VPN/static admin IPवर; database localhost/private networkवर; CDN वापरल्यास 80/443 फक्त CDN IP ranges allow; Fail2ban SSH/web login monitor; daily logs central monitoring toolला पाठवा.
मध्यम e-commerce siteमध्ये extra: payment callback IP allowlist, admin panel VPN मागे, API user quota लागू, WAFवर SQL injection/XSS rule active, country/ASN temporary filtering plan. Policy documented असावी; attack वेळेस predefined procedure downtime कमी करतो.
Testing: Firewall rules काम करतात का?
Setupनंतर testing करणे आवश्यक. वेगळ्या networkवर port scan करा, SSH access फक्त allowed IPने verify करा, website HTTPS accessible आहे का तपासा, database port externally बंद आहे का पहा. CDN वापरल्यास real server IPला direct HTTP request करून blocked आहे का confirm करा.
Testमध्ये production systemला हानीकारक aggressive scan करू नका; उद्देश secure validation. प्रत्येक rule बदलानंतर rule export किंवा note करा — problem आल्यास healthy config restore सोपे होते.
Maintenance आणि update plan
Server security एकदाच setup करून विसरण्याचा विषय नाही; नियमित maintenance आवश्यक. नवे service जोडल्यावर port requirement revise करा, जुने service काढल्यावर related permission delete करा, security update वेळेवर लागू करा, logs periodical check करा. महिन्यातून एकदा open port audit, quarterला firewall ruleset review — चांगली सुरुवात.
Backup plan हा security strategyचा भाग आहे. DDoSमुळे access बंद होऊ शकतो, पण ransomware/unauthorized accessमुळे data lossही शक्य. Secure hosting, SSL, domain management, backup — हे एकत्र विचार करा. यासाठी सुरक्षित होस्टिंगची निवड करताना काळजी घेण्यासारख्या गोष्टी आणि SSL प्रमाणपत्र स्थापना कशी करावी हे link natural follow-up आहेत.
निष्कर्ष
Server firewall setup DDoS आणि botsपासून server invisible करत नाही; पण attack surface मोठ्या प्रमाणात कमी करतो, unauthorized access risk घटवतो आणि incident response अधिक controlमध्ये ठेवतो. सर्वोत्तम परिणाम provider-level DDoS protection, CDN/WAF, strict port policy, SSH restriction, Fail2ban, rate limiting, regular log monitoring एकत्र वापरून मिळतो.
नवीन project launch करताना firewall policy सुरुवातीलाच plan करा — नंतर change करण्यापेक्षा सोपे. Hostragonsवर server, hosting, domain, SSL infrastructure विचारताना security requirementही समाविष्ट करा — मजबूत web environment तयार होईल. सुरुवातीला छोट्या checklistने सुरुवात करा: open port बंद करा, SSH restrict करा, HTTPS mandatory करा, logs monitor करा.
वारंवार विचारले जाणारे प्रश्न
Server firewall पूर्णपणे DDoS हल्ला थांबवतो का?
नाही. Local firewall छोटे आणि काही protocol-level attacks कमी करू शकतो, पण मोठ्या DDoS हल्ल्यास provider-level DDoS protection, CDN आणि WAF लागतात.
Web serverवर कोणते ports खुले ठेवावेत?
Standard web serverवर 80 व 443 खुले असावेत. SSH फक्त admin IPला allow. Database आणि internal service ports internetला बंद.
UFW की firewalld वापरावे?
Ubuntu/Debianसाठी UFW सोपा start देतो. AlmaLinux, Rocky Linux, RHELसाठी firewalld सामान्य. Advanced/custom scenarioसाठी nftables usable.
Bot traffic फक्त IP blockने थांबवता येईल का?
बहुतेक वेळेस नाही. Modern bots वेगवेगळे IP/proxy वापरतात. IP blockसोबत rate limiting, WAF rules, behavioral analysis, CAPTCHA, application quota लागतात.
Firewall setupमध्ये सर्वात मोठा धोका काय?
सर्वात मोठा धोका म्हणजे accidental SSH access cutoff. म्हणून पहिल्यांदा SSH allow, दुसऱ्या sessionवर test, provider console access तयार ठेवा.