VPSలో UFW ఫైర్వాల్ ఎలా సెటప్ చేయాలి
VPSలో UFW ఫైర్వాల్ సెటప్ కోసం default-deny విధానం పెట్టి, అవసరమైన పోర్టులు మాత్రమే అనుమతించండి. SSH లాక్ అవ్వకుండా జాగ్రత్తపడి ఫైర్వాల్ ఆన్ చేయడం ఎలాగో తెలుసుకోండి.
UFW అంటే ఏమిటి మరియు దాని అవసరం ఎందుకు
UFW అంటే Uncomplicated Firewall. ఆ పేరు పూర్తిగా నిజం. ఇది Linux కర్నల్లో ఇప్పటికే ఉన్న ఫైర్వాల్పై ఒక సులభమైన ఇంటర్ఫేస్. కాబట్టి మీరు ముడి నియమాలను రాయకుండా ufw allow 22/tcp వంటి చిన్న ఆదేశాలను టైప్ చేస్తారు. కొత్త VPSలో, ప్రతి శ్రవణ సేవ ఇంటర్నెట్ నుండి ప్రాథమికంగా చేరుకోగలదు. ఫైర్వాల్ దాన్ని వ్యతిరేకిస్తుంది: మీరు ప్రతిదాన్నీ తిరస్కరిస్తారు, తర్వాత మీరు వాస్తవానికి ఉపయోగించే కొన్ని పోర్టులను మాత్రమే అనుమతిస్తారు. ఆ ఒక్క మార్పు దాదాపు నాలుగు ఆదేశాల్లో మీ బహిర్గత ప్రమాదాన్ని చాలా వరకు తొలగిస్తుంది.
మీరు దాన్ని తాకడానికి ముందు, ఏది వింటోడుతోందో తెలుసుకోండి. ఎందుకంటే ఫైర్వాల్ ఆ సేవల భవిష్యత్తును నిర్ణయిస్తుంది. ss -tlnpతో ఏది వింటోడుతోందో చదవడం సరైన మొదటి అడుగు.
మిమ్మల్ని మీరే లాక్ చేసుకోకుండా కాపాడే ఒక్కటే నియమం
ఫైర్వాల్ల వల్ల వ్యక్తులు భయపడే తప్పు ఇది. మీరు UFW ని default-deny విధానంతో ప్రారంభిస్తారు, కానీ SSH ని ముందుగా అనుమతించలేదు. దాంతో ఫైర్వాల్ వచ్చిన క్షణంలోనే మీ కనెక్షన్ తుండిపోయి, మీరు మళ్లీ లోపలికి వెళ్లలేరు. UFW ని ప్రారంభించడానికి ముందు ఎల్లప్పుడూ SSH ని అనుమతించడం ద్వారా దీన్ని నివారించండి. ఇదే మొత్తం ఉపాయం. దిగువ దశలు దీన్ని సురక్షిత క్రమంలో చేస్తాయి.
ఏమైనా అలా జరిగితే, మీరు ఇబ్బందిలో పడరు. మీ ప్రొవైడర్ యొక్క వెబ్ కన్సోల్, VNC లేదా సీరియల్ ద్వారా, SSH మీదుగా వెళ్లదు. కాబట్టి మీరు అక్కడ లాగిన్ అవ్వచ్చు, ufw disable ని రన్ చేయచ్చు లేదా మిగిలిన రూల్ని జోడించచ్చు.
దశ 1: డిఫాల్ట్ విధానాలను సెట్ చేయండి
ముందుగా, లోపలికి వచ్చే ప్రతిదాన్ని తిరస్కరించడానికి మరియు బయటకు వెళ్లే ప్రతిదాన్ని అనుమతించడానికి UFW కు సూచించండి:
sudo ufw default deny incoming
sudo ufw default allow outgoingdeny incoming ముఖ్యమైన భాగం. దీనర్థం స్పష్టమైన అనుమతి నియమం లేని ఏ పోర్ట్ అయినా బాహ్య ప్రపంచానికి మూసివేయబడుతుంది, ఒక సేవ దానిపై వింటూ ఉన్నా సరే. allow outgoing మీ సర్వర్ అప్డేట్ల కోసం సాధారణంగా ఇంటర్నెట్ను చేరుకోవడానికి అనుమతిస్తుంది. ఈ రెండు ఆదేశాలు విధానాన్ని మాత్రమే మారుస్తాయి; దశ 3లో మీరు UFW ను ప్రారంభించే వరకు ఏదీ అమలు చేయబడదు.
దశ 2: మీకు నిజంగా అవసరమైన పోర్టులను అనుమతించండి
ప్రారంభించడానికి ముందు, SSH ను తెరవండి తద్వారా మీ కనెక్షన్ నిలిచివుంటుంది:
sudo ufw allow 22/tcpUFW మీ SSH కి రేట్ లిమిట్ ను కూడా వర్తింపజేస్తుంది: sudo ufw limit 22/tcp పోర్టును అనుమతిస్తుంది, కానీ ముప్పై సెకన్లలో ఆరు లేదా అంతకంటే ఎక్కువ కనెక్షన్లను చేసే ఏ చిరునామాను అయినా నిరోధిస్తుంది. ఇది అదనపు సాఫ్ట్వేర్ లేకుండానే బ్రూట్-ఫోర్స్ స్క్రిప్టులను అడ్డుకుంటుంది.
మీరు వెబ్ సర్వర్ను నడుపుతుంటే, HTTP మరియు HTTPS లను కూడా అనుమతించండి:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcpమీరు ప్రజలకు అందించే వాటిని మాత్రమే అనుమతించండి. పోర్టు 5432 లో ఉన్న Postgres వంటి డేటాబేస్కు దాదాపు ఎప్పుడూ అనుమతి నియమం అవసరం లేదు. దానిని 127.0.0.1 కు బద్దలు చేయండి, తద్వారా అది ఆ యంత్రాంగంలో మాత్రమే చేరుకోగలుగుతుంది. మీరు తెరిచే ప్రతి పోర్టు ఇప్పుడు మీరు రక్షించాల్సిన ఒక ద్వారం, కాబట్టి జాబితాను చిన్నదిగా ఉంచండి.
మీరు మీ సర్వర్ కోసం ఇక్కడ ufw ఆదేశాల పూర్తి క్రమాన్ని కూడా సిద్ధం చేయవచ్చు, తర్వాత వాటిని క్రమంలో అమలు చేయండి:
దశ 3: ప్రారంభించండి, మరియు అది చాలును నిర్ధారించండి
sudo ufw enableఈ ఆదేశం ఇప్పటికే ఉన్న SSH అనుసంధానాలను భంగం చేసే అవకాశం ఉందని హెచ్చరిస్తుంది. దశ 2లో మీరు 22/tcp అనుమతించారు కాబట్టి, మీ సెషన్ కొనసాగుతుంది. ఫలితాన్ని నిర్ధారించండి:
sudo ufw status verboseStatus: active
Default: deny (incoming), allow (outgoing)
To Action From
-- ------ ----
22/tcp ALLOW IN Anywhere
22/tcp (v6) ALLOW IN Anywhere (v6)
80/tcp ALLOW IN Anywhereఇక్కడ రెండు విషయాలను గమనించండి. Status: active అంటే ఫైర్వాల్ నడుస్తోంది. ప్రతి నియమం రెండుసార్లు కనిపిస్తుంది, ఒకసారి సాధారణంగా మరియు ఒకసారి (v6)తో, ఇది UFW IPv4తో పాటు IPv6ను కూడా నిర్వహిస్తుందని చెబుతుంది. (v6) పంక్తులు లేకపోతే, మీ IPv6 వైపు నిర్వహించబడటం లేదు, ఇది IPv6 ఫైర్వాల్ పోస్ట్లో వివరించబడిన ప్రత్యేక సమస్య.
నియమాలను తరువాత నిర్వహించడం
ఒక నియమాన్ని తొలగించడానికి వీలుగా, సంఖ్యలతో కూడిన నియమాలను చూడటానికి:
sudo ufw status numbered
sudo ufw delete 3ఒక పోర్టును కేవలం ఒకే చిరునామా నుండి మాత్రమే అనుమతించడం, మీ సొంత IPకి మాత్రమే ఒక నిర్వాహక సేవను బహిర్గతం చేయడానికి మంచి మార్గం:
sudo ufw allow from 10.0.0.24 to any port 5432 proto tcpఫైర్వాల్ ఒక పొర మాత్రమే. ఇది ఏది పోర్టును చేరుకోగలదో నియంత్రిస్తుంది, కానీ SSH వంటి మీరు తెరిచి ఉంచిన పోర్టును పదేపదే దెబ్బతీసే వ్యక్తిని ఇది ఆలస్యం చేయదు. దానికి, పునరావృత దోర్మిలను నిషేధించడానికి SSH ముందు Fail2ban జోడించండి. లోతైన రక్షణ అంటే ప్రతి పొర మిగతావి కలిగిలేని దాన్ని కవర్ చేస్తుంది.
ఫైర్వాల్ పోర్టులు ఏమిటి మరియు సేవలు ఎలా వింటాయి అని మీకు తెలిసినప్పుడు మాత్రమే అర్థవంతంగా ఉంటుంది, మరియు దాన్ని స్వరూపించడం కొత్త VPSలో మొదటి 10 నిమిషాలులో ఒక దశ.
FAQ
UFW ని ప్రారంభించడం నా SSH సెషన్ను డిస్కనెక్ట్ చేస్తుందా?
ముందుగా SSH ని అనుమతిస్తే కాదు. sudo ufw enable కంటే ముందు sudo ufw allow 22/tcp ని అమలు చేయండి. అప్పుడు ఫైర్వాల్ పోర్ట్ 22 ని అనుమతించడం వల్ల మీ కనెక్షన్ కొనసాగుతుంది. SSH అనుమతి నియమం లేకుండా డిఫాల్ట్-డినై ఫైర్వాల్ ని ప్రారంభించడం ప్రమాదకరం. అలా జరిగితే, మీ ప్రొవైడర్ VNC లేదా సీరియల్ కన్సోల్ ద్వారా లాగిన్ అవ్వండి. తర్వాత ufw disable ని అమలు చేయండి.
VPS లో నేను ఏ పోర్టులను తెరవాలి?
పబ్లిక్కు అందించే సేవలకు సంబంధించిన పోర్టులను మాత్రమే తెరవండి. సర్వర్ను నిర్వహించడానికి SSH (22/tcp) తెరవండి. వెబ్సైట్ నడిపితే HTTP మరియు HTTPS (80/tcp, 443/tcp) తెరవండి. మిగతా అన్నింటినీ తిరస్కరించబడేలా వదిలేయండి. డేటాబేస్ వంటి అంతర్గత సేవలు 127.0.0.1 కు బైండ్ అవ్వాలి. వాటికి ఫైర్వాల్ నియమం ఏదీ ఉండకూడదు. దాంతో అవి నెట్వర్క్ నుండి ఎప్పటికీ చేరుకోలేవు.
UFW IPv6 ను నిర్వహిస్తుందా?
ఆధునిక ఉబుంటులో, అవును: /etc/default/ufw లో IPV6=yes సెట్ చేయబడి ఉంటుంది. కాబట్టి ప్రతి నియమం రెండు స్టాక్లకు వర్తిస్తుంది. ufw status ఆదేశం (v6) సఫిక్స్తో IPv6 నియమాలను చూపిస్తుంది. ఇంకనూ తప్పు జరిగే మార్గాలు IPv6 ఫైర్వాల్ ముప్పు లో వివరించబడ్డాయి.
UFW నియమాన్ని నేను ఎలా తొలగిస్తాను?
నియమాలను ఇండెక్స్ నంబర్లతో చూడటానికి sudo ufw status numbered ని అమలు చేయండి. తర్వాత sudo ufw delete N ని అమలు చేయండి. ఇక్కడ N అనేది మీరు తొలగించాలనుకుంటున్న నియమం సంఖ్య. మీరు స్పెసిఫికేషన్ ద్వారా కూడా తొలగించవచ్చు. ఉదాహరణకు sudo ufw delete allow 80/tcp.
ఒక పోర్ట్ను ఒకే IP చిరునామా నుండి మాత్రమే ఎలా అనుమతిస్తాను?
సాధారణ allow కి బదులుగా from నియమాన్ని ఉపయోగించండి. మీ ఆఫీస్ చిరునామా నుండి మాత్రమే PostgreSQL ను చేరుకోనివ్వడానికి sudo ufw allow from 10.0.0.10 to any port 5432 proto tcp ని అమలు చేయండి. డిఫాల్ట్-డినై విధానంతో ఒక నియమం దాన్ని తెరిచే వరకు ఆ పోర్ట్ అందరికీ మూసివేయబడి ఉంటుంది. కాబట్టి ఈ from నియమమే ప్రవేశానికి ఏకైక మార్గం. మీరు పేర్కొన్న చిరునామా మాత్రమే ప్రవేశిస్తుంది. మిగతా అంతర్జాలం మొత్తం బ్లాక్ చేయబడి ఉంటుంది. పోర్ట్ను అందరికీ తెరిచే సాధారణ allow 5432/tcp ని కూడా జోడించవద్దు. డేటాబేస్ లేదా అడ్మిన్ ప్యానెల్ను బహిర్గతం చేయడానికి ఇదే అత్యంత సురక్షిత మార్గం. sudo ufw status verbose తో దీన్ని నిర్ధారించుకోండి. అది పోర్ట్ పక్కన సోర్స్ చిరునామాను చూపిస్తుంది.