-----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(a)gmail.com
<mailto:filcak.t@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(a)snajpa.net
<mailto:snajpa@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(a)gmail.com
>>> <mailto:rainbof@gmail.com> <mailto:rainbof@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(a)cz-pro.cz
>>> <mailto:Vaclav.Dusek@cz-pro.cz>
>>> <mailto:Vaclav.Dusek@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(a)neridev.com <mailto:neri@neridev.com>
> <mailto:neri@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(a)lists.vpsfree.cz
>>>>> <mailto:Community-list@lists.vpsfree.cz>
> <mailto:Community-list@lists.vpsfree.cz>
>>>>>
http://lists.vpsfree.cz/listinfo/community-list
>>>>
>>>>
>> _______________________________________________
>> Community-list mailing list Community-list(a)lists.vpsfree.cz
>> <mailto:Community-list@lists.vpsfree.cz>
> <mailto:Community-list@lists.vpsfree.cz>
>>
http://lists.vpsfree.cz/listinfo/community-list
> _______________________________________________
> Community-list mailing list Community-list(a)lists.vpsfree.cz
> <mailto:Community-list@lists.vpsfree.cz>
> <mailto:Community-list@lists.vpsfree.cz>
>
http://lists.vpsfree.cz/listinfo/community-list
> _______________________________________________
> Community-list mailing list Community-list(a)lists.vpsfree.cz
> <mailto:Community-list@lists.vpsfree.cz>
> <mailto:Community-list@lists.vpsfree.cz>
>
http://lists.vpsfree.cz/listinfo/community-list
>
>
>
>
> _______________________________________________
> Community-list mailing list Community-list(a)lists.vpsfree.cz
> <mailto:Community-list@lists.vpsfree.cz>
>
http://lists.vpsfree.cz/listinfo/community-list
>
_______________________________________________ Community-list
mailing list Community-list(a)lists.vpsfree.cz
<mailto:Community-list@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(a)lists.vpsfree.cz
<mailto:Community-list@lists.vpsfree.cz>
http://lists.vpsfree.cz/listinfo/community-list
_______________________________________________ Community-list
mailing list Community-list(a)lists.vpsfree.cz
http://lists.vpsfree.cz/listinfo/community-list
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iF4EAREIAAYFAlUYxw0ACgkQgRwOVqYrsFUZoAEA4SZGU5xUpKw9LF3xMEIOfCBm
Warf9s15Q5CTzXSzKOwA/2oXc2s6tBQZ18pXkasWJKNXQyWixRhugyudiLrD4Chq
=kIzo
-----END PGP SIGNATURE-----