IBM i — это надежная и надежная операционная среда. Он по-прежнему используется многими организациями сегодня, особенно для приложений с большим объемом данных.

За прошедшие годы предприятия в значительной степени адаптировали приложения IBM i в соответствии со своими бизнес-процессами.

Однако большинство этих приложений работают в формате кода RPG, который выводит изображение на монолитные зеленые экраны с разрешением 5250 пикселей. Эти экраны резко контрастируют с ожиданиями современного программного обеспечения.

Хотя зеленые экраны 5250 эффективны, они не обеспечивают богатого пользовательского интерфейса, который требуется пользователям от современных программных приложений. Кроме того, из-за пробелов в знаниях и сокращения кадрового резерва разработчиков IBM i большинство организаций работают на нескольких вычислительных системах.

Как правило, у них есть отдельная команда разработчиков IBM i, изолированная от разработчиков, работающих над другими вычислительными системами. Это также усложняет интеграцию данных и приложений в организациях, использующих IBM i.

Платформа Microsoft .NET Framework может решить эти проблемы, позволяя разрабатывать Windows-приложения или веб-приложения, которые легко интегрируются с IBM i.

Приложения Microsoft .NET Framework предоставляют конечным пользователям богатый графический интерфейс, который интегрируется с базами данных IBM i, а также с существующими программами RPG и COBOL и хранимыми процедурами.

Хотя технология .NET обеспечивает прочную основу для создания современных графических приложений IBM i, безопасность всегда остается проблемой, когда речь идет о разработке приложений IBM i .NET.

В этой статье вы узнаете, как модернизировать свой IBM i, создавая безопасные приложения .NET.

Чем безопасность IBM i .NET отличается от безопасности других приложений IBM i?

Большинство приложений IBM i используют защиту на уровне меню. Именно здесь код в приложении управляет правами доступа для разных типов пользователей одного и того же приложения. Однако механизмы доступа к данным, такие как ADO.NET и поставщик данных .NET, не подпадают под те же ограничения на уровне меню, что и приложения на основе 5250.

Это не означает, что доступ .NET к IBM i небезопасен. Это просто означает, что доступ к .NET контролируется собственной системой безопасности IBM i на уровне объектов, а не системой безопасности на уровне меню. Это фундаментальное отличие подчеркивает важность планирования и реализации безопасности на уровне объектов IBM i.

Механизм проверки подлинности, используемый приложением .NET, является еще одним важным аспектом безопасности. Чтобы получить доступ к ресурсам IBM i, приложениям .NET необходимо предоставить идентификационную информацию для IBM i.

Приложения, использующие ADO.NET и IBM UDB .NET Data Provider, могут использовать аутентификацию, предоставляемую приложением, или встроенную аутентификацию Windows.

Аутентификация, предоставляемая приложением, передает информацию в IBM i с помощью строки подключения. К сожалению, это не самый безопасный подход. Это связано с тем, что соединение передает профили пользователей и пароли в легко перехватываемом текстовом формате.

Хотя аутентификация, предоставляемая приложением, может быть приемлемой для приложений в частных внутренних сетях, она не подходит для приложений, использующих общедоступные сети. Вы должны шифровать соединения общедоступной сети с IBM i с помощью SSL или других технологий шифрования.

В качестве альтернативы встроенная безопасность Windows обеспечивает гораздо более надежную сетевую безопасность. Он никогда не передает информацию аутентификации по сети в виде обычного текста. Встроенная безопасность Windows отправляет запросы проверки подлинности, используя текущий маркер безопасности пользователя.

Это гораздо более безопасный метод, поскольку необработанная информация аутентификации никогда не появляется в сети. Однако этот метод защиты требует совпадения ИД пользователей и паролей как в клиентском приложении Windows, так и на сервере IBM i.

Как защитить приложения IBM i .NET?

Многоуровневый подход к обеспечению безопасности — лучший способ защитить ваши приложения IBM i .NET. Многоуровневая система безопасности лучше защищает данные вашего приложения, обеспечивая более детализированную и управляемую реализацию безопасности. Во-первых, на уровне сетевой аутентификации вы можете воспользоваться встроенной системой безопасности Windows.

Затем на транспортном уровне вы используете шифрование данных для защиты содержимого потока данных между клиентским приложением .NET и IBM i. Наконец, шифрование потока данных предотвращает перехват информации аутентификации пользователя приложения и защищает обмен данными между клиентом и сервером.

Безопасность на уровне объектов и принцип наименьших привилегий

На уровне сервера обязательно используйте защиту на уровне объектов IBM i, чтобы ограничить доступ пользователей к объектам, которые необходимы только для выполнения их задач. Это «принцип наименьших привилегий». Если уязвимость безопасности все же возникает, ограниченный доступ ограничивает доступ злоумышленника к объектам, которые пользователь приложения имеет право использовать. Это предотвращает доступ злоумышленника к любым другим объектам системы.

Еще одним примером реализации принципа наименьших привилегий в приложении IBM i .NET является использование принятых IBM i полномочий для ограничения прямого доступа пользователей ко всем базовым таблицам и разрешения доступа только к набору хранимых процедур или программ доступа к данным.

Затем системные объекты могут использовать принятые права доступа для доступа к таблицам базовых данных.

При таком подходе у пользователя нет прямого доступа к каким-либо системным объектам, кроме хранимых процедур, используемых для доступа к данным. Хранимые процедуры или программы доступа к данным используют права IBM i, принятые для доступа к базовым таблицам, используемым приложением.

Это помогает предотвратить атаки SQL-инъекций или другие уязвимости, которые перехватывают учетные данные конечного пользователя для доступа к несанкционированным системным данным.

Атаки с внедрением SQL основаны на вводе злоумышленником данных неожиданных команд SQL в поля ввода данных приложения. Если соединение и приложение скомпрометированы, злоумышленник получает доступ только к хранимым процедурам на уровне доступа к данным. У них нет прав доступа к данным приложения или другим объектам системы.

Проверка ввода

Крайне важно убедиться, что вы правильно проверяете все поля ввода на уровне приложения. Хотя вы можете рассматривать проверку входных данных как меру целостности данных, это также важная мера безопасности.

Надлежащая проверка данных гарантирует, что все данные, отправляемые в базу данных, соответствуют бизнес-требованиям организации. Он также не позволяет хакерам выполнять атаки в стиле SQL-инъекций.

Проверка ввода блокирует эти атаки. Это гарантирует, что любые данные, используемые приложением, соответствуют ожидаемым требованиям к типу данных. Вы также должны проверить все данные в своем приложении, чтобы убедиться, что они соответствуют ожидаемому типу данных, содержат только ожидаемые символы и не выходят за пределы длины и значения.

Кроме того, рассмотрите возможность добавления в приложение алгоритмов шифрования для защиты важных элементов данных, таких как номера кредитных карт, которые вы можете хранить в своей базе данных IBM i.

Как можно подключить приложения .NET к ресурсам IBM i?

Для доступа к ресурсам IBM i из графического пользовательского интерфейса приложений .NET вам потребуется ПО промежуточного слоя IBM i. LANSA Open for .NET — мощное промежуточное ПО.

Это также подключаемый модуль Visual Studio, который позволяет разработчикам Windows получать доступ к ресурсам IBM i (AS/400, iSeries) (включая данные и программы) непосредственно из своих приложений .NET. Он также обеспечивает простую интеграцию между IBM i и .NET.

Благодаря LANSA Open for .NET ИТ-отделы могут безопасно открывать свои данные и приложения IBM i для внутренних и внешних приложений .NET. Самое главное, они также могут делать это, не рискуя безопасностью или целостностью данных. В результате улучшается качество обслуживания клиентов или сотрудников.

Как вы можете модернизироваться с помощью LANSA Open for .NET

Приложения .NET работают в графическом пользовательском интерфейсе. С помощью LANSA Open for .NET вы можете обновить свои зеленые экраны, чтобы использовать графический интерфейс пользователя .NET. Другие преимущества этого решения включают, но не ограничиваются следующим:

Совместная работа .NET и IBM i

Это решение позволяет разрушить разрозненность приложений и добиться единой достоверной версии. Этого можно добиться, позволив .NET и IBM i совместно обмениваться данными в реальном времени и автоматизировать бизнес-процессы. Вы также можете исключить синхронизацию между платформами Windows и IBM i.

Контролируемый доступ к данным IBM i из .NET

С помощью LANSA Open for .NET ИТ-отделы могут безопасно открывать свои корпоративные данные IBM i для различных внутренних и внешних приложений, не рискуя безопасностью или целостностью данных. Механизм бизнес-правил LANSA также обеспечивает логику проверки и гарантирует, что неприемлемые данные никогда не попадут в базу данных.

Быстрая передача данных и информации

LANSA Open для .NET реализует собственный доступ к данным Db2 на уровне записей через зашифрованное безопасное соединение. Использование встроенного доступа на уровне записей также означает, что приложения .NET могут быстро работать с большими объемами данных Db2, используя преимущества мощных возможностей обработки данных IBM i.

Более надежная защита IBM i от .NET

DLL среды выполнения LANSA Open for .NET также шифрует и сжимает данные во время передачи между клиентом и сервером. В целом, это защищает конфиденциальные данные от компрометации, отправляя их по сети с использованием стандартных отраслевых стандартов DES или Twofish.

Упрощение управления ресурсами команд разработчиков

Упростите управление разрозненными группами разработчиков и многоплатформенными проектами за счет совместного использования ресурсов между смешанными средами разработки .NET и RPG, а также средами разработки COBOL. С LANSA Open вы можете повторно использовать одну и ту же корпоративную бизнес-логику, правила проверки, а также расчеты.

Готовы ли вы создавать безопасные приложения .NET для модернизации вашего IBM i?

Технология Microsoft.NET предоставляет производительный и мощный набор инструментов для разработки графических приложений IBM i.

Хотя LANSA Open обеспечивает безопасное и бесшовное соединение между приложениями .NET и данными IBM i, разработка приложений корпоративного уровня также требует внимания к реальным проблемам разработки приложений, таким как безопасность.

Рекомендации, представленные в этой статье, помогут обеспечить соответствие приложений IBM i .NET требованиям безопасности вашей организации.

Также опубликовано на https://lansa.com/blog/ibm-i-modernization/everything-you-need-to-build-secure-net-apps-for-ibm-i/.