Opsæt Cacti på Debian Jessie
Introduktion Cacti er et open source overvågnings- og grafværktøj, som er fuldt baseret på RRD-data. Gennem Cacti kan du overvåge næsten enhver type enhed
iptables
er et kraftfuldt værktøj, der bruges til at konfigurere Linux-kernens integrerede firewall. Det kommer forudinstalleret på de fleste Ubuntu-distributioner, men hvis du bruger en tilpasset Ubuntu-version eller kører inde i en container, bliver du højst sandsynligt nødt til at installere den manuelt.
sudo apt-get install iptables iptables-persistent
Hvis du efter installationen bliver spurgt, om du vil gemme dine nuværende regler, er det ligegyldigt i øjeblikket, fordi du vil fjerne eller oprette nye regler senere.
Du kan bruge netcat
kommandoen (på en anden computer end din server) til at teste, hvilke af dine porte der er åbne eller lukkede.
nc -z -w5 -v SERVER_IP PORT
nc
er netcat-kommandoen.-z
bare send en pakke uden nyttelast.-w5
vent op til 5 sekunder på et svar.-v
verbose tilstand.SERVER_IP
med din serveradresse.PORT
med den port, du vil teste, hvis den er åben (f.eks. 22
).På din server kan du bruge netstat
kommandoen til at se, hvilke porte der i øjeblikket lytter efter forbindelser.
sudo netstat -tulpn
Bemærk: Selvom det netstat
er praktisk at finde de porte, du vil arbejde med, bør du være opmærksom på de programmer, du i øjeblikket har installeret på din server, og hvilke porte, der lytter, du behøver ikke at tillade hver port, du finder i netstat
outputtet .
sudo iptables -A INPUT -p tcp -m tcp --dport 22 --m geoip --src-cc PE -j ACCEPT
-A INPUT
føj en regel til INPUT
kæden, en kæde er en gruppe regler, dem vi bruger mest i denne guide vil være INPUT
, OUTPUT
og PREROUTING
.-p tcp
indstillet tcp
som den protokol, som denne regel vil gælde for, kan du også bruge andre protokoller såsom udp
, icmp
eller all
.-m tcp
bruge tcp
modulet. iptables
understøtter yderligere funktioner via moduler, hvoraf nogle allerede er forudinstalleret med iptables
og andre, såsom geoip
modulet.--dport 22
kommandoerne, der starter med, --
angiver yderligere muligheder for det tidligere brugte modul, i dette tilfælde vil vi fortælle tcp
modulet kun at gælde for port 22
.-m geoip
bruge geoip
modulet. Det vil begrænse pakker på landebasis (mere information i trin 5).--src-cc PE
fortæl geoip
modulet at begrænse de indgående pakker til dem, der kommer fra Peru. For flere landekoder søg efter ISO 3166 country codes
på internettet.-j ACCEPT
det -j
argument fortæller iptables
hvad de skal gøre, hvis en pakke matcher de begrænsninger angivet i de tidligere argumenter. I dette tilfælde vil det ACCEPT
disse pakker, andre muligheder er REJECT
, DROP
og mere. Du kan finde flere muligheder ved at søge iptables jump targets
på internettet.Liste over alle regler.
sudo iptables -L
Liste over alle kommandoer, der blev brugt til at oprette de aktuelt brugte regler, nyttige til at redigere eller slette regler.
sudo iptables -S
For at slette en bestemt regel skal du vælge en regel fra sudo iptables -S
og erstatte den -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
Liste alle nummererede regler i INPUT
kæden.
sudo iptables -L INPUT --line-numbers
Slet en nummereret regel.
sudo iptables -D INPUT 2
At rydde alle regler.
sudo iptables -F
Advarsel: du kan miste forbindelsen, hvis du er forbundet med SSH .
Ryd kun regler i OUTPUT
kæden.
sudo iptables -F OUTPUT
Tillad SSH
på eth0
interface
sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-i eth0
anvende regel til en specifik grænseflade, for at tillade fra enhver grænseflade at fjerne denne kommando.For at begrænse indgående pakker til 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
angiver et IP/undernet, der skal tillades forbindelser fra.Indstil standard kæderegler.
Advarsel: Før du fortsætter, skal du sørge for, at du har anvendt de korrekte SSH-regler, hvis du arbejder på en ekstern server .
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
-P INPUT DROP
afviser alle indgående pakker (dvs. ingen vil være i stand til at oprette forbindelse til dine kørende servere såsom Apache, SQL osv.).-P FORWARD DROP
nægter alle videresendte pakker (dvs. når du bruger dit system som router).-P OUTPUT ACCEPT
tillader alle udgående pakker (dvs. når du udfører en HTTP
anmodning).Tillad al trafik på loopback-grænsefladen ( anbefales ).
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
Gem de nuværende iptables
regler.
sudo netfilter-persistent save
sudo netfilter-persistent reload
Hvis du kører inde i en container, vil netfilter-persistent
kommandoen højst sandsynligt ikke virke, så du skal omkonfigurere iptables-persistent
pakken.
sudo dpkg-reconfigure iptables-persistent
Tillad DNS-forespørgsler.
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
Brug state
modulet til at tillade RELATED
og ESTABLISHED
udgående pakker.
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Tillad de ønskede porte; i dette tilfælde HTTP
porte.
sudo iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
Flere porte, du måske vil bruge.
FTP
: tcp ved port 21HTTPS
: tcp ved port 443DHCP
: udp ved port 67NTP
: udp ved port 123Bemærk: Hvis du vil tillade apt-get
, kan det være nødvendigt at tillade FTP
ogHTTPS
.
Tillad kun den returnerede trafik for RELATED
og allerede ESTABLISHED
forbindelser ( anbefales, da tovejskommunikation nogle gange er påkrævet).
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Tillad ping-anmodninger udefra.
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
Videresend trafik på eth0
port 2200
til 10.0.3.21:22
(nyttigt hvis du vil eksponere en SSH-server, der kører inde i en container).
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2200 -j DNAT --to-destination 10.0.3.21:22
Hvis du logger ind på din server ved hjælp af SSH, vil der blive oprettet en vedvarende forbindelse (dvs. ingen nye forbindelser, selvom du er tilsluttet i mere end 1 time). Hvis du fejler og prøver at logge på igen, oprettes en ny forbindelse. Dette vil blokere kontinuerlige SSH-loginforsøg ved at begrænse nye forbindelser i timen.
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
Omdiriger alle anmodninger på port 443
til port 4430
(nyttigt hvis du vil binde til port 443
uden 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
netværksgrænsefladen.-m geoip
landeblokmodul (se trin 5).Advarsel: Brug ikke lo
, OS vil kassere alle pakker, der er omdirigeret til loopback-grænsefladen .
xtables-addons
Du kan installere xtables-addons
modulet ved hjælp af forskellige metoder, du er velkommen til at bruge den installationsmetode, der fungerer bedst for dig.
Installer ved hjælp af apt-get
.
sudo apt-get install xtables-addons-common
Installer ved hjælp af module-assistant
.
sudo apt-get install module-assistant xtables-addons-source
sudo module-assistant --verbose --text-mode auto-install xtables-addons
Installer fra kilden.
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
Byg en "lande"-database.
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
Genstart dit system.
sudo reboot
Efter den xtables-addons
er blevet installeret, efter den første genstart, kør, depmod
ellers vil landeblokering ikke fungere korrekt (dette er kun påkrævet for første gang).
sudo depmod
Opret et script på for /etc/cron.monthly/geoip-updater
at opdatere geoip
databasen månedligt.
#!/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
eksekverbar.
sudo chmod +x /etc/cron.monthly/geoip-updater
_Bemærk: Hvis du modtager en iptables: No chain/target/match by that name
fejl, når du forsøger at anvende en geoip
regel, er det muligt, at den xtables-addons
ikke er installeret korrekt. Prøv en anden installationsmetode.
Bloker alle indgående pakker fra Kina, Hong Kong, Rusland og Korea.
sudo iptables -A INPUT -m geoip --src-cc CN,HK,RU,KR -j DROP
Tillad indgående pakker på port 80
fra alle steder undtagen landene ovenfor.
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Tillad kun indgående pakker på ens3
grænsefladen på port 22
fra Peru (vælg gerne den landekode, du vil acceptere pakker fra, for eksempel US
til USA).
sudo iptables -A INPUT -i ens3 -p tcp -m tcp --dport 22 -m geoip --src-cc PE -j ACCEPT
Tillad kun indgående pakker på port 443
fra Peru.
sudo iptables -A INPUT -p tcp -m tcp --dport 443 -m geoip --src-cc PE -j ACCEPT
Introduktion Cacti er et open source overvågnings- og grafværktøj, som er fuldt baseret på RRD-data. Gennem Cacti kan du overvåge næsten enhver type enhed
Introduktion Lets Encrypt er en certifikatmyndighedstjeneste, der tilbyder gratis TLS/SSL-certifikater. Installationsprocessen forenkles af Certbot,
Bruger du et andet system? Denne vejledning viser dig, hvordan du installerer groupware iRedMail på en ny installation af Debian Wheezy. Du bør bruge en serve
Introduktion Lighttpd er en forgrening af Apache, der sigter mod at være meget mindre ressourcekrævende. Den er let, deraf navnet, og den er ret enkel at bruge. Installer
1. Virtualmin/Webmin Virtualmin er et kraftfuldt og fleksibelt webhotel kontrolpanel til Linux og UNIX systemer baseret på den velkendte Open Source web-base
Yii er en PHP-ramme, der giver dig mulighed for at udvikle applikationer hurtigere og nemmere. Installation af Yii på Ubuntu er ligetil, da du vil lære nøjagtigt
Screen er et program, der tillader flere terminalsessioner inden for et vindue. Dette giver dig mulighed for at simulere flere terminalvinduer, hvor det ma
Introduktion Logrotate er et Linux-værktøj, der forenkler administrationen af logfiler. Det kører typisk en gang om dagen via et cron-job og administrerer logbasen
VULTR har for nylig foretaget ændringer i deres ende, og alt skulle nu fungere fint ud af boksen med NetworkManager aktiveret. Skulle du ønske at deaktivere
Icinga2 er et kraftfuldt overvågningssystem, og når det bruges i en master-klient-model, kan det erstatte behovet for NRPE-baserede overvågningstjek. Mester-klienten
I denne artikel vil vi se, hvordan du kompilerer og installerer Nginx mainline fra de officielle kilder til Nginx med PageSpeed-modulet, som giver dig mulighed for at
Bruger du et andet system? Apache Cassandra er et gratis og open source NoSQL-databasestyringssystem, der er designet til at give skalerbarhed, høj
Bruger du et andet system? Introduktion Kanboard er et gratis og open source projektstyringssoftwareprogram, som er designet til at lette og visualisere
Bruger du et andet system? Introduktion Kanboard er et gratis og open source projektstyringssoftwareprogram, som er designet til at lette og visualisere
Bruger du et andet system? Gitea er et alternativt open source, selvhostet versionskontrolsystem drevet af Git. Gitea er skrevet på Golang og er
Bruger du et andet system? Gitea er et alternativt open source, selv-hostet versionskontrolsystem drevet af git. Gitea er skrevet på Golang og er
Bruger du et andet system? Thelia er et open source-værktøj til at skabe e-business-websteder og administrere onlineindhold skrevet i PHP. Thelia kildekode i
Hvad er Dirty Cow (CVE-2016-5195)? Dirty Cow-sårbarheden udnyttes gennem, hvordan Linux behandler kode. Det giver en uprivilegeret bruger mulighed for at gai
Det kan være farligt at have kun én bruger, som er root. Så lad os ordne det. Vultr giver os friheden til at gøre som vi vil med vores brugere og vores servere
Adminer er et letvægtsalternativ til phpMyAdmin. Til sammenligning er dens samlede pakkestørrelse 400KB mod 4,2 MB phpMyAdmin. I modsætning til phpMyAdmin, som
Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.
Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.
Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.
Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.
Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...
Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.
Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af dataene. Denne blog dækker udviklingen af datalagring på basis af en infografik.
Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.
I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.
For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af mac-maskiner. Læs denne artikel for at lære mere