|
Nieuwste Linux/BSD-versie (1.6.0)
Oudere versies
Lees over Trojan Scan in dit artikel:
|
Trojan Scan is een eenvoudig shell script waarmee op een simpele maar relatief
effectieve manier kan worden gecontroleerd op trojans, rootkits en andere
malware die mogelijk uw server en netwerk gebruiken voor ongewenste (en
mogelijk illegale) doeleinden. Aangezien dit script relatief simpel is, moet
u niet verwachten dat het ze allemaal vindt, maar het helpt om dergelijke
programma’s te vinden op bijvoorbeeld gedeelde servers. Op die machines
installeren veel gebruikers allerlei soorten applicaties. Deze applicaties
kunnen nieuwe kwetsbaarheden introduceren die anders mogelijk niet zouden
worden opgemerkt, behalve door een zeer alerte systeembeheerder.
Het werkt door alle processen die het internet gebruiken op te lijsten met
het lsof-commando (met de
-Pni vlaggen). Deze lijst wordt vervolgens omgezet
in signatures in de vorm van
<process_name>:<protocol>:<port_number_in>:<port_number_out>:<user>.
Deze signatures worden daarna vergeleken met de toegestane processen die in
de configuratie zijn gedefinieerd. Als er signatures van draaiende processen
worden gevonden die niet overeenkomen met de toegestane signatures, wordt een
e-mailrapport verstuurd inclusief
ps,
ls, en optioneel lsof output
(zie ook: lsof).
Het script is relatief eenvoudig in gebruik:
-
Installeer in /etc/trojan-scan/trojan-scan.conf
en /usr/local/sbin/trojan-scan.sh
-
-
Gebruik het volgende om een standaardconfiguratie te genereren:
trojan-scan -C /etc/trojan-scan/trojan-scan.conf
, of,
-
Configureer e-mailadres (RECIPIENTS),
toegestane processen (ALLOWED),
optioneel lsof MD5 (LSOF_MD5)
in trojan-scan.conf, bijvoorbeeld met:
echo “LSOF_MD5=\”`md5 \`which /usr/sbin/lsof\` | egrep -o -iE \
‘[0-9a-f]{32}’`\”” >> /etc/trojan-scan/trojan-scan.conf
-
Controleer, werk bij en test de configuratie (test met de
-n vlag om geen e-mails te versturen),
-
Voeg toe aan crontab, bijvoorbeeld met:
*/5 * * * * /usr/local/sbin/trojan-scan.sh -F
Dit draait elke 5 minuten en bevat een volledige lsof-listing in het
e-mailrapport. (NB: afhankelijk van de belasting van uw server kan het nodig
zijn dit interval te vergroten.)
Nu het script ondersteuning heeft voor inbound/outbound configuratie, kan het
als te strikt worden ervaren, aangezien het vereist dat u ofwel alle
programma’s opgeeft die uitgaande verbindingen gebruiken (zoals
DNS-queries, het opvragen van webpagina’s of e-mail), ofwel regels
opgeeft die bepaalde aangewezen uitgaande verbindingen altijd toestaan. Om
bijvoorbeeld iedere gebruiker en ieder proces toe te staan DNS te gebruiken,
kan de volgende regel worden gebruikt:
ALLOWED=”$ALLOWED !@any@!:UDP:!@any@!:53:!@any@!”
Hiermee wordt echter ook alle malware toegelaten die UDP-poort 53 gebruikt om
te communiceren.
Test met:
/usr/local/sbin/trojan-scan.sh -n
Overige vlaggen:
| -d |
|
debugmodus |
| -F |
|
volledige uitvoer |
| -n |
|
geen e-mail versturen |
| -v |
|
uitgebreide modus |
| -x |
|
shell debug |
| -C file
|
|
genereer standaard configuratiebestand (gebruik – voor stdout) |
| -f config
|
|
laad configuratie uit dit bestand |
De huidige paden van de gebruikte programma’s (zoals lsof, sed, awk, enz.) kunnen worden
overschreven in het configuratiebestand door ze net als in het programmabestand te definiƫren (bijv. SED=/usr/bin/sed).
Laat het ons weten wanneer u dit programma gebruikt op info [replace-at] trojanscan [replace-dot] org.
Copyright (c) 2005,2007,2011,2013,2014 Derks.IT / Jeroen Derks
Gelicentieerd onder de Apache License, versie 2.0 (de “Licentie”);
u mag dit bestand uitsluitend gebruiken in overeenstemming met de Licentie.
Een kopie van de Licentie is verkrijgbaar via
http://www.apache.org/licenses/LICENSE-2.0
Tenzij vereist door toepasselijk recht of schriftelijk overeengekomen, wordt
software die onder de Licentie wordt gedistribueerd verspreid op een
“AS IS” (ZOALS HET IS) basis, ZONDER GARANTIES OF VOORWAARDEN
VAN ENIGE AARD, expliciet noch impliciet. Zie de Licentie voor de specifieke
bepalingen die de rechten en beperkingen onder de Licentie regelen.
|