Какие Linux дистрибутивы используются для банковских авторизационных хостов на проде?
UPD: учитывая массовую обеспокоенность нереальностью поставленных мною задач, скорректирую вопрос:
Какие Linux дистрибутивы используются для банковских авторизационных хостов на проде?
--
Всем доброго времени суток.
Я порядка 5 лет работаю в области поддержки банковского процессинга, и возникла необходимость скорректировать карьерный вектор в сторону внедрения и развития банковских процессинговых решений.
В общем, если ближе к делу, то мне необходимо более-менее освоить следующее (исходя из запросов и интересующих меня вакансиях) (в порядке убывания приоритета):
- Oracle SQL;
- PL/SQL;
- Администрирование Oracle;
- Unix/Linux;
- Windows Server;
- Java;
- J2EE;
- JavaScript;
- bash-скрипты;
- С++;
- С#;
Я довольно-таки нуб во всех этих областях, т.к. хоть и программист по образованию, за 5 лет без практики всё забыл (но быстро вникаю).
Для практического изучения всего выше перечисленного я решил сделать что-то из знакомой мне области – банковского процессинга.
Если точнее, то я планирую взять 3 ноута, и в сильно упрощенном виде, 2 из них будут серверами независимых банковских процессинговых центров (далее ПЦ1 и ПЦ2), а один сервером платежной системы (далее МПС), ну и наладить между ними сетевой обмен (онлайн авторизационный + файловый клиринговый (позже)).
Исходя из того, что мне известно, я выработал следующий глобальный план действий:
1) Настройка ОС Windows Server 2012 (для ПЦ1) и Linux (Для ПЦ2 и МПС);
Ожидаемые скилы: Linux + Windows Server.
2) Настройка и заполнение БД Oracle на каждом из серверов;
Ожидаемые скилы: Администрирование Oracle + Oracle SQL + PL/SQL.
3) Настройка сетевого взаимодействия между БД;
Ожидаемые скилы: (?).
4) Настройка серверов приложений;
Ожидаемые скилы: Java + J2EE.
5) Создание и настройка Веб-интерфейсов;
Ожидаемые скилы: JavaScript.
Собственно, вопросы следующие:
1) Какую сборку Linux лучше выбрать, чтобы она была максимальна приближена к тому, что используют реальные банковские ПЦ на проде (так же нужно учесть моё нубство в этой области, т.к. всю жизнь сидел под виндой и юзал только убунту пару месяцев, в учебных целях 5 лет назад)?
Пока что мне насоветовали Red Hat и Cent OS (я больше склоняюсь к первому).
2) Что бы вы скорректировали в моем «Глобальном плане»?
Участвовал в создание процессинга, проходил PCI DSS притом успешно, из своего опыта могу сказать, что Вам правильно посоветовали RedHat и Centos, так как согласно стандартам должна быть подписка на обновления (отдельно придется подымать сервер для обновлений и отслеживать) и поддержка со стороны поставщика, иначе аудитор может завернуть на первом этапе и придется перестраивать архитектуру, плюс обычно все это крутится на виртуальных машинах, поэтому в Ваш список добавьте виртуализацию плюс idp и ids (WSO2, CAS, Shibboleth). Ну и да соглашусь список смотрится не реальным особенно администрирование Oracle ну и не понятно зачем сюда C++, лучше языки высокого уровня и хорошие знание основ программирования (ООП например и так далее), проектирования ну и алгоритмы не забываем.
P.S:
вместо centos можно использовать debian а может даже и нужно, это все зависит от "религии" сетевого администратора
по JAVA лучше SPRING например в ЦЕРНе во всю его используют
по базам можно и POSTGRES и для изучения особенно уделите внимание транзакциям и про XA(распределенные транзакции) почитайте
PaulWeb: вот Вы как раз тот человек, который мне был нужен)
В итоге я склоняюсь к такой связке (для 3 серверов)
Windows Server 2012 R2 +
Ubuntu (есть минимальный опыт работы с ним + он проще Дебиана) +
CentOS (на сколько я понял, он не сильно отличается от Red Hat, зато бесплатен);
Еще хотелось бы услышать Ваши комментарии по поводу "глобального плана действий".
Tim Virtus: не понимаю зачем тут windows server? при выборе архитектуры еще не забываете экономическую составляющую проекта, при выборе платного дистрибутива надо аргументировать иначе для компании это будут лишние расходы тем более в кризис. CentOS это community версия RedHat отличия в том когда приходят обновления, поддержка и цена (грубо говоря), ну и ubuntu тут то же не понимаю зачем, лучше использовать один дистрибутив для всех серверов ну и без иксов(графической оболочки). Прежде чем выбирать дистрибутивы надо накидать архитектуру например в visual paragigm, из каких частей будет состоять Ваш проект например: Сервер баз данных, кластер backend, сервер логов, сервер обновлений и так далее. По поводу глобального плана действия Вам надо определиться кем Вы хотите быть программистом(притом они еще делятся на прикладников и системщиков) или сетевым администратором?
Добавить методики шифрования и формирования подписей и работу под нагрузкой(Желательно чтобы ваши ноуты слали запросы на процессинг примерно раз в секунду).
Макс: в карточном процессинге много подразделений, непосредственно с моей работой этот ГОСТ никак не связан; и вообще, мне кажется, автор ответа имел ввиду не это, т.к. сообщения, которыми банк обменивается с МПС, должны соответствовать международным стандартам, а не только российским
Tim Virtus: А вы хотите международный процессинг? Ваш потенциальный процессинг по идее должны аттестовать местные безопасники как безопасный и соответствующий ГОСТ-стандартам. Соответственно если ваши логи будут шифроваться не пойми чем - это будет считаться за несоответствие.
Дмитрий Ковальский: Судя по вопросу рассматривается "сферический процессинг в вакууме". Tim Virtus: да, безусловно автор имел в виду не только 34.10-2012 и Стрибога, но и какие-то иностранные криптоалгоритмы. Почитайте про (кроме шуток) про 3DES - в бабломатах пока повсеместно он. AES/IDEА - тоже хорошо, но пока рано.
Tim Virtus: "сферический" - потому что нет единого стандарта по крипте. Реализаций того-же ГОСТа только ходовых штук 5. Все-же крипта это больше транспортная часть. На входе в процессинг приходит уже файл в некоем формате - вот он, этот формат, стандартный. А чем он там защищался при передаче - процессингу по большому счету до звезды.