if ( message.length <= 140 && message.isPublic ) {
Twitter.tweet ( message.text );
} else if ( message.isPublic ) {
if ( ! intersection ( message.recipients, Contacts.facebookOnlyUsers ).isEmpty ) {
FaceBook.setStatus ( message.text );
} else {
GooglePlus.share ( message.text, GooglePlus.PUBLIC );
}
} else {
circles = GooglePlusUtilities.computeRelevantCircles ( message.recipients );
GooglePlus.share ( message.text, circles );
}Почему UFW не спасает от Docker: анатомия сетевой подставы и что ищут боты в открытых портах БД
Типичная картина при переезде на свежий VPS. Подняли чистую Ubuntu или Debian под новый проект, сразу навели базовый порядок: ufw default deny incoming, снаружи оставили только 22, 80 и 443. Глянули ufw status — всё четко, лишнего не торчит. Дальше ставится Docker, через компоуз взлетает бэкенд с PostgreSQL и Redis. Чтобы удобно ходить в базу с ноута через DBeaver и гонять миграции, на автомате дописываем ports: - "5432:5432". Кажется, что мы в домике: наружу ничего не светит, фаервол же режет всё, кроме веба и SSH.
А через пару дней прилетает абуза от хостера или срабатывает алерт в мониторинге: все ядра в полке, в htop резвится какой‑нибудь kdevtmpfsi или kinsing, а вместо таблиц в базе лежит одна записка README_TO_RECOVER с биткойн‑кошельком. Грабли старые, как сам Docker. Но на них с завидной регулярностью наступают и джуны, и вполне опытные админы, привыкшие доверять выводу ufw status.

