Strona 1 z 2 12 OstatniOstatni
Pokaż wyniki 1 do 10 z 11

Temat: Zabezpieczenie serwera przed phpshell

  1. #1

    Domyślnie Zabezpieczenie serwera przed phpshell

    Jak wyłączyć manipulowanie ścieżkami, tak żeby nikt nie przeglądał z poziomu skryptu żadnego katalogu na serwerze? Chodzi mi o to, że np. jak ktoś by mi wgrał shell php na ftp przez np. dziurę w skrypcie forum to po wgraniu php shella żeby i tak nic mu to nie dało mam serwer vps.
    Ostatnio edytowane przez TheTox : 07-21-2010 - 22:58

  2. #2
    Zarejestrowany
    Jul 2007
    Skąd
    C:\Perl\bin
    Postów
    1,578

    Domyślnie

    open basedir restrictions,
    safe mode,
    wylaczenie niebezpiecznych funkcji php,
    regularne poprawki dla skryptu,
    mocne hasla, najlepiej regularna ich zmiana.
    no to juz wiesz co wpisac w google
    War, war never changes.

  3. #3

    Domyślnie

    open basedir i safe_mod to już dawno mam zainstalowane do tego moduł suhosin

    A może apache2-mpm-itk ? ponoć to ochrona mam zainstalowane ale jakoś mi nie działa, nie wiem dla czego.

  4. #4

    Domyślnie

    • zrob izolacje skryptow PHP na usera (są odpalane na jakimś userze, wtedy masz zabezpiecznie z poziomu kernela) i zastosuj metodę najmniejszych uprawnień.
    • jak chcesz mieć massiv to trzasnij grsec z wlaczonym RBAC i poblokuj mu co trzeba, zeby w sumie nie mógł robić nic więcej jak tylko "zepsuć forum" (wtedy ominiecie standardowych zabezpieczen kernela to początek)
    • możesz jeszcze bawić się z chrootem skryptów PHP: tylko go zabezpiecz zeby sie nie dalo breaknac...


    sposoby wymienione powyżej nie zapewniaja 100% skutecznosci (w sumie te moje też nie, bo nigdy sie nie da zabezpieczyc na 100%) jednak są o wiele bardziej skuteczne niż te wymienione powyżej...

    PS: pamietaj zeby forum mialo oddzielnego uzytkownika SQL też o NAJMNIEJSZYCH uprawieniach pozwalajacych jedynie na poprawna prace forum
    Ostatnio edytowane przez Teeed : 07-22-2010 - 11:17

  5. #5

    Domyślnie

    nadal będzie można zdosować serwer dając

    while(1){}



    Jeśli root VPS, to najłatwiej zainstalować jakieś gotowe środowisko shared-hosting jak np. webmin. Wtedy masz bezpieczny podział na userów i nie można się dobrać do cudzych kataloów.


    Zapytam może co chcesz zrobić,

    • Jeśli zabezpieczyć tak dobrze jak się da, nie bacząc na:
      - czasochłonoośc podczas konfigurowania
      - utrate wydajności
      - utrate funkcjonalności

      - wydajnoś możesz utracić np. gdy dla zapewnienie większego bezpieczeństwa zastosujesz oprogramowania obciążającego system.

      - funkcjonalności np. gdy musisz logować się do FTP przez SFTP, czyli połączenia szyfrowanego, bo tego wymaga Twoja nowa polityka bezpieczeństwa.


    • Czy chcesz tylko zrobić tak bezpiecznie jak bezpieczny jest typowy shared-hosting za 2.99$ miesięcznie.. Żeby nie było dostępu do innych katalogów, ale dostęp do zasobów jest wspolny, więc byle shellem można łatwo zDOSować serwer...
      Albo przeczytać czyjeś sesje...
      Albo przeczytać czyjeś tmpy...
      W skrajnych przypadkach przeczytać czyjeś wszystko, jak wyjdzie jakiś soczysty bug PHP...


    Jak chcesz się tłumaczyć się przed szefem, z włamania do serwera którym zarządzałeś, jeśli nie miał byś np. logowania SSL..
    Straciłbyś prace.

    Z drugiej strony jak chcesz się tłumaczyć 99% klientów, że nie mogą się oni połączyć z kontem FTP przez swojego Total Commandera i że nie masz zamiaru tego zmieniać..
    Straciłbyś 99% klientów.

    Pozdro 600
    Ostatnio edytowane przez lame : 07-22-2010 - 11:59
    światło mądrości oświetla drogę z nikąd do nikąd

  6. #6

    Domyślnie

    to jeszcze nałożyć limity na tego usera PHP (ilość wątków, procesów, użycie pamięci, otwartych plików itd...), i najbardziej perfidna rzecz: nice +1

  7. #7

    Domyślnie

    Więc tak postawiłem sobie cały serwer dziś na nowo od zera wiadomo apache2+php+mysql+phpmyadmin+proftpd
    Bez żadnego panelu serwera typu directadmin czy coś innego, bo panel mi nie potrzebny a zjada tylko zasoby serwera :-)

    Do tego zainstalowałem

    eAccelerator
    Suhosin
    mod_security2
    denyhosts

    Ustawiłem
    open_basedir
    ServerTokens Prod
    ServerSignature Off
    expose_php = Off
    display_errors = Off
    allow_url_fopen = Off
    allow_url_include = Off
    Safe-mode On
    disable_functions = phpinfo, readdir, opendir, dir, posix_getpwuid, posix_getgrgid, disk_free_space, disk_total_space, diskfreespace, disktotalspace

    phpmyadmin niedostępny pod:

    mojadomena.pl/phpmyadmin

    oraz nie dostępny pod:

    ipserwera/phpmyadmin

    Dodatkowo dwa hasła zęby dostać się do phpmyadmin jedno wiadomo hasło przy zakładaniu bazy a dodatkowe nałożyłem za pomocą .htaccess

    I to tyle na razie co jeszcze mogę zrobić jak poprawić bezpieczeństwo ogólnie serwera i usług na nim?
    Ostatnio edytowane przez TheTox : 07-22-2010 - 19:21

  8. #8
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    log_errors = On

    ... i przegladac co sie dzieje... moze jakies narzedzie do alertowania o dziwnych zajsciach i modyfikacjach w systemie
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  9. #9

    Domyślnie

    Web Hosting :: C99Shell :: Detect And Disable C99 Shell?

    mozna tez dodac wyszukiwanie frazy "shell" w plikach kont userow do crona ,blokada ftp z zagranicznych ip
    Kod:
    grep -RIlm 1 "shell" /sciezka/do/www/data
    albo zawezic szukanie do c99 i r57 czy jakie tam kto jeszcze zna jesli 'shell' zwraca za duzo wynikow.
    Ostatnio edytowane przez gemini300 : 07-23-2010 - 11:13

  10. #10
    Zarejestrowany
    Nov 2006
    Skąd
    Polska/Poland
    Postów
    1,191

    Domyślnie

    Można też powiadomić siebie smsem o uploadzie;
    jednak jeśli upload jest duży zaczną Cie irytować smsy
    ***********
    * markossx *
    ***********

Strona 1 z 2 12 OstatniOstatni

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj