పోర్ట్లు: ఏవి తెరవాలి మరియు ఎలా తనిఖీ చేయాలి
సాధారణ సేవలకు ఏ పోర్ట్లు అవసరం, మెషీన్ ఏమి వింటోందో ఎలా చూడాలి, బాహ్య అందుబాటును ఎలా తనిఖీ చేయాలి, పోర్ట్ మూసి ఉంటే ఏమి చేయాలి.
23 ఆగస్టు, 2026న నవీకరించబడింది
పోర్ట్ అంటే ఏ సర్వీస్కు ఇన్కమింగ్ కనెక్షన్ చేరాలో సిస్టమ్కు తెలిపే నంబర్. నియమం సులభం: మీరు నిజంగా ఉపయోగించేది మాత్రమే తెరిచి ఉండాలి. ప్రతి అదనపు ఓపెన్ పోర్ట్ అనేది ఎవరో ఒకరు బలహీనతల కోసం పరీక్షించే మరో తలుపు.
సాధారణ పోర్ట్ నంబర్లు
| పోర్ట్ | సర్వీస్ | బయటికి తెరిచి ఉండాలా |
|---|---|---|
| 22 | SSH | అవును, వీలైతే అడ్రస్ ప్రకారం పరిమితం చేయాలి |
| 80 | HTTP | అవును, మీకు వెబ్సైట్ ఉంటే |
| 443 | HTTPS | అవును, మీకు వెబ్సైట్ ఉంటే |
| 25, 465, 587 | ఇన్బౌండ్ — మీరు స్వంత మెయిల్ సర్వర్ నడిపితే మాత్రమే. అవుట్బౌండ్ మా వైపు మూసి ఉంటుంది, అభ్యర్థన మేరకు తెరుస్తాము | |
| 3306 | MySQL | కాదు, లోకల్కు మాత్రమే |
| 5432 | PostgreSQL | కాదు, లోకల్కు మాత్రమే |
| 6379 | Redis | కాదు, లోకల్కు మాత్రమే |
| 27017 | MongoDB | కాదు, లోకల్కు మాత్రమే |
| 25565 | Minecraft | అవును, అది గేమ్ సర్వర్ అయితే |
మెయిల్ గురించి ఒక విషయం: ఇన్బౌండ్ కనెక్షన్లపై పరిమితి ఉండదు, కానీ 25, 465, 587 పోర్టులపై అవుట్బౌండ్ కనెక్షన్లు మీరు తెరవమని అడిగే వరకు నోడ్ స్థాయిలో మూసి ఉంటాయి. మెషీన్ లోపలి నియమాలు దీన్ని మార్చవు — వివరాల కోసం Mail server: why it's hard and what to consider చూడండి.
డేటాబేస్లు దాదాపు ఎప్పుడూ బయటికి తెరిచి ఉండవు. మీ ఆఫీస్ కంప్యూటర్ నుండి యాక్సెస్ కావాలంటే, సరైన మార్గం SSH టన్నెల్, ఓపెన్ పోర్ట్ కాదు:
ssh -L 5432:127.0.0.1:5432 artem@<address>
మెషీన్ ఏవి వింటోంది
ss -tulpn
ss -tlpn | grep 443
lsof -i -P -n | grep LISTEN
పోర్ట్ నంబర్ ముందు ఉన్న అడ్రస్ చూడండి. 127.0.0.1:5432 అంటే ఆ సర్వీస్ లోపలి నుండి మాత్రమే అందుబాటులో ఉంటుంది — మీరు ఎన్ని నియమాలు జోడించినా బయటి నుండి చేరుకోలేరు. 0.0.0.0:5432 అంటే ఆ సర్వీస్ అన్ని నెట్వర్క్ ఇంటర్ఫేస్లపై తెరిచి ఉంది, దాన్ని ఫైర్వాల్తో తప్పకుండా రక్షించాలి.
బయటి నుండి తనిఖీ చేయడం
మీ కంప్యూటర్ నుండి:
nc -vz <address> 443
curl -I http://<address>
ping తో తనిఖీ చేయడం అర్థరహితం: ICMP, TCP వేర్వేరు విషయాలు; ping బ్లాక్ అయి ఉన్నా పోర్ట్ పనిచేయవచ్చు, దీనికి విరుద్ధంగా కూడా జరగవచ్చు.
పోర్ట్ మూసి ఉంది: దశల వారీగా సమస్య పరిష్కారం
- సర్వీస్ నడుస్తోందా?
systemctl status <service> - అది సరైన అడ్రస్పై వింటోందా?
ss -tulpn—127.0.0.1కాదు - ఫైర్వాల్ దాన్ని అనుమతిస్తోందా?
ufw status verboseలేదాnft list ruleset - Docker అడ్డుపడుతోందా? పబ్లిష్ చేసిన కంటైనర్ పోర్టులు ufwని దాటవేస్తాయి
- సర్వీస్ లాగ్లు చూడండి:
journalctl -u <service> -n 50
క్రమం ముఖ్యం: చాలా సార్లు సమస్య రెండో దశలో ఉంటుంది, ఫైర్వాల్లో కాదు.
సర్వీస్ పోర్ట్ మార్చడం
ఉదాహరణకు, SSHని మార్చడం:
sed -i "s/^#\?Port 22/Port 2222/" /etc/ssh/sshd_config
ufw allow 2222/tcp
sshd -t
systemctl restart ssh
కొత్త పోర్ట్పై మీరు లాగిన్ అవ్వగలరా అని వేరే విండోలో తనిఖీ చేయండి, ఆ తర్వాత మాత్రమే పోర్ట్ 22 నియమాన్ని తీసివేయండి. వివరాల కోసం SSH hardening చూడండి.
సాధారణ పొరపాట్లు
| లక్షణం | కారణం | పరిష్కారం |
|---|---|---|
Connection refused | సర్వీస్ నడుస్తోంది లేదు | systemctl status, లాగ్లు చూడండి |
Connection timed out | ప్యాకెట్ను ఫైర్వాల్ డ్రాప్ చేస్తోంది | నియమాలు తనిఖీ చేయండి |
| లోకల్గా పనిచేస్తుంది, బయటి నుండి కాదు | 127.0.0.1కు బైండ్ అయి ఉంది | కాన్ఫిగ్లో అడ్రస్ మార్చండి |
Address already in use | పోర్ట్ను మరో సర్వీస్ ఆక్రమించింది | ss -tulpn చేసి అదనపు సర్వీస్ను ఆపండి |
దానిపై ఏది సమాధానం ఇస్తోందో తనిఖీ చేసిన తర్వాతే పోర్ట్ తెరవండి. పాత ప్రయోగం నుండి మరచిపోయిన పోర్ట్ హ్యాక్కు సాధారణ ప్రవేశ మార్గం; signs of compromise చూడండి.