Kaip nustatyti neprižiūrimus atnaujinimus Debian 9 (Stretch)
Naudojate kitą sistemą? Jei perkate Debian serverį, visada turėtumėte turėti naujausius saugos pataisymus ir naujinimus, nesvarbu, ar miegate, ar ne
iptables
yra galingas įrankis, naudojamas Linux branduolio integruotai ugniasienei konfigūruoti. Jis yra iš anksto įdiegtas daugumoje Ubuntu platinimų, tačiau jei naudojate tinkintą Ubuntu versiją arba naudojate konteineryje, greičiausiai turėsite jį įdiegti rankiniu būdu.
sudo apt-get install iptables iptables-persistent
Jei po įdiegimo jūsų paklaus, ar išsaugoti esamas taisykles, šiuo metu tai nesvarbu, nes vėliau ketinate pašalinti arba sukurti naujas taisykles.
Galite naudoti netcat
komandą ( kitame kompiuteryje nei jūsų serveris), kad patikrintumėte, kurie prievadai yra atidaryti arba uždaryti.
nc -z -w5 -v SERVER_IP PORT
nc
yra netcat komanda.-z
tiesiog išsiųskite paketą be naudingos apkrovos.-w5
palaukite iki 5 sekundžių atsakymo.-v
žodinis režimas.SERVER_IP
savo serverio adresu.PORT
prievadu, kurį norite patikrinti, ar jis atidarytas (pvz., 22
).Savo serveryje galite naudoti netstat
komandą, kad pamatytumėte, kurie prievadai šiuo metu klauso ryšių.
sudo netstat -tulpn
Pastaba: nors netstat
ir patogu rasti prievadus, su kuriais norite dirbti, turėtumėte žinoti, kokias programas šiuo metu įdiegėte savo serveryje ir kurie prievadai klauso, jums nereikia leisti kiekvieno netstat
išvestyje rasto prievado .
sudo iptables -A INPUT -p tcp -m tcp --dport 22 --m geoip --src-cc PE -j ACCEPT
-A INPUT
pridėti taisyklę prie INPUT
grandinės, grandinė yra taisyklių grupė, dažniausiai šiame vadove naudojamos taisyklės bus INPUT
, OUTPUT
ir PREROUTING
.-p tcp
nustatyti tcp
kaip protokolą, kuriam bus taikoma ši taisyklė, taip pat galite naudoti kitus protokolus, pvz., udp
, icmp
arba all
.-m tcp
naudoti tcp
modulį. iptables
palaiko papildomas funkcijas per modulius, kai kurie iš jų jau yra iš anksto įdiegti, iptables
o kiti, pavyzdžiui, geoip
modulis.--dport 22
komandos, prasidedančios raide, --
nurodo papildomas anksčiau naudoto modulio parinktis, tokiu atveju tcp
moduliui liepsime taikyti tik prievadui 22
.-m geoip
naudoti geoip
modulį. Tai apribos paketus pagal šalį (daugiau informacijos 5 veiksme).--src-cc PE
liepkite geoip
moduliui apriboti gaunamus paketus iki paketų, kurie ateina iš Peru. Daugiau šalių kodų ieškokite ISO 3166 country codes
internete.-j ACCEPT
-j
argumentas sako iptables
, ką daryti, jei paketas atitinka nurodytus ankstesniuose argumentų apribojimus. Šiuo atveju tai bus ACCEPT
tie paketai, kiti variantai yra REJECT
, DROP
ir daugiau. Daugiau parinkčių galite rasti ieškodami iptables jump targets
internete.Išvardykite visas taisykles.
sudo iptables -L
Išvardykite visas komandas, kurios buvo naudojamos kuriant šiuo metu naudojamas taisykles, naudingas taisyklėms redaguoti arba ištrinti.
sudo iptables -S
Norėdami ištrinti speciali taisyklė pasirinkti taisyklę sudo iptables -S
ir pakeisti -A
su -D
.
# -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
sudo iptables -D INPUT -p tcp -m tcp --dport 22 -j ACCEPT
Išvardykite visas sunumeruotas taisykles INPUT
grandinėje.
sudo iptables -L INPUT --line-numbers
Ištrinkite sunumeruotą taisyklę.
sudo iptables -D INPUT 2
Norėdami išvalyti visas taisykles.
sudo iptables -F
Įspėjimas: galite prarasti ryšį, jei prisijungsite per SSH .
Aiškios tik OUTPUT
grandinės taisyklės .
sudo iptables -F OUTPUT
Leiskite SSH
ant eth0
sąsaja
sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-i eth0
taikyti taisyklę konkrečiai sąsajai, kad iš bet kurios sąsajos būtų galima pašalinti šią komandą.Apriboti gaunamus paketus iki konkretaus IP (ty 10.0.3.1/32
).
sudo iptables -A INPUT -i eth0 -s 10.0.3.1/32 -p tcp -m tcp --dport 22 -j ACCEPT
-s 10.0.3.1/32
nurodo IP / potinklį, iš kurio galima prisijungti.Nustatykite numatytąsias grandinės taisykles.
Įspėjimas: prieš tęsdami įsitikinkite, kad taikėte teisingas SSH taisykles, jei dirbate nuotoliniame serveryje .
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
-P INPUT DROP
atmeta visus gaunamus paketus (ty niekas negalės prisijungti prie jūsų veikiančių serverių, tokių kaip Apache, SQL ir kt.).-P FORWARD DROP
atmeta visus persiųstus paketus (ty kai naudojate sistemą kaip maršrutizatorių).-P OUTPUT ACCEPT
leidžia visus siunčiamus paketus (ty kai atliekate HTTP
užklausą).Leisti visą srautą atgalinio ryšio sąsajoje ( rekomenduojama ).
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
Išsaugokite galiojančias iptables
taisykles.
sudo netfilter-persistent save
sudo netfilter-persistent reload
Jei naudojate konteinerį, netfilter-persistent
komanda greičiausiai neveiks, todėl turite iš naujo sukonfigūruoti iptables-persistent
paketą.
sudo dpkg-reconfigure iptables-persistent
Leisti DNS užklausas.
sudo iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
sudo iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
Naudokite state
modulį, norėdami leisti RELATED
ir ESTABLISHED
siunčiamus paketus.
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Leisti norimus prievadus; šiuo atveju HTTP
uostai.
sudo iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
Daugiau prievadų, kuriuos galbūt norėsite naudoti.
FTP
: tcp prie 21 prievadoHTTPS
: tcp prie 443 prievadoDHCP
: udp prie 67 prievadoNTP
: udp 123 prievadePastaba: jei norite leisti apt-get
, gali reikėti leisti FTP
irHTTPS
.
Leisti grįžtamą srautą tik RELATED
ir jau esantiems ESTABLISHED
ryšiams ( rekomenduojama, nes kartais reikalingas dvikryptis ryšys).
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Leisti ping užklausas iš išorės.
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
Peradresuoti srautą per eth0
prievadą 2200
į 10.0.3.21:22
(naudinga, jei norite atskleisti SSH serverį, kuris veikia konteineryje).
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2200 -j DNAT --to-destination 10.0.3.21:22
Jei sėkmingai prisijungsite prie savo serverio naudodami SSH, bus sukurtas nuolatinis ryšys (ty nebus naujų ryšių, net jei esate prisijungę ilgiau nei 1 valandą). Jei nepavyks ir bandysite prisijungti dar kartą, bus sukurtas naujas ryšys. Tai užblokuos nuolatinius SSH prisijungimo bandymus, ribojant naujus ryšius per valandą.
sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 3600 --hitcount 4 -j DROP
Peradresuokite visas prievado užklausas 443
į prievadą 4430
(naudinga, jei norite susieti su prievadu 443
be root
).
sudo iptables -t nat -A PREROUTING -i ens3 -p tcp --dport 443 -j REDIRECT --to-port 4430
sudo iptables -A INPUT -p tcp -m tcp --dport 4430 -m geoip --src-cc PE -j ACCEPT
ens3
tinklo sąsaja.-m geoip
šalies bloko modulis (žr. 5 veiksmą).Įspėjimas: nenaudokite lo
, OS atmes visus paketus, nukreiptus į atgalinio ryšio sąsają .
xtables-addons
xtables-addons
Modulį galite įdiegti įvairiais būdais, drąsiai naudokite jums tinkamiausią diegimo būdą.
Įdiekite naudodami apt-get
.
sudo apt-get install xtables-addons-common
Įdiekite naudodami module-assistant
.
sudo apt-get install module-assistant xtables-addons-source
sudo module-assistant --verbose --text-mode auto-install xtables-addons
Įdiegti iš šaltinio.
sudo apt-get install git bc libncurses5-dev libtext-csv-xs-perl autoconf automake libtool xutils-dev iptables-dev
git clone git://git.code.sf.net/p/xtables-addons/xtables-addons
cd xtables-addons
./autogen.sh
./configure
make
sudo make install
Sukurkite „šalių“ duomenų bazę.
sudo apt-get install libtext-csv-xs-perl unzip
sudo mkdir /usr/share/xt_geoip
sudo /usr/lib/xtables-addons/xt_geoip_dl
sudo /usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip *.csv
sudo rm GeoIPCountryCSV.zip GeoIPCountryWhois.csv GeoIPv6.csv
Iš naujo paleiskite sistemą.
sudo reboot
Po xtables-addons
sėkmingai įdiegta, po pirmo perkrovimo, paleisti depmod
kitaip Šalis blokavimas neveiks tinkamai (tai reikia tik pirmą kartą).
sudo depmod
Sukurkite scenarijų, /etc/cron.monthly/geoip-updater
kad geoip
kas mėnesį atnaujintumėte duomenų bazę.
#!/usr/bin/env bash
# this script is intended to run with sudo privileges
echo 'Removing old database---------------------------------------------------'
rm -rf /usr/share/xt_geoip/*
mkdir -p /usr/share/xt_geoip
echo 'Downloading country databases-------------------------------------------'
mkdir /tmp/geoip-updater
cd /tmp/geoip-updater
/usr/lib/xtables-addons/xt_geoip_dl
echo 'Building geoip database-------------------------------------------------'
/usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip *.csv
echo 'Removing temporary files------------------------------------------------'
cd /tmp
rm -rf /tmp/geoip-updater
Padaryti /etc/cron.monthly/geoip-updater
vykdomąjį.
sudo chmod +x /etc/cron.monthly/geoip-updater
_Pastaba: jei gaunate iptables: No chain/target/match by that name
klaidą, kai bandote taikyti geoip
taisyklę, gali būti, kad xtables-addons
ji įdiegta neteisingai. Išbandykite kitą diegimo būdą.
Blokuoti visus gaunamus paketus iš Kinijos, Honkongo, Rusijos ir Korėjos.
sudo iptables -A INPUT -m geoip --src-cc CN,HK,RU,KR -j DROP
Leisti įeinančius paketus uoste 80
iš visur, išskyrus aukščiau nurodytas šalis.
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Leisti įeinančius paketus ens3
sąsajoje 22
tik iš Peru (nesivaržykite pasirinkti šalies kodą, iš kurio norite priimti paketus, pavyzdžiui, US
JAV).
sudo iptables -A INPUT -i ens3 -p tcp -m tcp --dport 22 -m geoip --src-cc PE -j ACCEPT
Leisti įeinančius paketus 443
tik iš Peru.
sudo iptables -A INPUT -p tcp -m tcp --dport 443 -m geoip --src-cc PE -j ACCEPT
Naudojate kitą sistemą? Jei perkate Debian serverį, visada turėtumėte turėti naujausius saugos pataisymus ir naujinimus, nesvarbu, ar miegate, ar ne
PHP ir susiję paketai yra dažniausiai naudojami komponentai diegiant žiniatinklio serverį. Šiame straipsnyje sužinosime, kaip nustatyti PHP 7.0 arba PHP 7.1 o
Šiame vadove paaiškinama, kaip nustatyti DNS serverį naudojant Bind9 sistemoje Debian arba Ubuntu. Visame straipsnyje atitinkamai pakeiskite savo-domeno-vardas.com. Prie th
Naudojate kitą sistemą? „Red5“ yra atvirojo kodo medijos serveris, įdiegtas „Java“, leidžiantis paleisti „Flash“ kelių vartotojų programas, tokias kaip tiesioginis srautas.
Šiame straipsnyje pamatysime, kaip sukompiliuoti ir įdiegti pagrindinę Nginx liniją iš oficialių Nginx šaltinių naudojant PageSpeed modulį, kuris leidžia
Naudojate kitą sistemą? Vanilla forumas yra atvirojo kodo forumo programa, parašyta PHP. Tai visiškai pritaikoma, paprasta naudoti ir palaiko išorinę
Naudojate kitą sistemą? Įvadas Kanboard yra nemokama atvirojo kodo projektų valdymo programinė įranga, skirta palengvinti ir vizualizuoti
Naudojate kitą sistemą? Įvadas Kanboard yra nemokama atvirojo kodo projektų valdymo programinė įranga, skirta palengvinti ir vizualizuoti
Naudojate kitą sistemą? Gitea yra alternatyvi atvirojo kodo, savarankiškai priglobta versijų valdymo sistema, kurią maitina Git. Gitea parašyta golangu ir yra
Naudojate kitą sistemą? Gitea yra alternatyvi atvirojo kodo, savarankiškai priglobta versijų valdymo sistema, kurią maitina git. Gitea parašyta golangu ir yra
Įvadas Lynis yra nemokama atvirojo kodo sistemos audito priemonė, kurią naudoja daugelis sistemų administratorių, kad patikrintų vientisumą ir sustiprintų savo sistemas. aš
Naudojate kitą sistemą? Thelia yra atvirojo kodo įrankis, skirtas kurti el. verslo svetaines ir valdyti PHP parašytą internetinį turinį. Thelia šaltinio kodas i
Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys
Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys
Naudojate kitą sistemą? DotCMS yra atvirojo kodo, įmonės lygio turinio valdymo sistema, parašyta Java. Jame yra beveik visos reikalingos funkcijos t
Naudojate kitą sistemą? BigTree CMS 4.2 yra greita ir lengva, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), turinti platų
Ko jums reikia Vultr VPS su mažiausiai 1 GB RAM. SSH prieiga (su root / administratoriaus teisėmis). 1 veiksmas: „BungeeCord“ diegimas Pirmiausia
Naudojate kitą sistemą? Docker yra programa, leidžianti diegti programas, kurios vykdomos kaip konteineriai. Tai buvo parašyta populiarioje Go programoje
Golang yra programavimo kalba, kurią sukūrė Google. Dėl savo universalumo, paprastumo ir patikimumo Golangas tapo vienu populiariausių
Kas yra purvina karvė (CVE-2016-5195)? „Dirty Cow“ pažeidžiamumas išnaudojamas „Linux“ apdorojant kodą. Tai leidžia neprivilegijuotam vartotojui gai
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.
Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.
Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.
Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…
Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.
Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.
Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.
Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.
Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį