dialmak
- Стаж: 8 лет 9 месяцев
- Сообщений: 842
- Репутация:40[+] [-]
|
Что это.Если Вы никогда не получили письма\файлы 'счастья' как выше, то Вам просто повезло. Как правило везение заканчивается. И очень печально заканчивается, база которую делали 5 лет стОит много, очень много человеко-часов... И люди вынуждены платИть вымогателям $500 - $10 000. Слышал про случай уплаты $1 500 000, хз, вполне допускаю. Иногда инфа просто бесценна. Вчера обратился чел и сказал, что перестали открываться EXCEL файлы. После обследования его WINDOWS SERVER 2012 R2 я увидел, что все данные пользователей зашифрованы, в том числе и база 1С и бэкапы базы 1C. Заражение было через RDP (тупой подбор пароля, а пароль был 6 цифр), я ему когда ставил сервер - советовал поставить роутер с VPN сервером (ибо он заходил периодически из дома на сервер по RDP), но клиент проигнорировал это - тупо зажмотил $50, ну хозяин-барин. Я как правило адекватно оцениваю угрозы и сразу предупредил, что возможны варианты, чел опять проигнорил. Результат как Вы поняли печальный. Просили в данном случае $500, через 24 часа неуплаты сумма удваивалась.. Сумма конечно не запредельная, но никто ж не гарантирует, что после оплаты все восстановится... Как-то так. Я принципиально против оплаты вымогателям и в данном конкретном случае все закончилось хорошо. Помог мой вариант бэкапа. Ниже я расскажу что и как позволило восстановить данные. И почему в таком варианте можно спать спокойно и НЕТ СМЫСЛА платить вымогателям. Иногда везет.Кстати пару раз встречал фальшивых ransomware (вымогателей - шифровальщиков). Типа детский сад. Ничего не шифруют, просто пугают пользователя, да и просят копейки - типа 500 грн. Как правило прописываются в MBR или PBR, иногда просто удаляют файлы пользователей. Такие ransomware не есть серьёзными и нормальная работа восстанавливается быстро. А удаленные файлы можно без проблем восстановить, к примеру через R-Studio. Мы защитимся и от реальных ransomware и от фальшивок. Теория.1. Бэкап должен быть всегда. 2. Бэкап должен быть автоматическим. Только автоматизированный бэкап, выполняющийся по расписанию, дает нам возможность восстановить относительно актуальные данные - например, от вчера, а не от марта месяца. 3. Бэкап нужно хранить отдельно от данных и минимум 2 недели. 4. Бэкап нужно регулярно проверять.
Ну и самое главное. 0. Бэкап должен лежать в недоступном для ОС хранилище. Кто-то не поймет данное требование, кто-то тупо поржет, но практика показывает, что это самое важное. Ниже рассмотрим детальнее это. Зачем бэкап и когда он поможет. А точнее когда не поможет?Предположим , что Вы классный админ и бэкап ложим на том-же компе на другой HDD. Эт не гарантирует ничего ибо наш комп можно скомпроментировать. Предположим , что Вы классный админ и бэкап ложим на RAID 1 на удаленном компе и на входе стоит маршрутизатор и параметрический брандмауэр . Лучше, но опять же эт не гарантирует ничего ибо удаленный комп, да и сам маршрутизатор можно скомпроментировать. Когда такое понимаешь, то оторопь берет. Что же делать?Я не буду мутить воду, в которой умные парни с умным видом Вам рассказывают сказки как защитить комп или сервер с помощью волшебной проги\антивируса. Открою истину. Защитить в принципе можно от элементарных вещей, но от всех угроз нереально. Нет такого, даже отключенный от интернета компьютер вполне возможно заразить, типа человеческий фактор никто не отменял. Ну типа я так и делаю.Скорее всего Вы делаете не совсем так. Image for Windows\Linux позволяет положить архив в неподдерживаюмую Windows файловую систему, например Ext2/3/4, ReiserFS или HSF+. Также мы настроим это все дело для планировщика, и автоматом наши данные будут бэкапироваться без вмешательства админа или пользователя. К бэкапу никто не сможет получить доступ. При желании сам бэкап можно зашифровать паролем. А хотя зачем, ведь любимый Predator или Scarab сами аккуратно все зашифруют. Шутка и иногда очень болезненная! Ну так у меня стоИт антивирус, спецсофт защиты и т.д.Не будьте наивными. Эт Вам не поможет. Да, от каких то ransomware стареньких наверное, от новых вряд ли... Антивирусы и спецпроги НЕ панацея, вымогателей слишком много и появляются они каждый день. Что же делать?Мы не будем бегать и искать пиджаки, флешки, USB-HDD, а используем простую прогу Image for Windows\Linux. Ссылка на справку PDF. Вряд ли она Вам понадобиться, ну на всякий пожарный.. Конечно я советую ложить бэкап на другой HDD, а лучше на RAID 1, но если такой возможности нет - мы защитим наш комп\сервер от ransomware (вымогателей - шифровальщиков) и на одном HDD. Типа будет бэкап для бедных, но иногда только он и выручит.. Решение. Качаем.Ху эс ху? Image_for_Windows.7z - прога Image for Windows (для 7 и выше) с доп. плюшками, будет использоваться для бекапа Windows и\или данных, запускать Start_IFW.cmd. Image_for_Linux_GUI.7z - загрузочная флешка\CD для Legacy\UEFI с прогой Image for Linux с доп. плюшками, будет использоваться для восстановления бекапа, пока не нужна - постучал 'по дереву', дай бог чтоб не пригодилась. Если вдруг нужна - запускать для создания загрузочного носителя makedisk.exe. EXT4.TBI - бекап раздела EXT4 (20 GB), будем юзать для создания раздела с файловой системой EXT4 прямо из Windows. План такой.1. Освобождаем место под будущий раздел для файлов бэкапа. 2. Создаем и форматируем раздел для файлов бэкапа. Собственно мы, как я уже писал выше, можем использовать EXT4, ReiserFS или HFS+. В данном примере будем юзать EXT4. Конечно, можно было б загрузиться в какой-нибуть LiveCD, например Ubuntu или тот же Image for Linux и оттуда отформатировать свой новый раздел, но эт лишние телодвижения. Мы просто восстановим бэкап EXT4.TBI на свободное место диска и получим желаемый результат. Причем без перегрузки, ибо бухгалтерА как правило не любят когда админ перегружает сервер ;) Ну и замечу, что при восстановлении EXT4.TBI раздел EXT4 мы можем сделать любым по размеру, НО не менее 20 GB. Более можно, менее нет. 3. Далее просто запускаем Image for Windows и создаем полный бекап диска\раздела и ложим его на раздел EXT4. Если Вы хотите делать бэкап не всего раздела, а отдельных папок - см. документацию для Image for Windows\Linux. 4. И настраиваем в планировщике создание дифференциального или инкрементного ежедневного бекапа с сохранением его на раздел EXT4.. В видео все доходчиво и просто, думаю, что процесс понятен.
Далее настоятельно советую настроить чтобы IFW присылал отчеты на email, также можно ограничить к-во дифференциальных бекапов, например 10 штук вполне достаточно. IFW умеет такое автоматом, смотрите документацию, ключ /purge:-n. И можно спать спокойно.. Видео как сделать загрузочную флешку Image for Linux, процесс не быстрый ибо makedisk на лету перепаковывает initrmfs.
И последнее. Небольшое отступление. На средней фирме (около 100 компов) начал гулять в сети ransomware. Поверьте мне нА словО - там стояли корпоративные антивирусы, параметрический брандмауэр, даже стоял Snort, ClamAV, SquidGuard и другие плюшки. Ничего не сработало! Карл, даже Snort не пискнул! Я был в шоке.. Сработал только SECURE BOOT. Все компы БЕЗ включенного SECURE BOOT были скомпроментированы. Я восстановил нормальную работу фирмы за 3 часа! Это очень круто, если учесть, что было скомпроментировано 15 компов. Даже не знаю, чтоб было, если б все заразились, эт был бы просто абзац. Поэтому закроем доступ вирусняку к ОС на уровне загрузчика. Не пренебрегайте таким уровнем защиты!
Если комп поддерживает UEFI - ОБЯЗАТЕЛЬНО включите SECURE BOOT. Если комп поддерживает UEFI и CSM - ОБЯЗАТЕЛЬНО отключите CSM и включите SECURE BOOT. Если комп поддерживает UEFI и CSM и ОС уже давно установлена и стоИт в MBR, то крайне советую перевести диск в GPT. Пример. Делается эт одной командой из TBOSDT в WinRE\PE c Image for Windows или из TBOSDT в Image for Linux После перевода MBR - > GPT - отключите CSM и включите SECURE BOOT.
Если здоровья хватит - то напишу отдельный пост что такое Shim, PreLoader, MOKManager, HashTool и т.д. Этот вопрос требует отдельного поста или даже темы. Отложим пока.. Советы, проблемы и решения.Обязательно при бэкапе используйте флаг Validate Byte-for-Byte. Если он включен, то ошибки исключены. Validate Byte-for-Byte работает следующим образом. Первый проход - собственно запись бэкапа на диск. Второй проход - чтение записи бэкапа и побайтное сравнение с оригиналом посекторно. Это увеличивает в 2 раза время бэкапа, но дает 100% гарантию результата.
Виды бэкапа. Используйте или полный или дифференциальный бэкапы. С ними меньше проблем, чем с инкрементнымм. Для инкрементных бэкапов нужно настроить консолидацию в IFW. То есть создание нового базового по каким-то условиям, например времени или к-ву инкрементных бекапов. Смотрите доки. Я не использую. При любых проблемах стОит посмотреть детальный лог . Цитата из Image for Windows User Manual (Page 129): /logl:n LogLevel=n Causes less or more information to be output to the log file. Use level 1 for errors only, 2 for warnings, 3 for status, 4 for information, 9 for debugging, 10 for debugging with flush. For example, use /logl:3 to specify status level logging. If using 10 or higher, the /email option will be ignored (emails will not be sent) unless logging is disabled for the operation. Default if omitted: Informational level logging is performed. Пишут, что детальный лог 10 уровня можно включить двумя путями. Через ключ /logl:10 или добавить в секцию Options файла ifw.ini строчку LogLevel=10. Некоторые варианты решений проблем описаны здесь... Что касается физического сбоя HDD\SSD.Если данные супер важные - нужен RAID 1 или выше для раздела бэкапа (что в видео и сделано). Другие варианты не знаю. Своевременное информирование по email. Настройте автоматическую пересылку на почту результата бекапа. Пример настройки для Gmail. Можно использовать существующий аккаунт, но лучше создайте какой-нибудь новый аккаунт на Gmail. Так секюрнее. Настройте в IFW примерно так
Далее зайдите в настройки нового аккаунта Google и разрешите доступ к почте небезопасных приложений. https://support.google.com/mail/answer/7126229https://support.google.com/accounts/answer/6010255https://myaccount.google.com/lesssecureappshttps://www.google.com/accounts/DisplayUnlockCaptchaПосле получения письма о подтверждении можно попробовать нажать Test и убедиться, что все работает.
В поле Subject можно использовать переменные: ~ec~ – Numeric error code for operation $~EC$ – Numeric error code for operation $~OP$ – Operation (Backup, Validate, etc.) $~ECT$ – Error code text: Succeeded or Failed $~ET$ – Elapsed time
Пример письма при использовании в поле Subject фразы: The $~OP$ Operation $~ECT$. Run Time: $~ET$ В теме письма сразу видно результат операции успешно\неуспешно и сколько времени занял бекап.
Своевременное информирование в трее.Также можно использовать расширенную версию IFW из сборки TBPortable - в трее будет писать состояние и предупреждения.
Что касается удаления раздела EXT4 какой-нибуть утилитой или пользователем преднамеренно или случайно. Ну во первых можно запретить его удалять. Я это не рассматривал пока. Пока жду, может кто-то додумается ;) Ну а даже, если удалили, то IFW предупредит и можно оперативно восстановить через IFL или TestDisk или... Что касается ситуации, если файлы в EXT4 повреждены после сбоя питания. Вообще вероятность утери данных из-за сбоя питания мала ибо раздел используется недолго. Но если такое все-таки произошло, то ситуация как правило решаемая. Чуть позже выложу скриншоты или видео как победить... Список ransomware (вымогателей - шифровальщиков), неполный конечно, можно посмотреть здесь. З.Ы. Кто-то помнит Petya? У меня знакомый из 'Облэнерго' чуть не поседел после встречи с Петей. Короче люди делятся на тех, кто ещё не делает бэкап и тех, кто уже делает, ибо когда-то не делали! Он кстати делал бекап, но эт ему не помогло. Поэтому добавлю. Люди делятся на тех, кто делает бэкап и тех, кто делает его правильно, ибо когда-то делали неправильно! Update 28.08.2018. Добавлена инструкция по использованию защитника 'ProtectIt' и как ограничить к-во дифференциальных бекапов. Рекомендую отключить Fast StartUp в Windows 8...10. Это можно сделать в TBPortable через '\TeraByte Drive Image Backup and Restore Suite\utility\FastStartUp_Disable.reg' или в свойствах 'TBI Notify' в трее. При желании включить назад можно через '\TeraByte Drive Image Backup and Restore Suite\utility\FastStartUp_Enable.reg'. ENJOY
Последний раз редактировалось: dialmak (2018-08-28 17:33), всего редактировалось 116 раз(а)
|
dialmak
- Стаж: 8 лет 9 месяцев
- Сообщений: 842
- Репутация:40[+] [-]
|
55214 этих наших интернетах ходят упорные слухи, что вышеозначенные ФС плохо переносят внезапные выключения (сбой питания). Прокомментируй, пожалуйста. --- И вдогонку подвопрос - и как потом "чинить" эти ФС тупому виндовознику? Ну давайте дождемся конца статьи, там будет все. Что касается внезапного выключения питания, то практика такова. FAT - попа NTFS - раз на раз, если были операции с файлами, то грубо попа (нужен чекдиск), без него не обойтись... EXT4 - раз на раз, если были операции с файлами, то грубо попа (нужен чекдиск), но как правило можно обойтись и без него. Короче - EXT4 рулит во всех отношениях, как то так...
|
Отправлено: 15-Июл-2018 00:16
(спустя 1 час 27 минут)
dialmak
- Стаж: 8 лет 9 месяцев
- Сообщений: 842
- Репутация:40[+] [-]
|
Ander_73, У меня есть опыт по выключению. 1 место FreeBSD ? к сожалению не помню какая ФС - я как то не вникал, пофиг все, переживает даже жесткие штуки типа делаю бекап внутренний или копирование\удаление и тупо вырубаю питание, жесть короче. После включения восстанавливает все. 2 место EXT4, бывает непредсказуема, можно все поломать 3 место NTFS, бывает непредсказуема, причем гораздо более непредсказуема, чем EXT4, можно все поломать
|
nikzzzz
- Стаж: 9 лет 10 месяцев
- Сообщений: 3114
- Репутация:127[+] [-]
|
dialmak, Думаю, надо добавить в шапку, что доступ к бэкапам на EXT4 в Windows можно получить с помощью tbexplo.tbs, чтобы людей не пугать.
|
Отправлено: 17-Июл-2018 13:15
(спустя 1 день 18 часов)
dialmak
- Стаж: 8 лет 9 месяцев
- Сообщений: 842
- Репутация:40[+] [-]
|
Ander_73,поскольку рассматривается инкрементый Боже упаси. Дифференциальный. Я ж в видео его использовал. Ясен пень, что можно через какое-то время создать новый базовый и опять диффы делать.. Тут хозяин-барин, зависит от объема данных, объема раздела бэкапа и т.д.. Инкрементный не показывал, чтобы народ не ломал голову. Для инкрементного по правильному нужно настроить консолидацию в IFW. То есть создание нового базового по каким-то условиям, например времени или к-ва инкрементных бекапов. Там это можно делать автоматически. Смотрите доки. Я не использую. Что касается ошибок бекапа. Если при бэкапе используется флаг Validate Byte-for-Byte, то ошибки исключены. Validate Byte-for-Byte работает следующим образом. Первый проход - собственно запись бэкапа на диск. Второй проход - чтение записи бэкапа и побайтное сравнение с оригиналом на уровне секторов. Это увеличивает в 2 раза время бэкапа, но дает 100% гарантию результата.
Теперь об информировании. Как я писал - лучше настроить сброс на почту результата бекапа. Как альтернативный вариант - можно поставить немного другую версию IFW (я позже дам ссылку) - он в трее будет писать состояние и предупреждения. Можно и то и другое вместе.
Что касается удаления раздела EXT4. Ну во первых можно запретить его удалять. Я это не рассматривал пока. Пока жду, может кто-то додумается ;) Ну а даже, если удалили, то IFW предупредит и можно оперативно восстановить через IFL или TestDisk или... Что касается ситуации, если файлы покоцаны. IFW предупредит, и затем можно в IFL или другом Linux выполнить fsck.ext4 Хотя имхо лучше вначале на всякий пожарный сделать посекторный бэкап в IFL или бэкап в R-Studio !!! Наверное что-то еще можно предпринять, зависит от ситуации. А вообще вероятность утери данных из-за сбоя питания мала ибо раздел используется пару минут в день. Что касается ситуации сбоя HDD\SSD Если данные супер важные - нужен RAID 1 или выше для раздела бэкапа (что в видео и сделано). Другие варианты не знаю.
|
dialmak
- Стаж: 8 лет 9 месяцев
- Сообщений: 842
- Репутация:40[+] [-]
|
Да. Забыл. В IFL присутствуют всякие линуксовские примочки типа fdisk, gdisk и т.д. Иногда полезно.
|
dialmak
- Стаж: 8 лет 9 месяцев
- Сообщений: 842
- Репутация:40[+] [-]
|
Ander_73,Дополни, что предпринять, если создание бэкапа завершилось с ошибкой. Это уж зависит от ошибки. Например, если ошибка чтения-записи сектора: - просто повторяем - если ошибка осталась - по логу смотрим где ошибка (можно включить деталировку лога /logl:10, но как правило это не нужно) , на приемнике или источнике. - если источник - делаем выводы и срочно снимаем диск для детальной проверки, на его место ставим новый и восстанавливаем последний бекап - если приемник, то можно попробовать кинуть файл в бекап, чтобы забить место диска с ошибкой и опять повторить, впрочем это как временный вариант - с диском нужно разбираться - если не получилось - проверять диск, бэкап сделать на другой диск\сервер Также можно идентифицировать какой файл лежит на бэдовом секторе (эт если на источнике, ибо на приемнике и так понятно будет через операцию Validate бэкапа, не путать с Validate Byte-for-Byte!) и сделать выводы. Поможет ftp://www.terabyteunlimited.com/findlbaf.zip Он умеет определять файл соответствующий сектору в Windows\Linux\Dos. Для удобства кинул в расшаренную папку. Далее к примеру можно заставить IFW сделать бекап несмотря на ошибки, см. доки. Дополнительно https://www.terabyteunlimited.com/ucf/viewtopic.php?f=4&t=1278 По поводу чинить раздел - хз, как то не встречал такой ситуации (опять же будет видно по логу, на крайняк включаем детальный /logl:10), а вот с сыпающимися дисками регулярно сталкиваюсь.
|
dialmak
- Стаж: 8 лет 9 месяцев
- Сообщений: 842
- Репутация:40[+] [-]
|
ALL Вот кстати обычный обывательский взгляд на такие вещи. Пока будут такие пользователи (а таких 98%) - шифровальщики в безопасности и процветают. Если проанализировать к-во задержаний челов\делков, получивших срок за вымогательство (кстати им светит 20 лет в USA, некоторым дают пожизненное, и это не единичные случаи, а статистики по Украине не имею, скорее всего никого не словили) и к-во действующих шифровальщиков, а их около 2000 то понятно, что пипец.
|
dialmak
- Стаж: 8 лет 9 месяцев
- Сообщений: 842
- Репутация:40[+] [-]
|
apostol,Как ограничить к-во дифференциальных бекапов? Можно по разному. Пример ниже на основе времени - будем юзать ключ '/purge:-n'/purge:n This option is used to delete image files that are n days old or older. You can think of it as the number of days to retain images. It’s only used during a command line backup and only processes the target folder of the current file specified using the /f option. Care should be taken as the purge occurs prior to the backup. As an option you can have the purge take place only after a successful backup by providing n as a negative number. E.g. /purge:-15 Default if omitted: No image files are purged. Если не используете 'TBPortable_3.21', то самое время перейти. Ибо Image for Windows из этой сборки поддерживает 'ProtectIt' - защиту папки бекапа 'TeraByte_TBI_Backups' от шифровальщиков и шаловливых ручек. Полное описание 'TBPortable_3.21' здесь (для просмотра требуется регистрация на руборде). Порядок. 1. Выключаем 'TBPortable_3.21'. Удаляем драйвер 'ProtectIt' через батник '\TeraByte Drive Image Backup and Restore Suite\utility\del_protectit.cmd' от имени админа. 2. Создаем папку 'TeraByte_TBI_Backups' в корне раздела, в ней папку 'base' и папку' diff' (для раздела EXT4 это делаем через Terabyte Explorer 'tbexplo.tbs'). 3. Запускаем 'TBPortable_3.21' и создаем базовый бэкап в '\TeraByte_TBI_Backups\base'. 5. Для ежедневных дифф бэкапов создаем задание по расписанию для планировщика, указываем ложить их в '\TeraByte_TBI_Backups\diff'. Редактируем задание, добавляем в строку запуска ключ '/purge:-15'. Запускаем задание и ждем окончания. 6. Смотрим лог и проверяем все ли файлы месте (если раздел EXT4, то ставим предварительно драйвер 'Ext2Fsd' или подобный, он пригодится для проверки - см. ниже). 7. Проверяем работу драйвера 'ProtectIt'. Пробуем удалить дифф бэкап из проводника (если раздел EXT4, то предварительно монтируем его для записи через 'Ext2Fsd'). Если удалить не получилось - идем пить пиво (деинсталлировав конечно 'Ext2Fsd', он свою миссию по проверке выполнил). 8. Проверяем работу ключа '/purge:-15'. Меняем дату на 10 дней вперед и запускаем задание из планировщика, затем опять на 10 дней вперед (итого будет 20 дней от реальной текущей даты) и опять запускаем задание из планировщика. Смотрим лог. 9. Если первый дифф удалился, то все ОК. Возвращаем дату и удаляем все дифф бэкапы через Terabyte Explorer 'tbexplo.tbs' и идем опять на пиво. Главное не перепить.. Ключ '/purge:-15' означает удалять бэкапы старше 15 дней, если новый дифф успешно создан. Меняем по своему желанию. P.S. После инсталляции и деинсталляции 'Ext2Fsd' требуется перезагрузка. Можно также сделать вариант, основанный не на времени, а на к-ве дифф бэкапов.
Последний раз редактировалось: dialmak (2018-08-28 16:50), всего редактировалось 4 раз(а)
|
dialmak
- Стаж: 8 лет 9 месяцев
- Сообщений: 842
- Репутация:40[+] [-]
|
apostol, Сложно батник запустить? Ну можно и не удалять 'ProtectIt'. Просто создаешь (если не созданы) папку '\TeraByte_TBI_Backups\base' и папку '\TeraByte_TBI_Backups\diff' через 'tbexplo.tbs'. Ибо через проводник не выйдет, если работает 'ProtectIt'. Если же 'ProtectIt' не включен и раздел для бекапа NTFS, то конечно все проще - делаешь все через проводник и название папки неважно, например можно '\MyBackups\base' и '\MyBackups\diff'. Хотя.. не вижу ничего сложного..Пример создания папки в Terabyte Explorer.Пример. Открыл в Terabyte Explorer папку \TeraByte_TBI_Backups и нажал <Insert> (помощь F1). Появилось меню создания всякого разного. Выбираем первый пункт - создание папки и <Enter> и пишем имя и <Enter>.
Последний раз редактировалось: dialmak (2018-08-28 14:03), всего редактировалось 8 раз(а)
|
Отправлено: 30-Авг-2018 12:44
(спустя 1 день 23 часа)
dialmak
- Стаж: 8 лет 9 месяцев
- Сообщений: 842
- Репутация:40[+] [-]
|
korsak7,Хотелось бы без стопа, ибо несекурно. А вдруг в этот момент зловред шарится по диску Вряд ли, но береженого бог бережет... Я так понимаю для tbosdtw эта папка тоже доступна. А если написать скрипт для tbosdtw - копирование файлов снаружи в эту папку, это сработает Ну да. Пример копирования папки с предварительным созданием ее. В общем так не очень хорошо. Ибо - не поддерживается иврит, кириллица и т.п. - для копирования в неподдерживаемую виндой файловую систему или без буквы требуется предварительно монтировать раздел\том через mount, в примере выше этого нет - нет обработчика ошибок. Для того, чтобы было хорошо нужно писать TBS скрипт. Хотя мне не совсем понятно зачем придумывать велосипед. Есть же Terabyte Explorer, он умеет всё что нужно и не нужно в данной задаче.
|
Текущее время: 27-Ноя 10:43
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|