Skocz do zawartości

lukaschemp

WHT Pro
  • Zawartość

    430
  • Rejestracja

  • Ostatnio

Posty napisane przez lukaschemp


  1. Skrypt ten analizuje logi z serwera FTP i jeśli natrafi na pliki ze słowami które są zdefiniowane w skrypcie to wysyła powiadomienie na adres email z informacją na jakim serwerze wykryto potencjalne zagrożenie i log z serwera.

     

    #!/bin/bash
    
      find /var/log/messages  -mtime -1 | xargs egrep -i 'bank|ebay|paypal|visa|mastercard' > ftptmp
    
      num=`cat ftptmp| wc -l`;
    
      max=10
    
      if [ "$num" -gt "$max" ]; then
      server=`hostname`
    
      cat ftptmp | mail -s "Sprawdź - phishing na $server" twoj@adres.email.pl
    
      fi

     

    Przykładowy adres email:

     

    Temat: Sprawdź - phishing na srv1.serwer.pl

    Treść:

     

    Apr 25 23:47:31 srv1 pure-ftpd: (lukas@domena.pl@127.0.0.1) [NOTICE] /home/lukas/public_html/dupa//bank_dupa.txt uploaded (0 bytes, 0.00KB/sec)

    Apr 26 00:01:02 srv1 pure-ftpd: (lukas@domena.pl@127.0.0.1) [NOTICE] /home/lukas/public_html/dupa//mastercard_cipka.txt uploaded (0 bytes, 0.00KB/sec)

    Apr 26 00:01:22 srv1 pure-ftpd: (lukas@domena.pl@127.0.0.1) [NOTICE] /home/lukas/public_html/dupa//visatest.txt uploaded (0 bytes, 0.00KB/sec)

     

    Może to pomóc w wykryciu wysyłania plików związanych z phishingiem. Najlepiej poszukać w necie scam page (czyli podrobione strony banków) i zobić listę na ich podstawie. Skrypt najlepiej dodać do cron'a.


  2. W pierwszym skrypcie ma być $kat zamiast kat - literówka, poprawię to jak będę miał dostęp teraz nie mogę edytować tego.

     

    verde - hehe, raczej nie pamiętnik, nudzę się i wrzucam parę skryptów które mi się przydały czy też potrzebowałem kiedyś takowych, może przydadzą się komuś.


  3. Znalazłem ciekawy skrypt do przetestowania konfiguracji i wykorzystania bazy danych MySQL:

     

    wget http://seclab.pl/tuning_mysql

    mv tuning_mysql tuning_mysql.sh

    chmod +x tuning_mysql.sh

     

    Kod skryptu znajduje się tutaj. (Niestety był problem z wklejeniem go tutaj, jakoś źle się formatuje)

     

    Użycie:

     

    ./tuning_mysql.sh (najprostrze wykorzystnie skryptu)

     

    W kodzie skryptu są podane opcje jakie można wykorzystać przy jego uruchamianiu.


  4. Skrypt ten dodany do crona monitoruje połączenie z internetem, jeśli nie będzie mógł spingować 2 serwerów to odpala skrypt odpowiedzialny za połączenie, w tym wypadku jest to: /etc/init.d/networking gdyż wykorzystywany był w dystrybucji - Debian. Należy zmienić polecenia startu i stopu według używanej dystrybucji.

     

    vi net.sh (wrzuć kod skryptu)

    chmod +x net.sh

    cat net.sh

     

       #!/bin/bash
      # crontab
      # */2 * * * *  root	/root/net.sh
      # ----------------------------------------------------------------
    
      logfile="/var/log/net.log"
      wait=120
      PING_SERVER="google.pl"
      PING_SERVER2="wp.pl"
    
      # ----------------------------------------------------------------
    
      ping -c 1 $PING_SERVER &> /dev/null
      if [ $? -ne 0 ]; then
    
     ping -c 1 $PING_SERVER2 &> /dev/null
     if [ $? -ne 0 ]; then
    
       echo `date`" Padł NET -> odnowienie połączenia" >> $logfile
    
       /etc/init.d/networking stop
    
       sleep $wait
    
       /etc/init.d/networking start
    
     else
       echo `date`" Serwer $PING_SERVER padł" >> $logfile
     fi
      else
     echo `date`" OK" >> $logfile
      fi
    
      exit 0

     

    Użycie:

    Dodaj skrypt do crona.

     

    crontab -e (edycja crontaba)

    */10 * * * * root /root/net.sh

     

    Co 2 minuty będzie sprawdzał Twoje połączenie, a logować będzie do /var/log/net.log


  5. Jeśli potrzebujesz nadać takie same prawa dla wszystkich plików i katalogów możesz wykorzystać ten sposób:

     

    vi chmod.sh (wrzuć kod skryptu)

    chmod +x chmod.sh

    cat chmod.sh

     

    chmod.sh - na katalogi

     

    #!/bin/bash
    echo 'Podaj katalog'
    read kat
    echo 'Podaj prawa np. 755'
    read prawa
    find $kat -type d -print0 | xargs -0 chmod $prawa

     

    chmod.sh - na pliki

     

    #!/bin/bash
    echo 'Podaj katalog'
    read kat
    echo 'Podaj prawa np. 644'
    read prawa
    find $kat -type f -print0 | xargs -0 chmod $prawa

     

    Po odpaleniu skryptu podajemy katalog, a później prawa tak jak prosi nas o to skrypt.


  6. W taki sposób bardzo łatwo i przejrzyście można wylistować katalogi w formie drzewa:

     

    vi tree.sh (wrzuć kod skryptu)

    chmod +x tree.sh

    cat tree.sh

     

    #!/bin/bash
    echo
    if [ "$1" != "" ] 
    then cd "$1"
    fi
    pwd
    ls -R | grep ":$" |   \
    sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/'
    if [ `ls -F -1 | grep "/" | wc -l` = 0 ]   #
    then echo "   -> brak podkatalogów"
    fi
    echo
    exit

     

    Użycie:

     

    ./tree.sh katalog

    (np. ./tree /etc)


  7. SPF jest rozszerzeniem poczty elektronicznej. Zapobiega podawaniu się za kogoś przez wykorzystanie czyjegoś adresu e-mail w polu nadawcy. Właściciele domen są w stanie określać hosty, które mogą wysyłać pocztę elektroniczną w imieniu ich domen, co utrudnia fałszowanie adresów "Od".

     

    Jest to skrypt który doda wpisy do każdej strefy (skrypt pod cPanel, ale można go również wykorzystać pod każdym systemem wykorzystującym BIND'a):

     

     

    vi spf.sh (wrzuć kod skryptu)

    chmod +x spf.sh

    cat spf.sh

     

    #!/bin/bash
    cp -apfr /var/named /opt
    for x in `cut -d: -f1 /etc/trueuserdomains`;
    do
    echo "$x. 14400 IN TXT v=spf1 mx ~all" >> /var/named/$x.db;
    sed 's/v=spf1 mx ~all/"v=spf1 mx ~all"/g' -- /var/named/$x.db > /tmp/1;
    mv /tmp/1 /var/named/$x.db;
    chown named.named /var/named/$x.db;
    chmod 644 /var/named/$x.db;
    done

     

    Najlepsze wykorzystanie:

     

    ./spf.sh

     

    Skrypt najpierw robi backup ktalogu /var/named wrzucając go do /opt, a później dodaje wpisy do każdego pliku strefy danej domeny.


  8. Czasami potrzeba wyciągnąć adresy email z pliku, jednym ze sposobów do tego jest wykorzystanie języka Perl, oto przykład:

     

    vi email.sh (wrzuć kod skryptu)

    chmod +x email.sh

    cat email.sh

     

       perl -wne'while(/[\w\.]+@[\w\.]+\w+/g){print "{:content:}amp;\n"}' $1

     

    Najlepsze wykorzystanie:

     

    ./email.sh plik

    (ścieżka do skryptu) plik z email'ami


  9. dzięki za wyniki.

    ja juz nie wierzę w optymalizację tego sklepu.

     

    Ile masz Ramu i czy mozesz podać wyniki Oscommece na Twoim serwerze?

     

    Ed

     

    Mam 8GB ramu.

     

    Wynik oScommerce PRO:

     

    Document Path: /

    Document Length: 695 bytes

     

    Concurrency Level: 10

    Time taken for tests: 0.147236 seconds

    Complete requests: 10

    Failed requests: 0

    Write errors: 0

    Total transferred: 8510 bytes

    HTML transferred: 6950 bytes

    Requests per second: 67.92 [#/sec] (mean)

    Time per request: 147.236 [ms] (mean)

    Time per request: 14.724 [ms] (mean, across all concurrent requests)

    Transfer rate: 54.33 [Kbytes/sec] received

     

    Connection Times (ms)

    min mean[+/-sd] median max

    Connect: 0 0 0.9 1 1

    Processing: 89 125 14.1 128 145

    Waiting: 89 118 20.6 128 144

    Total: 90 126 14.1 129 146

    WARNING: The median and mean for the initial connection time are not within a normal deviation

    These results are probably not that reliable.

     

    Percentage of the requests served within a certain time (ms)

    50% 129

    66% 129

    75% 130

    80% 130

    90% 146

    95% 146

    98% 146

    99% 146

    100% 146 (longest request)


  10. Wydajność u mnie:

     

    Serwer:

     

    model name : AMD Athlon 64 X2 Dual Core Processor 6000+

     

    Document Path: /magento/

    Document Length: 8317 bytes

     

    Concurrency Level: 10

    Time taken for tests: 3.912918 seconds

    Complete requests: 10

    Failed requests: 9

    (Connect: 0, Length: 9, Exceptions: 0)

    Write errors: 0

    Non-2xx responses: 1

    Total transferred: 133219 bytes

    HTML transferred: 128080 bytes

    Requests per second: 2.56 [#/sec] (mean)

    Time per request: 3912.918 [ms] (mean)

    Time per request: 391.292 [ms] (mean, across all concurrent requests)

    Transfer rate: 33.22 [Kbytes/sec] received

     

    Connection Times (ms)

    min mean[+/-sd] median max

    Connect: 0 12 4.5 14 15

    Processing: 3554 3764 114.3 3734 3898

    Waiting: 3483 3688 143.7 3634 3874

    Total: 3568 3777 114.8 3749 3912

     

    Percentage of the requests served within a certain time (ms)

    50% 3749

    66% 3854

    75% 3905

    80% 3910

    90% 3912

    95% 3912

    98% 3912

    99% 3912

    100% 3912 (longest request)

×