2015 m. sausio 20 d., antradienis

Nemokami vektoriai


web projekto saugumas

geras straipsnis: http://pakamore.lt/it-saugumo-spragos-lietuvoje-2014/
cituoju esmę:

  • Gavom patvirtintus formos duomenis iš IP, kuris neapsilankė pirmose trijose duomenų suformavimui skirtuose žingsniuose? Blokuojam, ryte administratorius patikrins.
  • Gavom 20 užklausų kas 1 sekundę iš vieno IP? Blokuojam, ryte administratorius patikrins.
  • Gavom identiškai suformuluotą užklausą kaip ką tik užblokuota, tik iš kito IP adreso? Blokuojam, ryte administratorius patikrins.

2015 m. sausio 13 d., antradienis

PHP saugumas

Serveryje turint daug domenų, tikslinga aproboti PHP teises tik tame folderyje. Tai nustatoma, pvz:
open_basedir="/home/manodomenas.lt/public_html/:/tmp".
Žr. plačiau kaip automatizuoti: http://servernetworktech.com/2012/11/securing-php-when-using-virtualmin/

Kitas dalykas, PHP leisti kaip tik to vartotojo CGI programą, aprobojant tam vartotojui skirtus serverio resursus. Plačiau: https://www.virtualmin.com/node/24245


2015 m. sausio 9 d., penktadienis

SSL naudojimo klaidos

Patikrinti, kaip veikia SSL (HTTPS) galite: https://www.ssllabs.com/ssltest/analyze.html
Dažnos SSL klaidos:
Įspėjimus rodys SHA-1 nesaugūs sertifikatai: http://googleonlinesecurity.blogspot.co.uk/2014/09/gradually-sunsetting-sha-1.html
Neteisingai instaliuotas tarpinis sertifikatas
Neteisingai sukonfigūruota TLS programa
Nešifruotas trečiųjų šalių turinys https:// svetainėje

2015 m. sausio 8 d., ketvirtadienis

Tinklalapio saugumas

1. Trečiųjų šalių skriptų naudojimas.
Kartais naudodami populiarius trečiųjų šalių bibliotekas, rizikuojate serverio saugumu: ne visada spėsite atnaujinti šias bibliotekas, o programišių robotai, automatiškai skenuodami svetaines, glai ieškoti, ar egzistuoja tiesiog kokios nors bibiliotekos aplankas Jūsų serveryje, pvz "www.jususaitas.lt/ckeditor". Dėl šios priežasties, geriausia tokių bibliotekų aplankus pervardyti į neatspėjamus, pvz  "www.jususaitas.lt/ckeditorB6Yx". Jeigu tas bibliotekas iškviečiate ne tik iš apsaugotos admin dalies, bet ir viešoje dalyje, tia jų iškvietimo kodus taip pat vertėtų apsaugoti, pvz, naudojant jquery, skriptus glaite iškviesti taip:
$.getScript("/cke"+"ditorB6Yx/ckfi"+"nder/ckf"+"inder.js");
2. Užkrėstų failų paieška
Jeigu jau serveryje buvo įsilaužta, reikėtų praskenuoti visus serverio failus, apieškoti, ar nėra integruoto kenkėjiško kodo. Serveryje galima leisti tokią komanda:
cd /var/www
sploitpattern='r0nin|m0rtix|upl0ad|r57shell|cFaTaLisTiCz_Fx|Tukulesto|99shell|shellbot|phpshell|void\.ru|phpremoteview|directmail|bash_history|\.ru/|brute *force|multiviews|cwings|vandal|bitchx|eggdrop|guardservices|psybnc|dalnet|undernet|vulnscan|spymeta|raslan58|Webshell'

find ./ \( -regex '.*\.php$' -o -regex '.*\.cgi$' -o -regex '.*\.inc$' \) -print0 | xargs -0 egrep -il "$sploitpattern" | sort > potential_exploits.txt

ARBA

Replace the path below (.) with the absolute path of the directory you want to recursively scan. For example, you could recursively scan from the working directory:

grep '((eval.*(base64_decode|gzinflate|\$_))|\$[0O]{4,}|FilesMan|JGF1dGhfc|IIIl|die\(PHP_OS|posix_getpwuid|Array\(base64_decode|document\.write\("\\u00|sh(3(ll|11)))' . -lroE --include=*.php*

Esmė: ieškoti failuose tokių frazių, kaip eval, gzinflate, iframe ir pan. Jei serveris ne su root prieiga, galima failus atsisiųsti į kompiuterį ir ieškoti su programa http://www.wingrep.com/ (ji ieško failo viduje).

Vertingas išsamus sąrašas: http://www.exploit-db.com/papers/12871/