Installera Plesk på CentOS 7
Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser
iptables
är ett kraftfullt verktyg som används för att konfigurera Linux-kärnans integrerade brandvägg. Det kommer förinstallerat på de flesta Ubuntu-distributioner, men om du använder en anpassad Ubuntu-version eller kör inuti en behållare måste du troligen installera den manuellt.
sudo apt-get install iptables iptables-persistent
Om du efter installationen tillfrågas om du ska spara dina nuvarande regler spelar det ingen roll just nu eftersom du ska ta bort eller skapa nya regler senare.
Du kan använda netcat
kommandot (på en annan dator än din server) för att testa vilka av dina portar som är öppna eller stängda.
nc -z -w5 -v SERVER_IP PORT
nc
är kommandot netcat.-z
skicka bara ett paket utan nyttolast.-w5
vänta upp till 5 sekunder på ett svar.-v
verbose läge.SERVER_IP
med din serveradress.PORT
med porten du vill testa om den är öppen (t.ex. 22
).På din server kan du använda netstat
kommandot för att se vilka portar som för närvarande lyssnar efter anslutningar.
sudo netstat -tulpn
Obs: Även om det netstat
är praktiskt att hitta de portar du vill arbeta med, bör du vara medveten om de applikationer du för närvarande har installerat på din server och vilka portar som lyssnar, du behöver inte tillåta varje port du hittar i netstat
utgången .
sudo iptables -A INPUT -p tcp -m tcp --dport 22 --m geoip --src-cc PE -j ACCEPT
-A INPUT
lägg till en regel i INPUT
kedjan, en kedja är en grupp regler, de vi använder mest i den här guiden är INPUT
, OUTPUT
och PREROUTING
.-p tcp
ange tcp
som det protokoll som denna regel kommer att gälla för, kan du också använda andra protokoll som udp
, icmp
eller all
.-m tcp
använda tcp
modulen. iptables
stöder ytterligare funktioner via moduler, av vilka några redan är förinstallerade med iptables
och andra, såsom geoip
modulen.--dport 22
kommandona som börjar med --
indikerar ytterligare alternativ för den tidigare använda modulen, i det här fallet kommer vi att berätta för tcp
modulen att endast gälla port 22
.-m geoip
använda geoip
modulen. Det kommer att begränsa paket på landsbasis (mer information i steg 5).--src-cc PE
säg till geoip
modulen att begränsa de inkommande paketen till de som kommer från Peru. För fler landskoder sök efter ISO 3166 country codes
på internet.-j ACCEPT
det -j
argumentet berättar iptables
vad de ska göra om ett paket matchar de begränsningar som anges i de tidigare argument. I detta fall kommer ACCEPT
dessa paket, andra alternativ är REJECT
, DROP
och mycket mer. Du kan hitta fler alternativ genom att söka iptables jump targets
på internet.Lista alla regler.
sudo iptables -L
Lista alla kommandon som användes för att skapa de regler som används för närvarande, användbara för att redigera eller ta bort regler.
sudo iptables -S
För att ta bort en specifik regel välj en regel från sudo iptables -S
och ersätt -A
med -D
.
# -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
sudo iptables -D INPUT -p tcp -m tcp --dport 22 -j ACCEPT
Lista alla numrerade regler i INPUT
kedjan.
sudo iptables -L INPUT --line-numbers
Ta bort en numrerad regel.
sudo iptables -D INPUT 2
För att rensa alla regler.
sudo iptables -F
Varning: du kan förlora anslutningen om du ansluter via SSH .
Rensa endast regler i OUTPUT
kedjan.
sudo iptables -F OUTPUT
Tillåt SSH
på eth0
gränssnitt
sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-i eth0
tillämpa regel på ett specifikt gränssnitt, för att tillåta från vilket gränssnitt som helst ta bort detta kommando.För att begränsa inkommande paket till en specifik IP (dvs 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
anger ett IP/subnät att tillåta anslutningar från.Ställ in standardkedjeregler.
Varning: innan du fortsätter se till att du har tillämpat rätt SSH-regler om du arbetar på en fjärrserver .
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
-P INPUT DROP
nekar alla inkommande paket (dvs ingen kommer att kunna ansluta till dina körande servrar som Apache, SQL, etc).-P FORWARD DROP
nekar alla vidarebefordrade paket (dvs. när du använder ditt system som router).-P OUTPUT ACCEPT
tillåter alla utgående paket (dvs när du utför en HTTP
förfrågan).Tillåt all trafik på loopback-gränssnittet ( rekommenderas ).
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
Spara de nuvarande iptables
reglerna.
sudo netfilter-persistent save
sudo netfilter-persistent reload
Om du kör inuti en container kommer netfilter-persistent
kommandot troligen inte att fungera, så du måste konfigurera om iptables-persistent
paketet.
sudo dpkg-reconfigure iptables-persistent
Tillåt DNS-frågor.
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
Använd state
modulen för att tillåta RELATED
och ESTABLISHED
utgående paket.
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Tillåt önskade portar; i detta fall HTTP
portar.
sudo iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
Fler portar du kanske vill använda.
FTP
: tcp vid port 21HTTPS
: tcp vid port 443DHCP
: udp vid port 67NTP
: udp vid port 123Obs: Om du vill tillåta apt-get
kan det vara nödvändigt att tillåta FTP
ochHTTPS
.
Tillåt endast returnerad trafik för RELATED
och redan ESTABLISHED
anslutningar ( rekommenderas eftersom dubbelriktad kommunikation ibland krävs).
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Tillåt ping-förfrågningar utifrån.
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
Vidarebefordra trafik på eth0
port 2200
till 10.0.3.21:22
(användbart om du vill exponera en SSH-server som körs inuti en container).
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2200 -j DNAT --to-destination 10.0.3.21:22
Om du lyckas logga in på din server med hjälp av SSH kommer en beständig anslutning att skapas (dvs inga nya anslutningar även om du är ansluten i mer än 1 timme). Om du misslyckas och försöker logga in igen kommer en ny anslutning att skapas. Detta kommer att blockera kontinuerliga SSH-inloggningsförsök genom att begränsa nya anslutningar per timme.
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
Omdirigera alla förfrågningar på port 443
till port 4430
(användbart om du vill binda till port 443
utan 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
nätverksgränssnittet.-m geoip
landsblocksmodul (se steg 5).Varning: Använd inte lo
, OS kommer att kassera alla paket som omdirigeras till loopback-gränssnittet .
xtables-addons
Du kan installera xtables-addons
modulen med olika metoder, använd gärna den installationsmetod som fungerar bäst för dig.
Installera med apt-get
.
sudo apt-get install xtables-addons-common
Installera med module-assistant
.
sudo apt-get install module-assistant xtables-addons-source
sudo module-assistant --verbose --text-mode auto-install xtables-addons
Installera från källan.
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
Bygg en databas för "länder".
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
Starta om ditt system.
sudo reboot
Efter att den xtables-addons
har installerats framgångsrikt, efter den första omstarten, kör depmod
annars landsblockering fungerar inte korrekt (detta krävs bara för första gången).
sudo depmod
Skapa ett skript på för /etc/cron.monthly/geoip-updater
att uppdatera geoip
databasen varje månad.
#!/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
Gör /etc/cron.monthly/geoip-updater
körbart.
sudo chmod +x /etc/cron.monthly/geoip-updater
_Obs: Om du får ett iptables: No chain/target/match by that name
felmeddelande när du försöker tillämpa en geoip
regel, är det möjligt att den xtables-addons
inte har installerats korrekt. Prova en annan installationsmetod.
Blockera alla inkommande paket från Kina, Hongkong, Ryssland och Korea.
sudo iptables -A INPUT -m geoip --src-cc CN,HK,RU,KR -j DROP
Tillåt inkommande paket på port 80
från överallt förutom länderna ovan.
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Tillåt inkommande paket på ens3
gränssnittet på port 22
endast från Peru (välj gärna den landskod du vill acceptera paket från till exempel US
för USA).
sudo iptables -A INPUT -i ens3 -p tcp -m tcp --dport 22 -m geoip --src-cc PE -j ACCEPT
Tillåt endast inkommande paket på port 443
från Peru.
sudo iptables -A INPUT -p tcp -m tcp --dport 443 -m geoip --src-cc PE -j ACCEPT
Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser
Introduktion Cacti är ett övervaknings- och grafverktyg med öppen källkod som är helt baserat på RRD-data. Genom Cacti kan du övervaka nästan vilken typ av enhet som helst
Introduktion Lets Encrypt är en certifikatmyndighetstjänst som erbjuder gratis TLS/SSL-certifikat. Installationsprocessen förenklas av Certbot,
Använder du ett annat system? Vad är Tekkit Classic? Tekkit Classic är ett modpack för spelet som alla känner och älskar; Minecraft. Den innehåller några av ver
Använder du ett annat system? Den här handledningen visar dig hur du installerar groupware iRedMail på en ny installation av Debian Wheezy. Du bör använda en serve
PHP och relaterade paket är de mest använda komponenterna när du distribuerar en webbserver. I den här artikeln kommer vi att lära oss hur du ställer in PHP 7.0 eller PHP 7.1 o
Squid är ett populärt, gratis Linux-program som låter dig skapa en webbproxy för vidarebefordran. I den här guiden ser du hur du installerar Squid på CentOS för att förvandla dig
Inledning Lighttpd är en apachegaffel som syftar till att vara mycket mindre resurskrävande. Den är lätt, därav namnet, och är ganska enkel att använda. Installera
1. Virtualmin/Webmin Virtualmin är en kraftfull och flexibel kontrollpanel för webbhotell för Linux- och UNIX-system baserad på den välkända Open Source-webbasen
Yii är ett PHP-ramverk som låter dig utveckla applikationer snabbare och enklare. Att installera Yii på Ubuntu är enkelt, eftersom du kommer att lära dig exakt
Screen är ett program som tillåter flera terminalsessioner inom ett fönster. Detta låter dig simulera flera terminalfönster där det ma
Denna handledning förklarar hur man ställer in en DNS-server med Bind9 på Debian eller Ubuntu. Genomgående i artikeln, byt ut ditt-domännamn.com i enlighet med detta. Vid th
Inledning Logrotate är ett Linux-verktyg som förenklar administrationen av loggfiler. Den körs vanligtvis en gång om dagen via ett cron-jobb och hanterar loggbasen
VULTR har nyligen gjort ändringar på deras sida, och allt borde nu fungera bra direkt när NetworkManager är aktiverat. Om du vill inaktivera
Icinga2 är ett kraftfullt övervakningssystem, och när det används i en master-klient-modell kan det ersätta behovet av NRPE-baserade övervakningskontroller. Master-klienten
Använder du ett annat system? Red5 är en mediaserver med öppen källkod implementerad i Java som låter dig köra Flash fleranvändarapplikationer som livestreamin
I den här artikeln kommer vi att se hur man kompilerar och installerar Nginx mainline från de officiella källorna för Nginx med PageSpeed-modulen, som låter dig t
Använder du ett annat system? Apache Cassandra är ett gratis NoSQL-databashanteringssystem med öppen källkod som är designat för att ge skalbarhet, hög
Använder du ett annat system? Apache Cassandra är ett gratis NoSQL-databashanteringssystem med öppen källkod som är designat för att ge skalbarhet, hög
Använder du ett annat system? Vanilla forum är en open source forumapplikation skriven i PHP. Det är en helt anpassningsbar, enkel att använda och stöder externa
Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.
Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.
Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.
Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.
Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...
När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.
Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.
Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.
I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.
Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer