[vpsFree.cz: community-list] brutoforce attack

Pavel Snajdr snajpa at snajpa.net
Mon Mar 30 05:46:21 CEST 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 03/30/2015 02:29 AM, René Klačan wrote:
> Ja som mal podobny problem, moje wordpressy rozposielali spam, tiez
> prienik vdaka pluginom.
> 
> Vyriesil som to premigrovanim WP na heroku vdaka 
> https://github.com/mhoofman/wordpress-heroku ... malu instanciu
> mas zadarmo a ta ti uplne postaci na normalnu navstevnost a tam sa
> ti viacmenej podobny problem nemoze stat, lebo aj filesystem je 
> readonly a uploadovanie filov si nastavis cez AWS S3. Navyse po 
> kazdom pushi je to akokeby nova instalacia, len databaza 
> pretrvava.
> 

Cili tvoji radou je nastavit read-only, co read-only nastavit jde.

Vzdavat to takhle "babsky" a prejit na proprietarni platformu, jeste
neznamena bezpecnost (za staleho prskani odchazim od kbd a jdu si
udelat caj :D).

...

(/me je zpatky :) )

Kdyz se bavime o zabezpecovani odflaknutych aplikaci, kde o PHP svete
se v podstate da rict, ze co aplikace, to garantovane nebezpecne
derave reseto, muzu doporucit par obecnych tipu - konkretni postupy se
budou lisit od toho, jak to kazdy ma nastavene.

- - aplikace by nemela mit schopnost prepisovat/upravovat/rozsirovat
samu sebe, UGO opravneni vetsinou staci, pokrocilejsi moznosti v
pripade potreby jsou ACL (v zacatku se ZFS ACL nefungovaly, ted uz jdou)

- - appka by nemela byt schopna includovat soubory odjinud, nez kde ji
mate, z toho vyplyva idealne oddelit PHP (ne)logiku od dynamickych dat
uplne

- - dobry napad je osetrit vsechny mozne vstupni URL, ktere jsou
zpracovavane PHPckem, uz na urovni webserveru (napr. htacess-em pro
Apache), vetsinou na tohle pomahaji veci jako mod_rewrite, pokud jde
napr. prave o WP, kde vsechno zpracovava index.php (a teda jeste je
potreba osetrit admin UI)

- - samozrejme kazda aplikace,  by mela mit svoje UID/GID, od toho ty
skupiny a uzivatele v POSIXu jsou, aby mezi nimi OS delal zed

- - aplikace nema co spoustet programy, ktere nepotrebuje ke svemu behu
vubec poustet, vetsina webu nema co poustet vubec nic a ma si vystacit
sama se svymi PHP soubory (myslim napr. moznost pustit veci jako ls,
mv, cat a podobne)

- - uplne super je aplikaci za-chroot-ovat, nicmene PHPko na tohle ma
ini settingy, aby aplikace nemohla sahat jinam, potom je potreba mit
aktualni verzi PHP, aby se nedal samotny interpreter exploitovat
nejakou proflaknutou chybou

- - databaze samozrejme taky oddelene per aplikace, vc. uzivatelu v te
DB, pokud je multi-user, jako napr. mysql

- - delat casto zalohy databaze, kdyz je mozne, pouzit snapshoty - podle
vasi reakcni doby, cetnosti a dulezitosti zmen dat a dalsich faktoru,
na ktere je dobre myslet predem, nastavte periodicitu a historii
(tohle bude v nasem pripade podporovat vpsAdmin 2.0, takze dodelat k
tomu nejakou automatizaci do cronu pujde snadno zvykackou a spejlemi -
treba pres bash skripty)

- - omezit prostredky aplikaci na vsech urovnich, ktere se daji zneuzit,
podle maximalnich hodnot, kterych ta aplikace dosahuje v beznem provozu

  - tady jde o veci jako memory limit (umi PHP interpreter rovnou),
CPU limit

  - pro CPU limit jdou pouzit cgroups, pokud chcete limitovat s
presnosti na jednotky % casu CPU jader
  - ale taky PHP-FPM umi pro kazdy pool procesu (aplikaci) nastavit
maximalni pocet procesu, coz v pripade VPSky s dostupnymi 8 cores staci

  - s databazi to byva slozitejsi, existuji patche pro MySQL/MariaDB,
ktere to resi, ale stejne se neda omezit vsechno;
pokud je aplikaci od jednoho klienta vic, treba se da proste pustit
dalsi instance toho DB serveru, pokud nevadi vetsi pametova rezie
(tady vali systemd v podpore multi-instance service units, ale dalsi
lepsi-nez-bash-spagety init systemy to budou umet taky)

  - nekterym serverum na Internetu se da krasne vybombit i serving
statickych stranek, pokud jsou v ceste napr. silene/rozsahle
obludnosti v htaccess-ech

Samozrejme je potreba udrzovat vsechny komponenty systemu, vcetne a
hlavne prave aplikaci a vsech jejich modulu, aktualni a opatchovane na
vsechny zname bezpecnostni problemy. To vyzaduje se o system/aplikace
trochu zajimat, ne jenom nainstalovat, nechat bezet a uz se toho v
zivote nedotknout.

Dobrou otazkou je, jak jsou na tom s prehledem o psani bezpecnych
aplikaci napr. autori HHVM (JIT interpreter pro PHP, psany v C++), na
kterem PHP skripty bezi cim dal kompatibilneji s referencni
hruzostrasnou a pomalou implementaci od Zendu.

A mimo to je HHVM o dost rychlejsi, i kdyz, rekl bych, zere vic pameti.

(Samo)zrejme jsem toho na milion zapomnel, kdyztak doplnte prosim
dalsi tipy a vase konkretnejsi postupy. Treba by z toho mohl vzniknout
nejaky KB clanek.

Zaverem bych rekl, ze sam za sebe nepovazuju za dobre byt na neznale
prilis mily a dovolit jim vsechno. Kdo nechape, co dela, nebude mit na
WP moznost instalovat pluginy. Tecka. A podobne. Cim min toho uzivatel
chape, co vlastne pri sve cinnosti dela a zpusobuje, tim min by toho
mel mit dovolene.
Aneb nedam malemu diteti do jedne ruky zapalovac a do druhe ruky
kanystr s ...napalmem. Kdyz se bavime o PHP a bezpecnosti a beznych
uzivatelich, slabsi prirovnani mi tam nesedi.

/snajpa


> 2015-03-30 1:20 GMT+01:00 Tomáš Filčák <filcak.t at gmail.com 
> <mailto:filcak.t at gmail.com>>:
> 
> Tak sa mi nakoniec podarilo prist na koren utoku. Jedna sa o 
> prienik do modulu Revslider na niekolkych Wordpress instalaciach… 
> Tento hack je uz dlhsie znamy, skoda len ze som sa o tom dozvedel 
> takto.
> 
> Problemom je vsak ako sa k danej situacii postavit voci klientom, 
> ktory si samozrejme za udrzbu a updaty modulov neplatia. Narusenie
>  ich stranok ma stalo nemalo usilia a zaroven to zhodilo v podstate
>  vsetky stranky ktore pod mojim web serverom bezia. Napada ma 
> vytvorit pre kazdy takyto hosting vlastny sandbox a tym padom 
> napadnuta stranka by neovplyvnila chod inych. Zaroven by klient bol
> nuteny poziadat o pomoc a ja by som mohol pracu s hladanym chyby
> fakturovat. Takto je to narocna uloha a neviem ako to riesit ani ci
> vobec nieco od klienta mam ziadat kedze vypadok zapricinila jeho
> stranka.
> 
> Ako by ste sa k danemu problemu postavili vy? Dakujem za navrhy a 
> odporucania
> 
>> On 29. Mar 2015, at 17:39, Pavel Snajdr <snajpa at snajpa.net 
>> <mailto:snajpa at snajpa.net>> wrote:
>> 
> On 03/29/2015 05:22 PM, Petr Parolek wrote:
>>>> Ahoj,
>>>> 
>>>> taky by mě zajímalo, jak se efektivně dají povolit pouze 
>>>> české IP adres.
>>>> 
> 
> Nijak, neexistuje aktualni seznam. GeoIP DB je zastarala. Z BGP se
>  vycist vsechno neda. Btw, doufam, ze to nikoho nenapadne cpat do 
> iptables pravidlo po pravidlo, zpomali to totiz pruchod kazdeho 
> paketu.
> 
> /snajpa
> 
>>>> 
>>>> Petr Parolek
>>>> 
>>>> Dne 29. března 2015 17:18 Ondřej Beránek <rainbof at gmail.com 
>>>> <mailto:rainbof at gmail.com> <mailto:rainbof at gmail.com>> 
>>>> napsal(a):
>>>> 
>>>> K tem českým ip, jak toho dosahnes? Geoip nebo máš nějaký 
>>>> seznam range?
>>>> 
>>>> Ondřej Beránek Původní zpráva Od: Jiří V. Odesláno: neděle, 
>>>> 29. března 2015 17:14 Komu: vpsFree.cz Community list 
>>>> Odpovědět: vpsFree.cz Community list Předmět: Re: 
>>>> [vpsFree.cz: community-list] brutoforce attack
>>>> 
>>>> Ahoj, jestli tam máš nejaký mobilní kód zjistíš nejlépe 
>>>> pomocí netstat -a. Potom pokud nemáš nastav iptables jak na 
>>>> input, tak output, povol jen to co opravdu potřebuješ. Také 
>>>> se podívej na datum vytvoření souborů. Osobně se proti brute 
>>>> force chráním tak že po dobu útoku povolim připojování pouze 
>>>> z českých ip.
>>>> 
>>>> s pozdravem Jiří V.
>>>> 
>>>> Vaclav Dusek <Vaclav.Dusek at cz-pro.cz 
>>>> <mailto:Vaclav.Dusek at cz-pro.cz> 
>>>> <mailto:Vaclav.Dusek at cz-pro.cz>>napsal/a:
>>>> 
>>>>> apachetop - 
>>>>> http://www.buben.piranhacz.cz/monitorovani-systemu-pomoci-apacheto
p/
>>>>
>>>>>
>>>>
>>>>>
>>>>>
>>>>> 
Dne 29.3.2015 v 14:42 Tomáš Filčák napsal(a):
>>>>>> Jj logy postupne prechadzam vsetky. To FTP ma nenapadlo 
>>>>>> prezriem
>>>> aj to ci tam nebol uploadnuty nejaky script.
>>>>>> 
>>>>>> Neviete mi pripadne poradit ako by som mohol zistit, 
>>>>>> ktora
>>>> stranka vytazuje server najviac? To by ma vedelo naviest k 
>>>> problemu a kedze tych stranok mam viac ako dost je to prilis
>>>>  pracne prechadzat jednu za druhou...
>>>>>> 
>>>>>> 
>>>>>>> On 29. Mar 2015, at 10:44, Peter Bubelíny 
>>>>>>> <neri at neridev.com <mailto:neri at neridev.com>
>>>> <mailto:neri at neridev.com>> wrote:
>>>>>>> 
>>>>>>> Ahoj,
>>>>>>> 
>>>>>>> pokiaľ to šablóna a pluginy umožňujú, a budú pracovať 
>>>>>>> korektne, tak vytvoriť .htaccess v wp-content, 
>>>>>>> wp-includes s obsahom:
>>>>>>> 
>>>>>>> <FilesMatch "\.(php)$"> deny from all allow from 
>>>>>>> localhost </FilesMatch>
>>>>>>> 
>>>>>>> Neviem či to pomôže priamo v tom prípade, ale zabráni 
>>>>>>> to
>>>> spusteniu .php
>>>>>>> mimo localhost.
>>>>>>> 
>>>>>>> Tak ako písal kolega, pozrieť logy, procesy... 
>>>>>>> nezabudnúť ak
>>>> používaš
>>>>>>> FTP, pozrieť, či nebol nejaký nepožadovaný upload,
>>>>>>> ešte je dobré
>>>> pozrieť
>>>>>>> aké súbory boli naposledy modifikované či vytvorené, v
>>>>>>>  prípade
>>>> napr. že
>>>>>>> by web spamoval, či bežal nejaký iný proces, kt. 
>>>>>>> preťažuje vps.
>>>>>>> 
>>>>>>> pb.
>>>>>>> 
>>>>>>> 
>>>>>>> On 03/29/2015 06:35 AM, Vaclav Dusek wrote:
>>>>>>>> Aktualizace WP a sablon Vymazata nepouzivane doplnky 
>>>>>>>> a templaty Nepouzivat doplnky a templaty z
>>>>>>>> pochybnych zdroju
>>>>>>>> 
>>>>>>>> ***
>>>>>>>> 
>>>>>>>> Aktualizace OS a PHP
>>>>>>>> 
>>>>>>>> ***
>>>>>>>> 
>>>>>>>> pro deb - apt-get update; aptitude full-upgrade pro 
>>>>>>>> cent a spol. - yum update
>>>>>>>> 
>>>>>>>> ***
>>>>>>>> 
>>>>>>>> Z logu zjistit o ktera URL je podezrele vysoy zajem a
>>>>>>>> hledat
>>>> chybu tam
>>>>>>>> nebo uz tam bezi nejake nezadouci procesy?
>>>>>>>> 
>>>>>>>> ***
>>>>>>>> 
>>>>>>>> proscanovat WWW data pomoci 
>>>>>>>> https://www.rfxn.com/projects/linux-malware-detect/
>>>>>>>> 
>>>>>>>> ***
>>>>>>>> 
>>>>>>>> Dne 28.3.2015 v 21:06 Tomáš Filčák napsal(a):
>>>>>>>>> Ahojte, posledne 2 dni riesim na mojej VPSke 
>>>>>>>>> problem pravdepodobne s brutoforce attackom a 
>>>>>>>>> potreboval by som poradit. Ako web
>>>> server mam
>>>>>>>>> nainstalovany nginx. Spozoroval som, ze moje 
>>>>>>>>> stranky sa v priebehu min. 2 dni zacali strane 
>>>>>>>>> pomaly nacitavat a tak som sa pustil do analyzy 
>>>>>>>>> logov, z ktorej som zistil, ze sa pravdepodobne 
>>>>>>>>> jedna o bruteforce utok na wordpress weby ktore 
>>>>>>>>> hostujem. Kedze v oblasti spravy servera nie som 
>>>>>>>>> profesional stretol som sa s tym prvykrat a hned 
>>>>>>>>> som proti tomu podnikol kroky. Nainstaloval som 
>>>>>>>>> preto
>>>> fail2ban a
>>>>>>>>> nakonfiguroval pre fungovanie s nginxom. Z logov 
>>>>>>>>> vidim, ze
>>>> niekolko ip
>>>>>>>>> adries bolo zabanovanych avsak problem pretrvava a 
>>>>>>>>> moj web server odpoveda na requesty strasne
>>>>>>>>> pomaly. Pamat VPSky je vytazena
>>>> niekedy
>>>>>>>>> nad 3GB momentalne 1GB. Prosim o radu. Ake dalsie 
>>>>>>>>> kroky mam
>>>> podniknut
>>>>>>>>> na obrany pripadne analyzu skod? Dakujem
>>>>>>>> _______________________________________________ 
>>>>>>>> Community-list mailing list 
>>>>>>>> Community-list at lists.vpsfree.cz 
>>>>>>>> <mailto:Community-list at lists.vpsfree.cz>
>>>> <mailto:Community-list at lists.vpsfree.cz>
>>>>>>>> http://lists.vpsfree.cz/listinfo/community-list
>>>>>>> 
>>>>>>> 
>>>>> _______________________________________________ 
>>>>> Community-list mailing list Community-list at lists.vpsfree.cz
>>>>>  <mailto:Community-list at lists.vpsfree.cz>
>>>> <mailto:Community-list at lists.vpsfree.cz>
>>>>> http://lists.vpsfree.cz/listinfo/community-list
>>>> _______________________________________________ 
>>>> Community-list mailing list Community-list at lists.vpsfree.cz 
>>>> <mailto:Community-list at lists.vpsfree.cz> 
>>>> <mailto:Community-list at lists.vpsfree.cz> 
>>>> http://lists.vpsfree.cz/listinfo/community-list 
>>>> _______________________________________________ 
>>>> Community-list mailing list Community-list at lists.vpsfree.cz 
>>>> <mailto:Community-list at lists.vpsfree.cz> 
>>>> <mailto:Community-list at lists.vpsfree.cz> 
>>>> http://lists.vpsfree.cz/listinfo/community-list
>>>> 
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________ 
>>>> Community-list mailing list Community-list at lists.vpsfree.cz 
>>>> <mailto:Community-list at lists.vpsfree.cz> 
>>>> http://lists.vpsfree.cz/listinfo/community-list
>>>> 
>> _______________________________________________ Community-list 
>> mailing list Community-list at lists.vpsfree.cz 
>> <mailto:Community-list at lists.vpsfree.cz> 
>> http://lists.vpsfree.cz/listinfo/community-list
> 
> S pozdravom, Ing. Tomáš Filčák +421 904 076 786 
> <tel:%2B421%20904%20076%20786>
> 
> 
> _______________________________________________ Community-list 
> mailing list Community-list at lists.vpsfree.cz 
> <mailto:Community-list at lists.vpsfree.cz> 
> http://lists.vpsfree.cz/listinfo/community-list
> 
> 
> 
> 
> _______________________________________________ Community-list 
> mailing list Community-list at lists.vpsfree.cz 
> http://lists.vpsfree.cz/listinfo/community-list
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iF4EAREIAAYFAlUYxw0ACgkQgRwOVqYrsFUZoAEA4SZGU5xUpKw9LF3xMEIOfCBm
Warf9s15Q5CTzXSzKOwA/2oXc2s6tBQZ18pXkasWJKNXQyWixRhugyudiLrD4Chq
=kIzo
-----END PGP SIGNATURE-----



More information about the Community-list mailing list