Takže, jen pro informaci, nápravná opatření jsem udělal taková, že jsem vše ošetřil právama přes skripty.
Byl jsem měkký a vývojáři měli vyjímky, kdy si mohli ve svých projektech na produkčním prostředí měnit zdrojové kódy.
Když chtěli udělat nějakou jednoduchou úpravu (změna adresy v patičce nebo tak něco), tak jim to přes git přišlo příliš složité, tak úpravu udělali přímo ve zdrojáku - je to blbost, ale jejich boj.
Každopádně tomu je konec. Nastavila se pevná pravidla bez vyjímek. Bez Gitu + buildovacího softwaru jenkins, který má na svědomí "kopírování" zdrojáků na produkci si už neprdnou.
Funguje to tak, že existuje jedna složka s právem zápisu, do ní jenkins provádí veškeré buildy (kopíruje zdrojáky - ovšem na tuto složku ještě nesahá apache. Je to separé složka, takový most). Vývojáři si v Jenkins u každého projektu nastaví, která konkrétní složka potřebuje právo zápisu (klienti si tam nahrávají fotky, dokumenty atd...) Skript, který je v cronu, co 5minut kontroluje jednu spešl složku, do které se ukládají konfigurace každého projektu. Skript tedy ocheckuje, jestli má co zpracovat, pokud nějaký soubor najde, rozpársuje jej a synchronizuje (rsync) projekt do produkčního prostředí, kam už si sahá apache. Po synchronizaci upraví práva na 550 rekurzivně vyjma těch, do kterých má být právo zápisu - tyto složky mají 750.
Cílem je tedy to, že ikdyby se nějak dostal vir do složek s právem zápisu, nikam jinam se už nedostane. Takhle můžu přesně zjistit, který projekt je děravý.
Doposud to bylo tak, že vir se rozlezl úplně všude. Z těch 60ti projektů byl vir tak v 58mi...a teď hledejte, který z nich to má na svědomí
Nějakou dírou se tam holt dostal a ssh vylučuji už jen proto, že každý z virů měl vlastníka "jenkins" = uživatel, pod kterým běží apache.