Sett opp Cacti på Debian Jessie
Introduksjon Cacti er et åpen kildekode overvåkings- og grafverktøy som er fullt basert på RRD-data. Gjennom Cacti kan du overvåke nesten alle typer enheter
iptables
er et kraftig verktøy som brukes til å konfigurere Linux-kjernens integrerte brannmur. Den kommer forhåndsinstallert på de fleste Ubuntu-distribusjoner, men hvis du bruker en tilpasset Ubuntu-versjon eller kjører i en beholder, må du sannsynligvis installere den manuelt.
sudo apt-get install iptables iptables-persistent
Etter installasjonen, hvis du blir spurt om du vil lagre gjeldende regler, spiller det ingen rolle for øyeblikket fordi du kommer til å fjerne eller opprette nye regler senere.
Du kan bruke netcat
kommandoen (på en annen datamaskin enn serveren din) for å teste hvilke av portene dine som er åpne eller lukkede.
nc -z -w5 -v SERVER_IP PORT
nc
er netcat-kommandoen.-z
bare send en pakke uten nyttelast.-w5
vent opptil 5 sekunder på svar.-v
utførlig modus.SERVER_IP
med serveradressen din.PORT
med porten du vil teste hvis den er åpen (f.eks. 22
).På serveren din kan du bruke netstat
kommandoen til å se hvilke porter som lytter etter tilkoblinger.
sudo netstat -tulpn
Merk: Selv om det netstat
er praktisk å finne portene du vil jobbe med, bør du være klar over applikasjonene du for øyeblikket har installert på serveren din og hvilke porter som lytter, du trenger ikke tillate hver port du finner i netstat
utdataene .
sudo iptables -A INPUT -p tcp -m tcp --dport 22 --m geoip --src-cc PE -j ACCEPT
-A INPUT
legg til en regel i INPUT
kjeden, en kjede er en gruppe regler, de vi bruker mest på denne veiledningen vil være INPUT
, OUTPUT
og PREROUTING
.-p tcp
satt tcp
som protokollen denne regelen skal gjelde for, kan du også bruke andre protokoller som udp
, icmp
eller all
.-m tcp
bruke tcp
modulen. iptables
støtter tilleggsfunksjoner via moduler, hvorav noen allerede er forhåndsinstallert iptables
og andre, for eksempel geoip
modulen.--dport 22
kommandoene som starter med --
indikerer tilleggsalternativer for den tidligere brukte modulen, i dette tilfellet vil vi fortelle tcp
modulen å bare gjelde for port 22
.-m geoip
bruke geoip
modulen. Det vil begrense pakker på landsbasis (mer informasjon på trinn 5).--src-cc PE
be geoip
modulen om å begrense de innkommende pakkene til de som kommer fra Peru. For flere landskoder søk etter ISO 3166 country codes
på internett.-j ACCEPT
det -j
argumentet forteller iptables
hva du skal gjøre hvis en pakke passer de begrensninger som er angitt i de foregående argumenter. I dette tilfellet vil det være ACCEPT
disse pakkene, andre alternativer er REJECT
, DROP
og mer. Du kan finne flere alternativer ved å søke iptables jump targets
på internett.List opp alle regler.
sudo iptables -L
Liste alle kommandoer som ble brukt til å lage reglene som brukes for øyeblikket, nyttige for å redigere eller slette regler.
sudo iptables -S
For å slette en spesifikk regel, velg en regel fra sudo iptables -S
og erstatt 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
List opp alle nummererte regler i INPUT
kjeden.
sudo iptables -L INPUT --line-numbers
Slett en nummerert regel.
sudo iptables -D INPUT 2
For å fjerne alle regler.
sudo iptables -F
Advarsel: du kan miste forbindelsen hvis du er koblet til med SSH .
Tøm kun regler i OUTPUT
kjeden.
sudo iptables -F OUTPUT
Tillat SSH
på eth0
grensesnittet
sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-i eth0
bruk regel til et spesifikt grensesnitt, for å tillate fra et hvilket som helst grensesnitt å fjerne denne kommandoen.For å begrense innkommende pakker til en spesifikk 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
spesifiserer en IP/subnett for å tillate tilkoblinger fra.Angi standard kjederegler.
Advarsel: før du fortsetter, sørg for at du har brukt de riktige SSH-reglene hvis du arbeider på en ekstern server .
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
-P INPUT DROP
nekter alle innkommende pakker (dvs. ingen vil kunne koble seg til dine kjørende servere som Apache, SQL osv.).-P FORWARD DROP
nekter alle videresendte pakker (dvs. når du bruker systemet som ruter).-P OUTPUT ACCEPT
tillater alle utgående pakker (dvs. når du utfører en HTTP
forespørsel).Tillat all trafikk på loopback-grensesnitt ( anbefales ).
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
Lagre gjeldende iptables
regler.
sudo netfilter-persistent save
sudo netfilter-persistent reload
Hvis du kjører inne i en container, vil netfilter-persistent
kommandoen mest sannsynlig ikke fungere, så du må konfigurere iptables-persistent
pakken på nytt.
sudo dpkg-reconfigure iptables-persistent
Tillat DNS-spørringer.
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
Bruk state
modulen til å tillate RELATED
og ESTABLISHED
utgående pakker.
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Tillat de ønskede portene; i dette tilfellet, HTTP
porter.
sudo iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
Flere porter du kanskje vil bruke.
FTP
: tcp ved port 21HTTPS
: tcp ved port 443DHCP
: utp ved port 67NTP
: udp ved port 123Merk: Hvis du vil tillate apt-get
, kan det være nødvendig å tillate FTP
ogHTTPS
.
Tillat returnert trafikk kun for RELATED
og allerede ESTABLISHED
tilkoblinger ( anbefales fordi noen ganger toveiskommunikasjon er nødvendig).
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Tillat ping-forespørsler utenfra.
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 trafikk på eth0
port 2200
til 10.0.3.21:22
(nyttig hvis du ønsker å eksponere en SSH-server som kjører inne 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 lykkes med å logge på serveren din ved å bruke SSH, vil en vedvarende tilkobling opprettes (dvs. ingen nye tilkoblinger selv om du er tilkoblet i mer enn 1 time). Hvis du mislykkes og prøver å logge på igjen, opprettes en ny tilkobling. Dette vil blokkere kontinuerlige SSH-påloggingsforsøk ved å begrense nye tilkoblinger per time.
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 forespørsler på port 443
til port 4430
(nyttig hvis du vil binde til port 443
uten 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
nettverksgrensesnittet.-m geoip
landsblokkmodul (se trinn 5).Advarsel: Ikke bruk lo
, OS vil forkaste alle pakker som er omdirigert til loopback-grensesnittet .
xtables-addons
Du kan installere xtables-addons
modulen ved hjelp av ulike metoder, bruk gjerne den installasjonsmetoden som passer best for deg.
Installer ved hjelp av apt-get
.
sudo apt-get install xtables-addons-common
Installer ved hjelp av 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
Bygg en "land"-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
Start systemet på nytt.
sudo reboot
Etter at den xtables-addons
har blitt installert, etter den første omstarten, kjør depmod
ellers vil landsblokkering ikke fungere ordentlig (dette er bare nødvendig for første gang).
sudo depmod
Lag et skript på for /etc/cron.monthly/geoip-updater
å oppdatere geoip
databasen månedlig.
#!/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
Gjør /etc/cron.monthly/geoip-updater
kjørbar.
sudo chmod +x /etc/cron.monthly/geoip-updater
_Merk: Hvis du får en iptables: No chain/target/match by that name
feilmelding når du prøver å bruke en geoip
regel, er det mulig at den xtables-addons
ikke er riktig installert. Prøv en annen installasjonsmetode.
Blokker alle innkommende pakker fra Kina, Hong Kong, Russland og Korea.
sudo iptables -A INPUT -m geoip --src-cc CN,HK,RU,KR -j DROP
Tillat innkommende pakker på port 80
fra alle steder bortsett fra landene ovenfor.
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Tillat innkommende pakker på ens3
grensesnittet på port 22
kun fra Peru (velg gjerne landskoden du vil godta pakker fra, for eksempel US
for USA).
sudo iptables -A INPUT -i ens3 -p tcp -m tcp --dport 22 -m geoip --src-cc PE -j ACCEPT
Tillat innkommende pakker på port 443
kun fra Peru.
sudo iptables -A INPUT -p tcp -m tcp --dport 443 -m geoip --src-cc PE -j ACCEPT
Introduksjon Cacti er et åpen kildekode overvåkings- og grafverktøy som er fullt basert på RRD-data. Gjennom Cacti kan du overvåke nesten alle typer enheter
Introduksjon Lets Encrypt er en sertifikatmyndighetstjeneste som tilbyr gratis TLS/SSL-sertifikater. Installasjonsprosessen forenkles av Certbot,
Bruker du et annet system? Denne opplæringen viser deg hvordan du installerer gruppevaren iRedMail på en ny installasjon av Debian Wheezy. Du bør bruke en serve
1. Virtualmin/Webmin Virtualmin er et kraftig og fleksibelt kontrollpanel for webhotell for Linux- og UNIX-systemer basert på den velkjente Open Source-nettbasen
Skjerm er et program som tillater flere bruk av terminalsesjoner i ett vindu. Dette lar deg simulere flere terminalvinduer der det ma
Introduksjon Logrotate er et Linux-verktøy som forenkler administrasjonen av loggfiler. Den kjører vanligvis en gang om dagen via en cron-jobb, og administrerer loggbasen
Bruker du et annet system? Docker er en applikasjon som gjør det mulig å distribuere programmer som kjøres som containere. Det ble skrevet i det populære Go-programmet
Hva er Dirty Cow (CVE-2016-5195)? Dirty Cow-sårbarheten utnyttes gjennom hvordan Linux behandler kode. Det gjør det mulig for en uprivilegert bruker å gai
Å ha bare én bruker, som er root, kan være farlig. Så la oss fikse det. Vultr gir oss friheten til å gjøre som vi vil med våre brukere og våre servere
Adminer er et lett alternativ til phpMyAdmin. Til sammenligning er dens totale pakkestørrelse 400 KB, mot 4,2 MB med phpMyAdmin. I motsetning til phpMyAdmin, som
Bruker du et annet system? GoAccess er en åpen kildekode-nettlogganalysator. Du kan bruke den til analyse av logger på sanntidsbasis i enten terminalen eller
Denne artikkelen er en del av en todelt serie om installasjon og konfigurering av Nagios på Ubuntu 14.04. Del 1: Nagios Server Del 2: Oversikt over ekstern vert Nagio
Vultr-servere kan ikke distribueres med tidssonen/datoen/klokkeslettet du trenger på serveren din. Heldigvis kan vi manuelt stille inn tidssonen for å forhindre problemer
Denne artikkelen vil lede deg gjennom distribusjon av Meteor-appen din til en Vultr VPS som kjører Ubuntu 14.04. Det kan også fungere på andre Linux-distribusjoner (forsøk a
Introduksjon Linux-funksjoner er spesielle attributter i Linux-kjernen som gir prosesser og binære kjørbare spesifikke rettigheter som er normale
Noen arkitekturer med høy tilgjengelighet krever en flytende IP-adresse. Denne funksjonaliteten er tilgjengelig på Vultr-plattformen når privat nettverk har bee
Innledning Enkelte scenarier krever at du oppretter brukere med lese- og skrivetilgang til en enkelt katalog kun via FTP. Denne artikkelen vil vise deg hvordan t
Node.js-applikasjoner er populære for deres evne til å skalere. Å kjøre flere samtidige prosesser på flere servere gir lavere ventetid og større oppetid
Bruker du et annet system? LibreNMS er et fullverdig åpen kildekode-nettverksovervåkingssystem. Den bruker SNMP for å hente data fra forskjellige enheter. En variant
For DHCP-brukere kan det hende du trenger å redigere /etc/resolv.conf for å bruke andre navneservere. Deretter, etter en periode (eller etter en omstart av systemet)
Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.
Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.
Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.
Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.
Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...
Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.
Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.
Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.
I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.
Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer