POZIADAVKY
-------------------------------------------------------------------------------
Pre spravne fungovanie je potrebne stiahnut zdrojove kody k zasuvnemu mudulu
ARGOS pre Qemu vo verzi 0.5.0. Do modulu je nutne vlozit C/C++ subory (.c) 
spolu s hlavickovymi subormi (.h). 
Stiahnut GCC prekladac vo verzii 3.4.6 a nainstalovat ho do adresara (pouzity
adresar /usr/local/bin/gcc-3.4.6).

Pre spravne fungovanie je nutne mat nainstalovanu PostgreSQL databazu vo verzii
9.2 alebo vyssej a bakiky:
  
  SDL, SDL-devel, zlib-devel a postgresql-devel, gcc, postgresql92, 
  postgresql92-server, qemu, qemu-lib

INSTALACIA
-------------------------------------------------------------------------------
Vysledny modul argos je nutne skompilovat a to v adresari argosu v podadresari
src:

  $ ./configure --prefix=/opt/argos --enable-lowmem --enable-dyntags \ 
    --enable-net-tracker --cc=/usr/local/bin/gcc-3.4.6
  $ make -j4 
  $ make install
  
Plugin je po nainstalovani ulozeny v adresari /opt/argos, binarny subor potom 
v adresari /opt/argos/bin/aegos

Pre spustenie instalacie je potrebne byt v adresari so zdrojovymi kodmi argosu 
v baliku argos-0.5.0.tgz, ktory obsahuje nami dodane subory. Dalej je potrebne 
spustit samotnu instalaciu:

  $ ./install.sh

Po uspesnom dokonceni instalacie by mal system byt aktualizovany potrebnymi 
balikmi, ktore su optimalizovane pre beh na Red Hat systemoch (RHEL, Fedora, 
CentOS), mal by obsahovat subsystem argos pre virtualizacny nastroj Qemu.
  
SIET
-------------------------------------------------------------------------------
Pre vytvorenie sietovania pre Honeypot Argos je potrebne nainstalovat baliky:
  
  tunctl, bridge-utils

Instalaciu tychto balikov zahajime pomocou:

  $ yum install tunctl bridge-utils
  
Pre nakonfigurovanie siete musime vytvorit virtualne rozhranie tap0, ktore bude 
spojene s virtualizovanym systemom:

  $ tunctl -u $UID -d tap0
  $ brctl addbr br0
  $ brctl addif br0 eth0
  $ brctl addig br0 tap0
  
Dalej je potrebne povolit IP forwarding (preposielanie IP paketov) pomocou:

  $ echo 1 > /proc/sys/net/ipv4/ip_forwarding
  
Dalsi postup v nastaveni siete zalezi na konkretnej konfiguracii siete a 
topologie prostredia. Je nutne spravne nastavit firewall pre preposielanie 
paketov na spravne rozhranie systemu podla IP adresy ciela a spravne nastavit
rootovacie tabulky. 

Na konfiguraciu siete je mozne pouzit nastroje/prikazy: iptables, ipconfig, 
route, ip, ip6tables (v pripade IPv6), sysconfig (kernel parametre). Ziadne 
komplikacie zo strany SELinuxu neboli zaznamenane.

NASTAVENIE DATABAZE
-------------------------------------------------------------------------------
Pre nastavenie databaze je mozne pouzit predpripravene skripty:
 - create_db.sh
 - create_postgresql_argos
 
SH skript create_db.sh vola SQL skript create_postgresql_argos pri vytvarani 
databaz. V SH skripte je mozne nastavit pocet vytvorenych databaz v pripade
instalacie viacerych honeypot systemov (Pri kazdom honeypote je nutna zvlastny
binarny subor, ktory je skompilovany podla parametrov v subore psql-config.h)    

Pre instalaciu SQL databaze:

  $ ./create_db.sh 


DALSIE VOLITELNE NASTAVENIA
-------------------------------------------------------------------------------
V instalacnom adresari sa nachadzaju dalsie pomocne skripty a subory, ktore su
vysvetlene nizsie:

aips_init - inicializacia prostredia AIPS Honeypotu, nastavenie diskovych 
suboroch honeypotov, cesty k logom a suborom a v pripade simultaneho spustenia
viacerych honeypotoch na jednom systeme rotacia.

argos - skript sluzby argos pre spustenie, zastavenie, restart a zistenie 
statusu sluzby. Skript je nutne pre spravne fungovanie ulozit do adresara 
/etc/init.d/.

Pre spustenie/zastavenie/restart/zistenie stavu sluzby:
  
  $ service argos start / stop / restart / status
  
V pripade, ze je na systeme viac Honeypot systemov, je mozne pouzit skript s 
pridanou moznostou spustenia konkretneho Honeypotu, napr. pre spustenie 
Honeypotu s ID=2:
  
  $ service argos start 2 
     
config - konfiguracny subor, ktory je nutne umiestnit do adresara /etc/aips/. 
Tento subor je vyzadovany spustacim skriptom sluzby pre konfiguraciu 
prostredia a premennych. V subore sa nachadzaju disky k jednotlivym honeypotom,
je mozne nakonfigurovat neobmedzene mnozstvo honeypotov. Vsetky ostatne 
nastavenia su zdielane a daju sa pomocou jazykovej syntaxi BASH preprogramovat.

run_tcpdump.sh - skript pre spustenie TCPdump pre zaznamenanie toku na sietovom
rozhrani. Nie je potrebny v pripade, ze sa vyuziva implementacia zachytavanie
v podobe nettrackeru systemu Argos. SH skript vola python skript tcpdump_fill.py.

tcpdump_fill.py - skript, ktory vklada zhromazdene data v podobe PCAP suborov 
do SQL databazy. Je mozne ho spustit v dvoch modoch. V prvom mode funguje ako 
jednopriechodovy skript, ktory zo vstupneho suboru spracuje data z PCAP formatu
a ulozi ich do vyclenenej tabulky v SQL databaze. V pripade spustenia v mode 
pocuvania, caka skript na pokyn z databaze, ktory sa zavola vzdy, ked honeypot
zaznamena utok spolu s casovym razitkom. Skript nasledne vyhlada v PCAP zaznamoch
zadany interval pred a po case v casovom razitku a ulozi tieto zaznamy do SQL
databaze pre dalsiu analyzu ako data, ktore su relevantne v danom case kedy 
prebiehal utok. Tento sposob je setrnejsi na velkost databaze v pripade, ze volanie
skriptu v prvom mode nie je inak osetrene, ale je nutne, aby skript bezal 
nepretrzite pocas celeho behu systemu Argos. V opacnom pripade hrozi strata dat, 
ktore su ale ulozene na disku a je mozne ich tak spatne dohladat a doplnit.   
  

