Snort tai Suricata. Osa 3: Office-verkon suojaaminen
В edellinen artikkeli Olemme käsitelleet Suricatan vakaan version suorittamista Ubuntu 18.04 LTS:ssä. IDS:n asettaminen yhteen solmuun ja ilmaisten sääntöjoukkojen käyttöönotto on melko yksinkertaista. Tänään selvitetään kuinka suojata yritysverkkoa yleisimmillä hyökkäyksillä käyttämällä virtuaalipalvelimelle asennettua Suricataa. Tätä varten tarvitsemme Linuxissa VDS:n, jossa on kaksi tietokoneydintä. RAM-muistin määrä riippuu kuormituksesta: 2 Gt riittää jollekin ja vakavampiin tehtäviin 4 tai jopa 6. Virtuaalikoneen etuna on kokeilukyky: voit aloittaa pienellä kokoonpanolla ja lisätä resursseja tarpeen mukaan.
IDS:n poistaminen virtuaalikoneelta voi olla tarpeen testausta varten. Jos et ole koskaan käsitellyt tällaisia ratkaisuja, sinun ei pitäisi kiirehtiä tilaamaan fyysisiä laitteita ja muuttamaan verkkoarkkitehtuuria. On parasta käyttää järjestelmää turvallisesti ja kustannustehokkaasti, jotta voit määrittää laskentatarpeesi. On tärkeää ymmärtää, että kaikki yritysliikenne on ohjattava yhden ulkoisen solmun kautta: voit yhdistää paikallisen verkon (tai useiden verkkojen) VDS:ään, johon on asennettu IDS Suricata, Pehmeä - Helposti määritettävä, monialustainen VPN-palvelin, joka tarjoaa vahvan salauksen. Toimiston Internet-yhteydellä ei välttämättä ole oikeaa IP-osoitetta, joten se on parempi määrittää VPS:lle. Ubuntu-arkistossa ei ole valmiita paketteja, sinun on ladattava ohjelmisto joko osoitteesta projektin sivusto, tai palvelun ulkoisesta arkistosta Launchpad (jos luotat häneen):
Palvelimen määrittämiseen käytetään erityistä komentoriviapuohjelmaa:
sudo vpncmd
Emme puhu yksityiskohtaisesti asetuksesta: menettely on melko yksinkertainen, se on kuvattu hyvin lukuisissa julkaisuissa eikä se liity suoraan artikkelin aiheeseen. Lyhyesti sanottuna vpncmd:n käynnistämisen jälkeen sinun on valittava kohta 1 päästäksesi palvelimen hallintakonsoliin. Voit tehdä tämän kirjoittamalla nimen localhost ja painamalla enteriä keskittimen nimen kirjoittamisen sijaan. Järjestelmänvalvojan salasana asetetaan konsolissa serverpasswordset-komennolla, DEFAULT-virtuaalinen keskitin poistetaan (hubdelete-komento) ja luodaan uusi nimellä Suricata_VPN, ja sen salasana asetetaan myös (hubcreate-komento). Seuraavaksi sinun on siirryttävä uuden keskittimen hallintakonsoliin käyttämällä hub Suricata_VPN -komentoa luodaksesi ryhmä ja käyttäjä groupcreate- ja usercreate-komennoilla. Käyttäjän salasana asetetaan käyttämällä userpasswordset.
SoftEther tukee kahta liikenteen siirtotilaa: SecureNAT ja Local Bridge. Ensimmäinen on patentoitu tekniikka virtuaalisen yksityisen verkon rakentamiseen omalla NAT:lla ja DHCP:llä. SecureNAT ei vaadi TUN/TAP- tai Netfilteriä tai muita palomuuriasetuksia. Reititys ei vaikuta järjestelmän ytimeen, ja kaikki prosessit ovat virtualisoituja ja toimivat missä tahansa VPS/VDS:ssä käytetystä hypervisorista riippumatta. Tämä lisää suorittimen kuormitusta ja hitaampaa nopeutta verrattuna Local Bridge -tilaan, joka yhdistää SoftEther-virtuaalikeskittimen fyysiseen verkkosovittimeen tai TAP-laitteeseen.
Konfiguroinnista tulee tässä tapauksessa monimutkaisempi, koska reititys tapahtuu ydintasolla Netfilterin avulla. VDS:mme on rakennettu Hyper-V:lle, joten viimeisessä vaiheessa luomme paikallisen sillan ja aktivoimme TAP-laitteen komennolla bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes. Keskittimen hallintakonsolista sulkemisen jälkeen järjestelmässä näkyy uusi verkkoliitäntä, jolle ei ole vielä määritetty IP-osoitetta:
ifconfig
Seuraavaksi sinun on otettava käyttöön pakettien reititys rajapintojen välillä (ip eteenpäin), jos se ei ole aktiivinen:
sudo nano /etc/sysctl.conf
Poista seuraavan rivin kommentti:
net.ipv4.ip_forward = 1
Tallenna muutokset tiedostoon, poistu editorista ja ota ne käyttöön seuraavalla komennolla:
sudo sysctl -p
Seuraavaksi meidän on määritettävä aliverkko virtuaaliverkolle kuvitteellisilla IP-osoitteilla (esimerkiksi 10.0.10.0/24) ja osoitettava käyttöliittymälle:
sudo ifconfig tap_suricata_vp 10.0.10.1/24
Sitten sinun on kirjoitettava Netfilter-säännöt.
1. Salli tarvittaessa saapuvat paketit kuunteluporteissa (SoftEther-protokolla käyttää HTTPS:ää ja porttia 443)
3. Salli pakettien välittäminen aliverkosta 10.0.10.0/24
sudo iptables -A FORWARD -s 10.0.10.0/24 -j ACCEPT
4. Salli jo muodostettujen yhteyksien pakettien välittäminen
sudo iptables -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
Jätämme prosessin automatisoinnin, kun järjestelmä käynnistetään uudelleen alustusskripteillä lukijoille kotitehtävänä.
Jos haluat antaa IP-osoitteen asiakkaille automaattisesti, sinun on asennettava myös jonkinlainen DHCP-palvelu paikallista siltaa varten. Tämä päättää palvelimen asennuksen ja voit siirtyä asiakkaisiin. SoftEther tukee monia protokollia, joiden käyttö riippuu LAN-laitteiden ominaisuuksista.
netstat -ap |grep vpnserver
Koska testireitittimemme toimii myös Ubuntun alla, asennataan softether-vpnclient- ja softether-vpncmd-paketit ulkoisesta arkistosta siihen käyttääksemme omaa protokollaa. Sinun tulee suorittaa asiakasohjelma:
sudo vpnclient start
Määritä asetukset käyttämällä vpncmd-apuohjelmaa ja valitsemalla localhost koneeksi, jolla vpnclient on käynnissä. Kaikki komennot tehdään konsolissa: sinun on luotava virtuaalinen käyttöliittymä (NicCreate) ja tili (AccountCreate).
Joissakin tapauksissa sinun on määritettävä todennusmenetelmä käyttämällä AccountAnonymousSet-, AccountPasswordSet-, AccountCertSet- ja AccountSecureCertSet-komentoja. Koska emme käytä DHCP:tä, virtuaalisovittimen osoite asetetaan manuaalisesti.
Lisäksi meidän on otettava käyttöön ip forward (parametri net.ipv4.ip_forward=1 /etc/sysctl.conf-tiedostossa) ja määritettävä staattiset reitit. Tarvittaessa VDS:ssä Suricatalla voit määrittää portin edelleenohjauksen käyttämään paikallisverkkoon asennettuja palveluita. Tältä osin verkon yhdistämistä voidaan pitää valmiina.
Ehdottamamme kokoonpano näyttää suunnilleen tältä:
Suricatan asetukset
В edellinen artikkeli puhuimme kahdesta IDS:n toimintatilasta: NFQUEUE-jonon kautta (NFQ-tila) ja nollakopion kautta (AF_PACKET-tila). Toinen vaatii kaksi käyttöliittymää, mutta on nopeampi - käytämme sitä. Parametri on oletusarvoisesti asetettu tiedostossa /etc/default/suricata. Meidän on myös muokattava /etc/suricata/suricata.yaml:n vars-osiota ja asetettava siellä oleva virtuaalinen aliverkko kodiksi.
Käynnistä IDS uudelleen käyttämällä komentoa:
systemctl restart suricata
Ratkaisu on valmis, nyt sinun on ehkä testattava sen kestävyys haitallisia toimia vastaan.
Hyökkäysten simulointi
Ulkoisen IDS-palvelun taistelukäytössä voi olla useita skenaarioita:
Suojaus DDoS-hyökkäyksiä vastaan (ensisijainen tarkoitus)
Tällaista vaihtoehtoa on vaikea toteuttaa yritysverkon sisällä, koska analysoitavien pakettien on päästävä Internetiin katsovaan järjestelmärajapintaan. Vaikka IDS estäisi ne, harhaliikenne voi kaataa datalinkin. Tämän välttämiseksi sinun on tilattava VPS, jossa on riittävän tuottava Internet-yhteys, joka pystyy välittämään kaiken paikallisen verkkoliikenteen ja kaiken ulkoisen liikenteen. Usein tämä on helpompaa ja halvempaa kuin toimistokanavan laajentaminen. Vaihtoehtona kannattaa mainita DDoS-suojaukseen erikoistuneet palvelut. Heidän palveluidensa hinta on verrattavissa virtuaalisen palvelimen kustannuksiin, eikä se vaadi aikaa vievää konfigurointia, mutta on myös haittoja - asiakas saa rahoilleen vain DDoS-suojauksen, kun taas hänen oma IDS voidaan konfiguroida sinun nimelläsi. Kuten.
Suojaus muita ulkoisia hyökkäyksiä vastaan
Suricata pystyy selviytymään yrityksistä hyödyntää Internetistä saatavilla olevien yritysten verkkopalveluiden (postipalvelin, verkkopalvelin ja verkkosovellukset jne.) erilaisia haavoittuvuuksia. Yleensä tätä varten IDS asennetaan lähiverkon sisään rajalaitteiden jälkeen, mutta sen viemisellä ulos on oikeus olla olemassa.
Suojaus sisäpiiriläisiltä
Järjestelmänvalvojan yrityksistä huolimatta yritysverkon tietokoneet voivat saada haittaohjelmia. Lisäksi paikalliselle alueelle ilmestyy joskus huligaaneja, jotka yrittävät suorittaa joitain laittomia toimia. Suricata voi auttaa estämään tällaiset yritykset, vaikka sisäisen verkon suojaamiseksi on parempi asentaa se kehän sisäpuolelle ja käyttää sitä yhdessä hallitun kytkimen kanssa, joka voi peilata liikennettä yhteen porttiin. Myöskään ulkoinen IDS ei ole tässä tapauksessa hyödytön - ainakin se pystyy saamaan kiinni lähiverkossa asuvien haittaohjelmien yritykset ottaa yhteyttä ulkoiseen palvelimeen.
Aluksi luomme toisen VPS:ää hyökkäävän testin, ja paikallisverkon reitittimellä nostamme Apachen oletuskokoonpanolla, jonka jälkeen välitämme sille IDS-palvelimelta 80. portin. Seuraavaksi simuloimme DDoS-hyökkäystä hyökkäävältä isännältä. Voit tehdä tämän lataamalla GitHubista, kääntämällä ja suorittamalla pienen xerxes-ohjelman hyökkäävässä solmussa (sinun on ehkä asennettava gcc-paketti):
Suricata katkaisee konnan, ja Apache-sivu avautuu oletuksena huolimatta improvisoidusta hyökkäyksestämme ja "toimisto" (itse asiassa koti) verkon melko kuolleesta kanavasta. Vakavampiin tehtäviin kannattaa käyttää Metasploit-kehys. Se on suunniteltu tunkeutumistestaukseen ja sen avulla voit simuloida erilaisia hyökkäyksiä. Asennusohjeet saatavissa hankkeen verkkosivuilla. Asennuksen jälkeen päivitys vaaditaan:
sudo msfupdate
Suorita testausta varten msfconsole.
Valitettavasti kehyksen uusimmissa versioissa ei ole kykyä murtaa automaattisesti, joten hyväksikäytöt on lajiteltava manuaalisesti ja suoritettava use-komennolla. Aluksi kannattaa määrittää hyökkäyksen kohteena olevan koneen avoimet portit esimerkiksi nmap-sovelluksella (tapauksessamme se korvataan kokonaan netstatilla hyökätyn isäntäkoneen kanssa), ja valitse sitten ja käytä sopivaa Metasploit-moduulit.
On muitakin tapoja testata IDS:n kestävyyttä hyökkäyksiä vastaan, mukaan lukien verkkopalvelut. Uteliaisuuden vuoksi voit järjestää stressitestin kokeiluversiolla IP stressitekijä. Jotta voit tarkistaa reaktion sisäisten tunkeilijoiden toimiin, kannattaa asentaa erikoistyökaluja johonkin paikallisen verkon koneista. Vaihtoehtoja on paljon ja niitä tulisi aika ajoin soveltaa paitsi kokeelliseen paikkaan myös toimiviin järjestelmiin, vain tämä on täysin erilainen tarina.