• Где хранит данные(пользователей, например) ejabberd2?

    Melkij
    @Melkij
    PostgreSQL DBA
    нужно добавить пользователей

    ejabberdctl register <username> <domain> <password>


    Можно ли его заставить использовать mysql

    Сами гуглить не пробовали, видимо?
    https://docs.ejabberd.im/admin/guide/databases/mysql/

    Используемая по-умолчанию нативная база может быть расположена в разных местах. Например, в /var/lib/ejabberd/
    Ответ написан
    3 комментария
  • Что не так с настройкой ejabberd?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Вот фрагмент моего рабочего конфига:
    auth_method: ldap
    ldap_servers:
       - "10.149.0.209"
       - "10.149.0.211"
    ldap_encrypt: none
    ldap_port: 389
    ldap_rootdn: "cn=readonly,cn=users,dc=domain,dc=local"
    ldap_password: "password"
    ldap_base: "cn=users,dc=domain,dc=local"
    ldap_uids:
       "sAMAccountName": "%u"
    ldap_filter: "(&(objectClass=user)(memberOf:1.2.840.113556.1.4.1941:=cn=JabberAccess,ou=Permissions,dc=domain,dc=local))"

    Авторизуется без проблем. Единственное, что пришлось дописывать самому - это общий ростер (родной заточен на openLDAP) и хранение фотографий в AD.
    Ну и NTLM-авторизации пользователей в Ejabberd'е нет.
    Ответ написан
    2 комментария
  • Как сделать простейшую сео настройку сайта?

    tomnolane
    @tomnolane
    профессиональный разработчик
    1) Заголовки страниц
    2) Ключевики, описания страниц
    3) Подписи к картинка (альт, тайтл)
    4) Быстрая загрузка страниц
    5) Уникальный картинки
    6) Уникальные тексты на сайте
    8) реклама в гугле и яндексе, без этого сейчас очень трудно, говорят что реклама потихоньку убивает все сео.

    (исходник На чём основывается SEO? автор Сергей )
    Где взять уроки по SEO оптимизации?
    Ответ написан
    Комментировать
  • Как влиться в тренд нынешней веб-разработки?

    Блин, 8 лет верстать "по-дедовски")
    Да за это время можно было стать Senior developer или даже выучиться на фуллстак и уехать в какой-нибудь Израиль работать за 4к $

    Препроцессоры я познал за один день. Для CSS использовал сначала less, через месяц ушел на Stylus (советую именно его, так как всякие sass это вообще мрак. Работать в чужом проекте на sass - ад, тогда как stylus прост, при этом более функционален и намного интуитивнее).

    Jade (ныне Pug) узнал просто заканчивая чужой проект. Открыл, посмотрел на то, чего боялся, пришлось почитать что за зверь - работу то делать надо. Оказалось все просто, теперь не знаю как теги раньше писал ручками (со стилями тоже самое было, кстати).

    Сборщик проекта. Для верстки, если выбирать между Grunt и Gulp - без сомнений Gulp. Я очень счастлив, что мне в тот момент подвернулась именно статья про Gulp. Работал с проектами на Grunt (их очень мало) - ну, это просто дерьмо, а не сборщик. Скорость сборки отличается в разы.

    Webpack это конечно повыше уровень, юзать его для верстки не прагматично.

    Флексбоксы в CSS изучаются только на практике, сидеть и запоминать это бессмысленно. 2-3 проекта с подсказкой по флексу и он плотно осядет в голове.

    Вывод: надо просто не бояться нового. Берешь и применяешь новые технологии без страха и зазрения совести. Они быстро вольются в твою жизнь, а без них потом будет дышать тяжело и больно.

    Советую взять готовые проекты у хороших верстаков и просто что-то в них поделать, попеределывать, попользоваться технологиями сразу, не читая нудные статьи про основы.
    Ответ написан
    7 комментариев
  • Удаленный перезапуск процессов Windows?

    @res2001
    Developer, ex-admin
    taskkill - убивает процесс, умеет и удаленно.
    удаленно запустить можно через psexec, wmic и т.д.
    Ответ написан
    Комментировать
  • Минимальные настройки безопасности Linux на VPS?

    Tyranron
    @Tyranron
    Ряд моментов Вы уже сделали, но я все равно их опишу для полноты списка.

    1. Создать отдельного пользователя и хороший пароль на sudo. Не использовать больше root напрямую. Совсем.

    2. SSH. Отключаем метод аутентификации по паролю. Если Вам не нужны другие методы, то их тоже можно отключить, оставив только publickey. Отключаем возможность аутентификации root'ом. Включаем использование только 2й версии SSH протокола.

    3. Устанавливаем Fail2Ban и настраиваем чтобы после нескольких неуспешных попыток подключения по SSH банило по IP на длительное время. Кол-во попыток и время бана можно тюнить в меру своей паранойи. У меня, например, банит на час после 2х неуспешных попыток.

    4. Iptables. Действуем по принципу "запрещено все, что не разрешено". Запрещаем по умолчанию весь INPUT и FORWARD трафик снаружи. Открываем на INPUT'е 22 порт. В дальнейшем открываем порты/forwarding по мере необходимости. Если у нас предполагаются сервисы на соседних серверах нужные только для внутренней коммуникации (Memcached, Redis, и т.д.), то открываем для них порты только для определенных IP. Просто так торчать наружу для всех они не должны.

    5. Настраиваем автоматические обновления apt-пакетов. Уровень security. То есть так, чтобы обновления безопасности накатывались автоматически, но при этом не выполнялись обновления со сменой мажорной версии (дабы обезопасить себя от "само сломалось").

    6. Устанавливаем ntpd. Серверное время должно быть точным. Также временную зону сервера лучше всего установить в UTC.

    7. TLS (не SSL) используем везде где можем. Через Let's Encrypt получаем бесплатные валидные сертификаты. В конфигах веб-серверов, mail-серверов, и других приложений торчащих наружу (в том числе и OpenVPN), запрещаем/убираем использование слабых шифров. Все ключи/параметры генерируем не менее 2048 бит. Самоподписные сертификаты подписываем с помощью SHA-256 (не SHA-1). Diffie-Hellman параметры (dh.pem) под каждый сервис лучше сгенерить отдельно. Проверяем TLS сервисов через Nmap. Минимальный grade должен быть A, не должно быть warning'ов.

    8. Правильный менеджмент пользователей/групп. Приложения/сервисы не должны запускаться под root'ом (разве что они действительно этого требуют и иначе никак). Для каждого сервиса создается свой пользователь.

    9. Если предполагается upload файлов через PHP (либо другие скриптовые языки), в директории, куда эти файлы загружаются (и которая доступна снаружи), должно быть жестко отключено любое выполнение скриптов/бинарников, что на уровне ОС (x права), что на уровне веб-сервера.

    Это была база.
    Дальше, в меру своей паранойи можно за'harden'ить сервер ещё следующими моментами:
    - SELinux, chroot
    - доступ к SSH только с определенных IP (нужно иметь 3-4 VPN-сервера под рукой)

    UPD И да, все это помнить/настраивать руками каждый раз может быть запарно. Используйте Ansible и автоматизируйте процесс (там родные и YAML, Jinja2 и Python).
    Ответ написан
    10 комментариев