• Как автоматизировать адресную книгу iredmail?

    @Dobryak88 Автор вопроса
    Системный администратор
    Если вдруг кто-то пришёл сюда в поисках решения для похожего вопроса:

    delete FROM roundcubemail.contacts WHERE (email LIKE '%@MYDOMAIN') AND (user_id=NUMBER);
    CREATE TABLE roundcubemail.temp AS SELECT username, name, created, employeeid FROM vmail.mailbox;
    INSERT INTO roundcubemail.contacts (name, email, surname, user_id) SELECT name, username, name, NUMBER FROM roundcubemail.temp;
    drop TABLE roundcubemail.temp;

    , где
    NUMBER - идентификатор пользователя, который создал globaladdressbook;
    roundcubemail.temp - временная таблица для миграции данных.
    Можно обойтись без temp-таблицы, но мне она понадобилась, чтобы удалить из общего справочника разные технические адреса, чтобы они пользователям не мешались.
    Всё это дело в скрипт, а затем в Cron.
    Ответ написан
    1 комментарий
  • Как изучать администрирование линукс самостоятельно?

    @ewgenc
    Посмотрите задачи при сертификации на системного администратора Linux, или требования в вакансиях к этой должности, попробуйте выполнять. Я бы поднял дешевый VPS для этого и пробовал разбираться, ну или на виртуалке.
    Ответ написан
    4 комментария
  • Как перенести VDS сервер Ubuntu на другой хостинг?

    @rPman
    Сначала делаем backup.
    При наличии root доступа штатно linux переносится даже простым tar!

    Хостер может добавить своих утилит, свои скрипты и особенности настройки сети, свой способ загрузки (например нет /boot а загрузка ядра и initramfs идет 'снаружи'), это все в принципе восстанавливается, скрипты хостера чистятся и т.п... в основном только тут могут быть проблемы но все просто решается.

    Затем восстановление - и тут могут быть проблемы.
    Универсально все будет работать только с не openvz/lxc/docker системами виртуализации, так как такие могут тупо не позволить работать с версиями системных библиотек (очень редко), отличных от хоста... а у тебя древняя ubuntu (я запускал в chroot просто утилиты, развернув образ с помощью debootstrap еще до появления docker, так что технически шансы проблем - минимальны). Дело в том что хостер может запретить, а точнее не дать инструментов для подмены системных файлов, а из самой работающей системы заменить ее саму нельзя (очень сложно).

    p.s. я помню, поднимал систему, загрузив ее внутри user mode linux на машине даже без админовских прав, каскадно на системе с openvz (по умолчанию может не хватать некоторых модулей ядра, особенно для настроек сети, но там все решаемо), народ забыл про этот способ контейниризации без наличия аппаратной поддержки виртуализации, но она есть, старейшая, мощнейшая и удобнейшая из всех (по поводу производительности спорно - числодробилки быстро, но системные вызовы медленее)
    --------------

    Если виртуальная машина kvm/vbox/vmware/... то проблем не будет от слова совсем. Чтобы развернуть бакап, понадобится на новом месте загрузиться в консоль восстановления (лучше с iso образа), отформатировать файловую систему и тупо распаковать архив с бакапом (обычно /dev в архив не складывают, но если его не будет на новой системе то я помню старые версии ubuntu ругались на отсутствие null, это все решается ручным копированием тут же), затем переустановить загрузчик
    grub-install /dev/sdX --root-directory=/path/to/mounted/root/

    Ну и само собой архитектура исходной машины и новой должны совпадать, т.е. нельзя смешивать ни тип процессора (x86/arm ни битность x86/x64), правда особых проблем с запуском x86 на x64 быть не должно.
    Ответ написан
    Комментировать
  • Как перенести VDS сервер Ubuntu на другой хостинг?

    akelsey
    @akelsey
    Самый простой способ это подсмотреть точный дистрибутив, как я понял это Ubuntu 16.04, нужно задеплоить на новом VPS точно такой же сервер с Ubuntu 16.04, и затем с помощью команды rsync, вроде такой:

    sudo rsync -aAXvP — exclude={/boot/,/dev/,/etc/fstab,/etc/modprobe*,/etc/modules/,/lost+found/,/etc/mtab,/etc/network*,/etc/sysconfig/ip*,/etc/sysconfig/kernel,/etc/sysconfig/network*,/lib/modules/,/media/,/mnt/,/proc/,/run/,/sys/,/tmp/,/var/lib/lxcfs/,/var/lock/}  root@mysite.ru:/ /

    я бы попробовал это сделать например на любой системе виртуализации у себя дома, на работе, потом на хостовой машинке подменить hosts файл и проверить что всё работает (за одно этот образ машины можно потом будет сохранить как бэкап) и если всё ок - покупать новую VPS и повторить.

    PS
    В целом можно потом на той же машине на которую скопировался сайт попробовать обновить дистрибутив до 22.04 и уже на новую впс если всё взлетит (нужно проверить весь функционал), уже ставить систему с поддержкой, т.к. 16.04 закончилась в августе 2021.
    Ответ написан
    1 комментарий
  • Сколько бpyтфopcить такой пароль?

    maaGames
    @maaGames
    Погроммирую программы
    Считаешь количество вариантов, которые нужно перебрать от "0" до "BuRyoNKa1+MaTRyoSHKa2=IzbUshkA3" и умножаешь на время одной попытки ввода пароля. Это если можно подряд хоть сколько ошибочных паролей вводить.
    Ответ написан
    Комментировать
  • Сколько бpyтфopcить такой пароль?

    @DaNHell
    Change the world
    Да замечательная штука как плановая смена паролей взята не из воздуха, и не по чей то хотелки.
    Рассчитывается из параметров: алгоритм хеширования, минимальные требования к паролю и ~кол-во юзеров.
    В булке например md5(md5($salt).md5($pass)) скорость брута через cuda среднего класса - 152.0 MH/s (150 миллиона хешей в секунду)!
    Ну это конечно прогресс, 21 век.

    Довольно старая таблица, но все-же
    8tvdxh2.png

    Но это мы говорим про полный перебор.
    Но атаки по маске/правилам/словарям/гибридные и конечно же по радужным таблицам делают свое дело на ура.
    Грубо говоря имея дамп 100к юзеров login : (md5), в течении 3-5 минут получаем результат в более чем 50% подобранных паролей.

    Да и также стоит отметить что увеличивать длину пароля конечно же стоит, увеличив на 2 символа (с 10 до 12) грубо говоря усложняем задачу подбора в 300-500 раз.
    НО: Учитывая что это не просто добавление хоть еще 6-8 букв (словосочетаний) словарных/алфавитных.
    Т.е. ItsGoodPassword даже увеличив до ItsReallyVeryGoodPassword пароль, противостоять сможет всего пару секунд гибридной атаке.

    На 2008 год брут через GPU (UPPER CASE + lower case + digs + symbols)
    • all 6 character password MD5s 3 seconds
    • all 7 character password MD5s 4 minutes
    • all 8 character password MD5s 4 hours
    • all 9 character password MD5s 10 days
    • all 10 character password MD5s ~625 days
    • all 11 character password MD5s fuggedaboudit

    Но на получение 12 символьного пароля ушло далеко не несколько лет, а всего 75 дней.

    P.S. От себя добавлю отличный совет: Если есть возможность - используйте нетрадиционные раскладки языка, спец. символы (которые не так уж и сложно прописывать - FAQ По винде поможет).
    Ну а если еще и закреплять это все стойкостью пароля.. То вы в защите от криптографических атак... но далеко не в абсолютной безопасности...
    Ответ написан
    1 комментарий
  • Как создать памятку по методике работы с информацией с целью улучшения информационной безопасности?

    Breaking-cat
    @Breaking-cat
    Если потерпит до "послепраздников", то смогу взять на работе такую памятку и скинуть как пример. она под Газпром, но структура составления однотипна . Да и ссылаются все, при составлении таких документов , на одни и те же приказы МВД . Наизусть вспомню только 78-145.93 МВД - это про обеспечение средствами инженерной безопасности. Твоя тема где-то в том направлении
    Ответ написан
    3 комментария
  • Как создать памятку по методике работы с информацией с целью улучшения информационной безопасности?

    @polarnik
    Тестировщик
    Простая памятка имеет большие шансы на выполнение (ведь суровые законы компенсируются необязательностью их выполнения).

    Блокировать компьютер.
    Пользоваться ПО из указанного списка (пользоваться другим ПО нежелательно), сделать узел с разрешенным ПО и сетевой каталог.
    Для мобильных устройств использовать подключение к сетям 1, 2, 3 (подключаться через другие точки доступа запрещено, при появлении других точек сообщить).
    ...
    Если возможно, сделать пользователей не админами - сделать их не админами. Указать куда надо складывать данные, для которых будет осуществляться автоматическое резервное копирование. Указать как и кто может восстановить эти данные.
    ...
    Рассказать что делать, если прокси говорит пользователю, что узел не найден или заблокирован. И закрыть лишнее. Сделать узел с ответами на частые вопросы - как что настроить, что делать если что-о заблокировано (такие детали не надо писать в памятке).
    ...
    Разделить информацию по грифам/категориям. Данные клиентов, учётные документы - одна категория (доступ только у трёх человек, всё зашифровано). Данные для внутреннего использования. Данные, которые можно сообщать.

    В работе есть такие памятки. Разнесены по нескольким документам. Но их можно объединить в один небольшой.
    Ответ написан
    Комментировать
  • Как создать памятку по методике работы с информацией с целью улучшения информационной безопасности?

    Из последних нормативных документов в лучшую сторону выделяются Приказы ФСТЭК №17 и №21 от 2013 года по защите персональных данных, не содержащих гос.тайну. В конце обоих Приказов есть матрица того, что должно быть обеспечено в гос.учреждении (№17) и в коммерческом (№21) учреждении. Можно вполне сформулировать требования, отталкиваясь от этих приказов.

    Еще один путь - взять требования любого банка к рабочему месту системы Банк-Клиент.

    Или поизучать вот этот ресурс : www.securitypolicy.ru/index.php/%D0%97%D0%B0%D0%B3...
    Ответ написан
    Комментировать
  • Как настроить Mikrotik (сайты в локалке)?

    @Yukkona
    Есть 2 варианта - хороший и плохой.
    Хороший - split DNS, в локальной сети нужно поднять dns, на котором уже добавить А-записи с локальными адресами.
    Плохой - использовать hairpin nat.
    Инструкции по настройке DNS-серверов или hairpin nat на микротике приводить не буду, легко гуглятся.

    P.s. отключите на микротике web морду, она ему не очень нужна, либо перенесите на нестандартный порт.
    Ответ написан
    1 комментарий
  • Как узнать ip по mac-адресу?

    @sublime
    Можно попробовать вот так (для Windows, в консоли)
    Запустите пинг на бродкастовый адрес вашей сети.
    Например если у вас сеть 192.168.0.0 с маской 255.255.255.0, ваш адрес тогда будет 192.168.0.1-254, а бродкастовый - самый последний 192.168.0.255. Вот именно его нужно попинговать, потом дать команду
    arp -a
    Увидите все ip адреса в вашей сети с их маками. Ну а там уже найдете нужный.
    Ответ написан
    Комментировать
  • Есть ли сервис для верстки писем?

    dudeonthehorse
    @dudeonthehorse
    Email Developer
    Сервисов для действительно хорошей верстки писем нет. Но есть фреймворки. Хорошим на сегодняшний день считается zurb.com/ink , но у него есть ряд косяков.
    Могу предложить мой фреймворк https://github.com/dudeonthehorse/Email о работе с которым я планирую писать в своем блоге habrahabr.ru/users/dudeonthehorse/topics
    Ответ написан
    Комментировать
  • Какие знания необходимы перед изучением php фреймворка?

    @AlikDex
    тут играет роль не столько знания пхп, сколько понимание принципов работы той или иной системы. Иными словами, необходимо изучить основные паттерны проектирования.
    Для ознакомления неплохая статейка с хабра: habrahabr.ru/post/214285
    Далее нагуглите думаю.
    Ответ написан
    1 комментарий
  • Шлюз на linux с хорошей статистикой?

    Patap
    @Patap
    Ride hard die fast
    Люто плюсую в сторону pfSense
    Ответ написан
    1 комментарий
  • Как вы начинаете вёрстку сайта?

    dunmaksim
    @dunmaksim
    Технический писатель
    1. Создаю каталог для проекта
    2. Инициализирую Bower
    3. Устанавливаю нужные пакеты, например, Twitter Bootstrap, Angular, jQuery и т.д.
    4. Ставлю Grunt, плагины для него и т.д.
    5. Запускаю EMACS и создаю index.html
    6. С помощью Emmet создаю шаблон, который уже начинаю заполнять.
    7. В каталоге src создаю папки less, js и т.д.
    8. Попутно пишу задачи для Grunt
    9. Если в выбранном фреймворке не хватает какого-либо класса для стилизации элемента, сначала описываю стили прямо в шаблоне, в свойстве style. Затем при необходимости выношу их оттуда в LESS в виде одного или нескольких классов.
    10. ??????????
    11. PROFIT!!!
    Ответ написан
    15 комментариев
  • Есть ли желающие обучаться вместе?

    @Byrnane
    Фронтенд-разработчик, начинающий гейм-дизайнер
    Попробуй устроиться в какую-нибудь студию стажером/джуниором. Я сам так начинал. Примерно за полгода работы я настолько прокачал свой скилл, что могу сходу без помощи гугла сверстать почти что угодно. Сейчас работаю там же плюс над своим сложным проектом.
    Практика решает, серьезно. Ну и денюжку будешь получать - что тоже неплохо и мотивирует расти дальше :)
    Ответ написан
    5 комментариев
  • Как развить мышление для программирования?

    @Dum_spiro_spero
    На мой взгляд математика и программирование связаны мало.
    Еще в школе (ну да, физматшколе) у моего друга с математикой было не хуже чем у меня, а с программированием - никак. Школьная и институтская математика - увы - учат решать стандартные задачи стандартными методами.
    Создание же даже просто алгоритма - это процесс творческий.
    Ну на самом деле - в программировании же понятийных сущностей мало - переменные, ввод-вывод, циклы, функции, С++ как приятный бонус вкупе с RAD.
    Если взять типичную программу - решение квадратного уравнение - то даже тут встретятся моменты творчества.
    Как назвать переменные? Коэффициенты вводит пользователь или они жестко заданы? После окончания программы - всё, стоп или решаем еще одно? А если подсунули линейное уравнение, а не квадратное - как быть? А если уравнение задано в виде строки вида "2x^2+3x-10=0" - может такое решим?
    Ну и так далее.
    А какие-нибудь крестики-нолики запрограммировать - надо еще больше таких вопросов решить.
    А математика как таковая вообще мало нужна - если нужно запрограммировать как спутник летит - то почитаете книжки по численным методам благо их нынче вагон - с точки зрения программирования - там все гиперпросто.
    Как правило это программы вида считать данные, долго считать по сложным формулам, вывести результаты.
    Да, есть некоторое количество знаний которое надо знать - типа что такое указатель и как он хранится, что не нежелательно сравнить переменную типа float с нулем, как хранятся массивы, и т.п.. ну это все в книжках по программированию есть.
    Моя идея такая - старайтесь одну и ту же задачу по программированию решить РАЗНЫМИ способами - ну или обдумать хотя бы разные подходы.
    О себе - с первого курса института работал в программисткой фирме. Пишу на С/С++ в его разных ипостасях, новомодных штучек типа Питона не знаю.
    Ответ написан
    6 комментариев
  • Как развить мышление для программирования?

    Опыт лучший учитель. Занимайся непосредственно программированием от легких задач к сложным. Я закончил физико-технический факультет и когда занялся программированием ничем не отличался от тебя путался в алгоритмах и с трудом строил циклы. Начинал с самого простого, брал учебник и разбирал примеры, придумывал задачки и храбро их решал, читал мануалы, находил толковые видеоуроки по нужному материалу. Терпение и труд делают свое черное дело, я занимаюсь Web-программированием и чем больше изучаю его, тем больше осознаю как много еще не знаю. Думаю, в программировании самое важное то, чтобы тебе самому было интересно им заниматься и ты с удовольствием тратишь на него свободное время и силы, все остальное придет со временем. Еще могу посоветовать найти компанию единомышленников или наставника, с кем можно посоветоваться и попросить помощи, мне в этом повезло, у меня лучший друг хороший программист, даже и не знаю, что бы без него делал)
    Ответ написан
    Комментировать
  • Cервис онлайн для рисования блок-схем?

    Absent
    @Absent
    draw.io — бесплатный и интегрируется с Google Drive (создает гугл-доки, которые потом открываются в этом сервисе)
    Ответ написан
    6 комментариев