Поради големия интерес, обобщавам случилото се днес по горещата тема с изтриването на акаунта на "Общество.бг" от GitHub. Това е и нещо като post-mortem с поуките, които сме си извадили.
UPDATE 18 февруари - Акаунтът на Общество.бг е възстановен и с много малки изключения, сме на 99% обратно в играта.
Aкаунтът е изтрит по погрешка и без лоша умисъл. Свързали сме се с поддръжката на GitHub и чакаме отговор от тях. В най-лошия случай, ще ни отнеме няколко дни да възстановим хранилищата и кода на проектите и ще изгубим само метаданните за тях (issues, wikis, pull requests). Засега сме на stand-by.
Следва по-подробен разказ, представен в хронологичен ред и с малко изводи в края.
Днес (17 февруари), в 12:17 на обяд, 54 човека получихме автоматизиран имейл от GitHub, че акаунтът ни https://github.com/obshtestvo е изтрит, заедно с всички хранилища.
Както може да си представите, това предизвика голямо объркване. Реакциите бяха бързи, като Боян Юруков пръв зададе публично въпрос какво се случва. Под въпроса му във Facebook се оформи бурно развиваща се дискусия.
С предположението, че това може да е злонамерен акт, създадохме отново организация със същото име, за да си запазим името и да не позволим на някой да направи "take over" на github.com/obshtestvo. Това се случи със закъснение от 5-6 минути след известието за изтриване, така че беше възможно злонамерен човек да ни изпревари.
След това писахме на поддръжката на GitHub, следния текст:
Hello,
Someone deleted our NGO's organization account a few minutes ago. The account's name was:
obshtestvo
- First, is there a way to see who from the owners team initiated the deletion?
- Second, are there any backups of the content? Issues, wikis? We have most of the repos and will be able to restore them, but we'll lose the issues.
We created a new org. account with the same name a few minutes ago so that a malicious person does not take over it.
The situation is our own fault as we gave too much people owner accounts. We also know that deletion is permanent. However, we'd be very grateful for any help you could provide us with. Thanks.
Чакаме отговор.
След това ни обърнаха внимание, че в профила на всеки потребител в GitHub има раздел "Сигурност" (https://github.com/settings/security), в който има лог на извършените манипулации с потербителя. Там, всеки от администраторите в акаунта на Общество.бг, има информация, че е бил премахнат от групата на администраторите. Това вероятно е станало автоматично, като част от изтриването на организацията. Пишеше и кой потребител го е направил.
team.remove_member: Remove mitio from team obshtestvo/owners at 2015-02-17 12:17:18 +0200
Изпратихме имейл до него със следния текст:
Относно: "Изтриване на организацията на Общество.бг от твоя потребител"
Здрасти,
Преди около час, организацията на Общество.бг в GitHub - https://github.com/obshtestvo - беше изтрита. Ние ще възстановим изгубената информация, това не е голям проблем за нас.
Журналът на сигурността сочи, че действието е извършено от твоя профил.
Това действие умишлено ли е направено от твоя страна?
След това споделихме информация за GitHub профила му в нишката във Facebook, където се обсъждаше ситуацията. Хората, следящи коментарите, се активизираха - изрови се LinkedIn профила на човека, Facebook профила му, след това старото му CV (което вече не е онлайн), накрая станаха ясни имена и телефон.
Тони Стойчев се свърза с него по телефон и стана ясно, че действието не е било злонамерено и че той не е разбирал, че е администратор в профила на Общество.бг в GitHub и не е станало ясно, че изтрива цялата организация.
След като се свързахме с него, той написа следното:
Здравейте на всички! Искам най-напред да се извиня за голямото недоразумение, което съм направил. Не знаех, че имам админски права към "общество". Днес реших да ъпдейтна портфолиото си с нови мои разработки и проекти. Обаче преди 2 месеца смених компютъра си. Смених операционна система и поднових програмите. Дали от това или от друга причина ГитХъб-а все ми даваше грешки и не искаше да синхронизира новите промени. Затова реших да изтрия бранчовете от моя акаунт. Така стигнах до "общество" и без много да се замислям изтрих папката. Нямам никакви лоши намерения и не съм искал по никакъв начин да ви създавам неприятности. Много съжалявам и моля да ме извините за причиненото неудобство. Благодаря на Антон Стойчев, че ми се обади по телефона и ме уведоми за случилото се.
(...) Изтрих "общество" от моя профил на ГитХъб-а. Работил съм към Auxionize и там каквото изтриеш го изтриваш само от своя компютър. Ръководителят на проекта допълнително одобряваше всяка една промяна. Не знаех, че имам админски права и мислех, че изтривам папката само от моя профил (компютър).
В момента все още очакваме отговор от поддръжката на GitHub, за да видим дали ще могат да ни помогнат с възстановяване на данните от някакъв архив.
В противен случай, ще възстановим хранилищата и кода в тях от клонираните копия по машините на разработчиците или от сървъра на Общество.бг, който не е засегнат от ситуацията. В този случай, процесът ще отнеме поне няколко дни и ще изгубим метаданните за проектите - issues, pull requests, wikis.
Засега изчакваме отговора. Ако стигнем до ръчно възстановяване на хранилищата, ще пишем за съдействие във Facebook групата.
В най-лошия случай, вероятно след седмица над 90% от хранилищата ще са възстановени на същия адрес, на който са били преди.
До момента сме били много либерални в раздаването на пълен администраторски достъп до организацията на Общество.бг в GitHub – всеки е имал право да прави всичко. Имахме 54 администраторски акаунта към момента на инцидента. Причината за това е принципна и тя е във вярата в доброжелателството на всички участници и в желанието Общество.бг да е нещо, притежавано от всички нас.
Хубавото е, че очакванията ни за доброжелателство не останаха излъгани.
Въпреки това, от тук нататък ще се наложи да предприемем по-рестриктивни мерки за достъп, за да ограничим опасността от подобни случки. Пълен административен достъп ще имат няколко човека и те ще се грижат да създават нови хранилища и да управляват правата за тях. Достъпът до всяко хранилище ще бъде индивидуален и ще има един или двама администратори за хранилището, а всички останали ще бъдат contributors.
Разбира се, политиката ни за създаване на нови хранилища в организацията, ще остане същата и всеки човек, който иска да започне проект под шапката на Общество.бг, отговарящ на критериите, ще може да го направи и ще получи достъп до там. Същото важи и за сървъра на Общество - продължаваме да го предоставяме за хостване на проекти с обществена насоченост.
Всички си извадихме много поуки от случилото се.
За нас беше интересно и изумително каква мобилизация настъпи в следствие на ситуацията. В момента, в който стана ясно кой е инициирал изтриването, няколко човека направиха едно колаборативно разследване, за да изкопаят лични данни за него. Хора, които принципно не са били или в момента не са активни в Общество.бг, допринесоха.
Тъжното е, че е необходима кризисна ситуация и драма, за да се мобилизира човек. Би било чудесно, ако можехме да влагаме същата енергия и пъргавост в преследване и на другите цели, които имаме в Общество.бг.
Ставаме, изтупваме се и продължаваме напред.
Този текст ще бъде публикуван на status.obshtestvo.bg, когато възстановим хранилището, от което сайтът се генерира автоматично.