• Лучшие практики по созданию лаборатории для работы с чувствительными данными?

    @Stanislavvv
    Linux System Administrator
    1. LDAP (пользователи, логины/пароли, доступ в соответствующие места и т.п.) + Kerberos (ради авторизации через етокены) + NFS (домашние каталоги пользователей). АРМ пользователей - взаимозаменяемы.
    политики безопасности в явном виде в линуксе не применялись, делалось настройкой АРМ и расстановкой групп для пользователя (типа - юзер такой-то входит в группу disk, группе disk разрешено монтировать флешки).
    В качестве LDAP использовался Centos DS, АРМ - на Debian (образ готовился заранее и тупо заливался на диск при необходимости техподдержкой пользователей). NFS - один сервер на примерно 200 человек, проблемы с производительностью возникали только во время массового включения компов (упирались в iops дисков, а не в сеть).

    2. доступ в инет осуществлялся через прокси с авторизацией (см. LDAP). Кого надо - пускаем везде, кого надо - на белый список, остальные идут подальше. Ну и анализ логов, учёт трафика и т.п.

    3. журналирование - как настроишь (логи тыканья мышкой вряд ли возможны, логи открытия файлов - применялись). Централизованное хранение - при помощи форвардинга логов в сервер. Практически все syslog'и такое умеют, достаточно прочитать документацию.

    4. не видел для установки на каждое рабочее место. По сети - использовался SNORT с кучей правил.
    Ответ написан
    3 комментария
  • Порекомендуйте стек технологий основанный на Java для вебприложения?

    MrMig
    @MrMig
    Добавлю свое мнение (имею опыт разработки как энтерпрайзов, так и стартапов):

    Spring Framework.
    • Отлично подходит для крупных проектов, и проектов, которые необходимо будет длительно поддерживать.
    • Желательно иметь 1 хорошего специалиста по спрингу, иначе скушает много времени на построение правильного процесса (все же это энтерпрайз-технология).
    • Стандарт для энтерпрайза де-факто.


    Grails.
    • Пишется на груви (джава с сахаром + динамика), что объективно приятнее
    • Отличное решение для прототипов и веб-CRUD систем.
    • Имеет набор стандартных практик и кучу плагинов


    Play 1.2
    Концептуально это такой же фреймворк, как и Grails.
    Главное не путать его с Play 2 (scala-фреймворк, переработанная архитектура. На джаве писать можно, но не удобно)
    • Похож на греилс, но основноя язык — джава
    • Низкий порог входа
    • Использует стандартные джава-решения для связанных технологий (SQL ORM = Hibernate, к примеру)
    • Подходит для прототипов
    • Стейтлесс по умолчанию


    Резюмируя — Спринг отлично подходит для средне-больших проектов, потенциально долгоживущих. Греилс и Плей — отлично подходит для прототипов и тестирования идей, а также для чистых веб-прослоек без страшной бизнес-логики.
    Если вы хотите «попробовать идею в полевых условиях», я бы брал Play 1.2/Grails + AngularJS. Это позволит запилить прототип значительно быстрее, чем на том же Спринге.
    Ответ написан
    Комментировать
  • Порекомендуйте стек технологий основанный на Java для вебприложения?

    Snowindy
    @Snowindy
    В дополнение в авторам остальных ответов, хочу добавить одну интересную деталь про разработку веб-приложений и их архитектуру.

    Некоторые веб-фреймверки так устроены, чтобы брать на себя многие функции по работе с БД (к примеру, Grails использует для этого очень удобный ORM «GORM»). Таким образом, выбрав подобный фреймворк и не имея с ним особого опыта, и посмотрев сетевые примеры приложений типа PetStore (т.е. карманные приложения для примера работы фреймворка), можно случайно наколбасить так, что произойдет лок функциональности внутри веб-приложении.
    Пример: Случайно может получиться так, что вся логика асинхронного процессинга сообщений окажется внутри веб-приложения. Я видел такое. Веб-приложение запускалось 5 минут…

    Сразу это учитывайте при выборе архитектуры, разделяйте функциональность по слоям.
    К примеру,
    1. бэкенд для всей логики, не касающейся веб-приложения на Spring
    2. Фронт на Grails, только необходимое
    3. Оба модуля могут смотреть на одну и ту же базу, так что можно использовать лучшее из обоих миров, к примеру Spring-Data-JPA для бэкенда и GORM для фронта.
    Ответ написан
    Комментировать
  • Порекомендуйте стек технологий основанный на Java для вебприложения?

    asm0dey
    @asm0dey
    GWT + spring4gwt + spring data jpa
    Ответ написан
    Комментировать
  • Порекомендуйте стек технологий основанный на Java для вебприложения?

    mrstrictly
    @mrstrictly
    Из современных популярных фреймворков с очень низким (на мой взгляд) порогом вхождения я бы в первую очередь привел:
    * Play! Framework playframework.com/
    * Grails www.grails.org/
    Но сам, лично, не имею опыта работы с ними, только изучал, получал представление, т.к. по работе имею дело с самописными решениями на базе Spring.
    Ответ написан
    1 комментарий
  • Порекомендуйте стек технологий основанный на Java для вебприложения?

    Spring Framework конечно. Если конечно не хочется ничего особо оригинального (или платного). Для интеграции с социальными сетями можно поискать и отдельные компоненты. Даже если они не интегрированы со Spring изначально — интегрировать в него можно что угодно.

    Но вот веб-стек в Java, как бы это сказать помягче, излишне перегружен. Как насчёт не использовать его совсем? Наймите хорошего front-end — разработчика, пусть напишет вам полностью динамический UI (на jQuery UI например), а ваш back-end в таком случае будет всего лишь RESTful-сервисом. И современно, и модно, и с тяжеловесными технологиями типа JSF с их десятиэтажными абстракциями заморачиваться не придётся…
    Ответ написан
    2 комментария