Go achomair: Ceadaíonn balla dóiteáin do fhreastalaí gréasáin isteach TCP 80 agus 443 amháin, le HTTP/3 UDP 443 freisin, agus SSH ó líonraí aitheanta amháin. Caitear gach rud eile uaidh: ní bhaineann bunachair sonraí, taisceanna, PHP-FPM agus comhéadain riaracháin leis an Idirlíon. Seiceáil ar dtús le ss -tulpn cad atá ag éisteacht, tóg ansin sraith rialacha le réamhshocrú “caith uait” agus déan tástáil ar an toradh ón taobh amuigh. Cuireann teorannú naisc amach teorainn leis na hiarmhairtí tar éis briste isteach freisin.
Na doirse dearmadta in aice leis an doras tosaigh
I gcás PHP2Shell díríodh ar an bhfreastalaí gréasáin féin, ar phoirt 80 agus 443. Caithfidh siad a bheith oscailte, nó níl aon suíomh gréasáin ann. Ach nuair a dhéantar stoc tar éis leochaileachtaí den sórt sin, is minic a thugtar rud eile faoi deara: tá doirse eile oscailte in aice leis an doras tosaigh. Éisteann bunachar sonraí ar gach comhéadan líonra, linn PHP-FPM ar phort 9000, seirbhís taisce gan focal faire, comhéadan riaracháin ón gcéim shocraithe.
Is dromchla ionsaithe dá chuid féin gach ceann de na doirse seo le leochaileachtaí dá gcuid féin. Dúnann balla dóiteáin nach scaoileann ach an méid is gá iad le cúpla riail. Is ceann de na bearta is éifeachtaí é nuair a chruachtar freastalaí féin, mar a thuairiscíonn an leathanach Freastalaithe root agus vServers a chruachan tú féin.
Cad a bhaineann le hoscailt, cad nach mbaineann
Is é an prionsabal liosta ceadaithe: tá gach rud dúnta, agus ní bhíonn inrochtana ach seirbhísí a scaoiltear d'aon turas. Cabhraíonn an forbhreathnú seo a leanas leis an aicmiú.
| Seirbhís | Port tipiciúil | Inrochtana go seachtrach? |
|---|---|---|
| HTTP agus HTTPS | TCP 80, TCP 443 | tá |
| HTTP/3 (QUIC) | UDP 443 | nuair a úsáidtear é amháin |
| SSH | TCP 22 | ó líonraí aitheanta nó trí VPN amháin |
| Painéal óstála | de réir an táirge | ó líonraí aitheanta amháin |
| MySQL/MariaDB, PostgreSQL | TCP 3306, TCP 5432 | níl |
| Redis, Memcached | TCP 6379, TCP 11211 | níl |
| PHP-FPM | TCP 9000 nó Unix-socket | níl, socket amháin is fearr |
| Freastalaí ríomhphoist | TCP 25, 465, 587, 993 | mura nglacann an freastalaí le ríomhphoist nó mura soláthraíonn sé iad |
Ba cheart d'ardán seirbhíse nach gá a bheith go seachtrach éisteacht ar 127.0.0.1 nó ar Unix-socket amháin ina theannta sin. Ansin fanann sé dothaighde fiú má théann rud éigin mícheart sa bhalla dóiteáin. Do rochtain riaracháin oireann scaoileadh IP nó VPN; tá mionsonraí san alt Limistéir riaracháin a chosaint trí IP, VPN nó cosaint bhreise.
Céim 1: faigh amach cad atá ag éisteacht
Sula scríobhann tú rialacha, faigh forbhreathnú. Ní léann na horduithe seo a leanas ach:
# Gach port TCP agus UDP ag éisteacht le próiseas
sudo ss -tulpn
# Sraith rialacha reatha nftables
sudo nft list ruleset
# Stádas ufw, má úsáidtear é
sudo ufw status verbose
Tabhair aird san aschur de ss ar an seoladh os comhair an phoirt. Ciallaíonn 0.0.0.0 nó [::]: éisteann an tseirbhís ar gach comhéadan. Ciallaíonn 127.0.0.1: go háitiúil amháin. Breac síos do gach seirbhís an gá í a bheith inrochtana go seachtrach. Is cuid de do chuntar freastalaithe an liosta seo freisin.
Balla dóiteáin do fhreastalaí gréasáin le nftables
Is é nftables an scagaire paicéad reatha faoi Linux. Tá an tsraith rialacha seo a leanas bunaithe ar an sampla i vicí oifigiúil nftables agus cuireann sí scaoileadh do SSH le líonra riaracháin amháin leis. Is samplaí doiciméadúcháin na seoltaí agus ní mór iad a chur ina n-ionad.
#!/usr/sbin/nft -f
flush ruleset
table inet filter {
set verwaltung_v4 {
type ipv4_addr
flags interval
elements = { 203.0.113.0/28 }
}
chain input {
type filter hook input priority 0; policy drop;
ct state vmap { established : accept, related : accept, invalid : drop }
iifname lo accept
# Teastaíonn aimsiú comharsan ó IPv6
icmpv6 type { nd-neighbor-solicit, nd-router-advert, nd-neighbor-advert } accept
icmp type echo-request limit rate 5/second accept
icmpv6 type echo-request limit rate 5/second accept
# Suíomh gréasáin
tcp dport { 80, 443 } accept
# le HTTP/3 amháin:
# udp dport 443 accept
# SSH ón líonra riaracháin amháin
ip saddr @verwaltung_v4 tcp dport 22 accept
}
chain forward {
type filter hook forward priority 0; policy drop;
}
}
Seiceáil an tsraith rialacha sula luchtaíonn tú í le nft -c -f /etc/nftables.conf. Scriosann an chéad líne flush ruleset gach riail atá ann, fiú iad sin a d'iontráil Docker nó Fail2ban. Ar fhreastalaithe le Docker nó seirbhísí eile a shocraíonn rialacha dá gcuid féin, oiriúnaigh an tsraith rialacha dá bhrí sin in ionad í a chur ina hionad go ginearálta. Conas a oibríonn Fail2ban leis an mballa dóiteáin, tá sé ag Fail2ban a shocrú do fhreastalaithe gréasáin.
An té is fearr leis é níos simplí, úsáideann sé ufw faoi Ubuntu. Tá an t-ord tábhachtach: scaoileadh SSH ar dtús, ansin cumasú.
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow proto tcp from 203.0.113.0/28 to any port 22
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose
Athraigh rialacha balla dóiteáin ar fhreastalaithe cianda le dara bealach rochtana amháin, mar shampla consól do sholáthraí. Ar shlí eile glasálann riail mhícheart SSH thú amach.
Naisc amach: an leath nach dtugtar aird uirthi
Ceadaíonn formhór ballaí dóiteáin gach rud amach. Do fhreastalaí gréasáin tá sé sin flaithiúil. Tar éis briste isteach úsáideann ionsaitheoirí naisc amach chun uirlisí a íoslódáil, sonraí a tharraingt amach nó orduithe a fháil. Dá bhrí sin meastar próisis an fhreastalaí gréasáin nó PHP a thógann naisc gan choinne ina gcomhartha rabhaidh.
Tá teorannú naisc amach níos casta, mar go gcaithfear gach nasc dlisteanach a bheith ar eolas: foinsí pacáistí do nuashonruithe, seirbhísí íocaíochta, comhéadain, seoladh ríomhphoist, freastalaithe ama. Bealach praiticiúil is ea naisc amach a logáil ar dtús, liosta ceadaithe a chruthú agus bac a chur air ansin amháin. Conas a sheiceálann tú naisc atá ann, déanann Naisc amach de chuid freastalaí a sheiceáil cur síos air; cé na rianta eile a léiríonn briseadh isteach, tá sé ag An bhfuil comhréiteach déanta orm cheana?.
Ar deireadh déan tástáil ón taobh amuigh, ó ríomhaire eile agus i gcoinne do chórais féin amháin, cé na poirt atá inrochtana i ndáiríre. Ní léiríonn ach an tástáil seo an dtugann Docker, balla dóiteáin an tsoláthraí agus rialacha freastalaí le chéile an pictiúr atá uait.
Conclúid: cúpla riail, éifeacht mhór
Ní gá balla dóiteáin freastalaí gréasáin a bheith casta. Poirt ghréasáin oscailte, riarachán ó líonraí aitheanta amháin, gach rud eile caite uait: leis na bunrialacha seo imíonn bunachair sonraí, taisceanna agus seirbhísí dearmadta ón Idirlíon. Is ceann de na bearta leis an gcóimheas is fearr idir iarracht agus tairbhe é.
In aghaidh leochaileachtaí sa fhreastalaí gréasáin nó i PHP féin ní chabhraíonn an balla dóiteáin, mar go gcaithfidh na poirt sin fanacht oscailte. Tá a neart sa dromchla ionsaithe eile a choinneáil beag agus iarmhairtí briste isteach a choinneáil faoi smacht le teorannú naisc amach.
Tá cothabháil cinntitheach. Is féidir le gach seirbhís nua, gach coimeádán agus gach athrú ag an soláthraí an pictiúr a bhogadh. Athdhéan an tseiceáil ón taobh amuigh dá bhrí sin tar éis gach athraithe mhóir agus ag eatraimh sheasta, mar shampla uair sa ráithe.
Conas a chabhraíonn PHP SOS go nithiúil?
- Stoc a thógáil: Taifeadaimid gach seirbhís ag éisteacht agus seiceálaimid ón taobh amuigh cad atá inrochtana i ndáiríre.
- Sraith rialacha a thógáil: Cruthaímid liosta ceadaithe do naisc isteach agus, san áit ar ciallmhar, naisc amach, comhordaithe le Docker, Fail2ban agus balla dóiteáin an tsoláthraí.
- Aistriú slán: Cuirimid athruithe i bhfeidhm le dara bealach rochtana agus plean tarrthála.
- Doiciméadú: Taifeadaimid poirt, scaoilteacha agus cúiseanna faoi chuimsiú chruachan an fhreastalaí.
Ceisteanna coitianta
Cé na poirt a theastaíonn ó fhreastalaí gréasáin?
Do chuairteoirí de ghnáth ach TCP 80 agus 443, le HTTP/3 UDP 443 freisin. Ní mór SSH agus comhéadain riaracháin a bheith inrochtana ó líonraí aitheanta nó trí VPN amháin. Ní bhaineann poirt bunachair sonraí, taisce agus PHP-FPM leis an Idirlíon.
An gcosnaíonn balla dóiteáin in aghaidh PHP2Shell?
Ní chosnaíonn. Úsáidtear PHP2Shell tríd an bhfreastalaí gréasáin, is é sin tríd na poirt a gcaithfidh a bheith oscailte go beacht. Ach laghdaíonn an balla dóiteáin an dromchla ionsaithe eile, agus is féidir le teorainn ar naisc amach iarmhairtí briste isteach a choinneáil faoi smacht.
Cén fáth a dtaispeánann ufw poirt mar dhúnta atá inrochtana mar sin féin?
Cás aitheanta is ea coimeádáin Docker: iontrálann Docker poirt fhoilsithe go díreach i rialacha an scagaire paicéad, thar ufw. Seiceáil poirt oscailte i gcónaí ón taobh amuigh ina theannta sin dá bhrí sin.
An leor balla dóiteáin mo sholáthraí óstála?
Is dara ciseal maith é balla dóiteáin roimh-nasctha an tsoláthraí. Ach ní chuireann sé ionad an bhalla dóiteáin ar an bhfreastalaí, mar nach n-oibríonn sé má tá earráid i gcumraíocht an tsoláthraí nó i gcás naisc inmheánacha. Is fearr an bheirt acu a úsáid leis na bunrialacha céanna.