LogoLogo
EN
EN
  • Release Summary
  • What's new in 5.0.23.04
  • Deprecated and Removed features in 5.0.23.01
  • Get started with Avalant ONEWEB
    • Get started with Avalant ONEWEB
    • Traditional Development vs Low Code
    • ONEWEB Concepts
      • ONEWEB Apps
      • ONEWEB AppSpace
      • ONEWEB Runtimes
      • ONEWEB Designer Studios
  • Install & Configure ONEWEB Platform
    • Install & Configure ONEWEB Platform
    • Plan your ONEWEB Installation
      • Design ONEWEB Architecture
        • Standalone Architecture
        • High Availability Architecture
        • Cloud Architecture
          • Container structure
        • Production vs. Disaster Recovery vs. Testing Environment
        • ONEWEB Server Configuration
        • Monitoring in ONEWEB
      • Sizing Consideration
        • CPU Sizing
        • Memory Sizing
        • Storage Sizing
        • Network Sizing
      • Check Prerequisite for ONEWEB Installation
        • Hardware Requirements
        • Software Requirements
        • Database Requirements
        • Security Requirements
        • Network Requirements
        • Client Requirements
        • Third-party Tools
    • Install and Manage ONEWEB Components
      • User Privileges
      • Prepare Prerequisite Software
        • Prepare Database Server
          • PostgreSQL
        • Prepare Web Server
          • Apache Web Server
        • Prepare Application Server
          • Configuration ONEWEB on Wildfly
            • Step1: Prepare database user permission
            • Step2: Configure access to Wildfly Management Console
            • Step3: Create database driver
            • Step 4: Create datasource
            • Step 5: Deploy the application archives
            • Step 6: Single Sign-On
            • Step 7: Wildfly Encoding and Undertow
            • Step 8: Authentication with Wildfly
            • Step 9: Authentication with LDAP
          • Configure tuning threads
      • Install ONEWEB Application Components
        • Install ONEWEB Application Designer
        • Install ONEWEB Application Server
        • Install ONEWEB Page Designer
        • Install ONEWEB Page Server
      • Install ONEWEB Process Components
        • Install ONEWEB Process Designer
        • Install ONEWEB Process Server
      • Install ONEWEB Integration Components
        • Install ONEWEB Microflow Designer
        • Install ONEWEB Microflow Server
        • Install ONEWEB IAM
      • Verify ONEWEB Installation
        • Application Verification
        • Process Verification
        • Integration Verification
  • Design and Develop ONEWEB Apps
    • Design ONEWEB Apps
      • Choose Between a Web App and a Mobile App
      • Choose your ONEWEB Design Patterns
        • UI Apps: UX/UI only
        • Process Apps Business Process only
        • Interface Apps: Integration with other system only
        • Complex Apps: Combine UX/UI, Business Process and Interfaces
    • Design and Develop UX/UI
      • What is UX/UI?
      • Best Practice for UX/UI
        • Do
        • Don’t
        • How to choose between Smart Form and Page
      • UX/UI Components
        • Smart Forms
          • What is Entity?
          • Modules within an entity
          • Buttons & Actions
          • Entity Modes
          • Smart Form Patterns
            • Single Tab Forms
            • Multiple Tab Forms (General Tab)
            • Parent – Child Forms
          • Create your first Smart Form
            • Step by Step to create your first smart form
            • Deploy your smart form
          • Smart Form Features
            • Universal Search
        • Pages
          • What is page?
          • Page Navigation
          • Page Features
            • Header Footer
            • Dynamic Image
            • Switch Language
            • Custom Font
            • Custom Icon
            • Pass Parameter
            • Signature Pad
            • Theme Designer
            • Local Storage in Page
            • Sync Service in Page
            • Local Notification in Page
            • Push Notification in Page
            • Multi-language
            • Splash Screen
            • Plugin
            • App Icon
            • PGD Directives
            • Charts
            • UI Kits
            • Component Extension
            • Share Pages as Template
            • Page Expression Editor
            • Page Structure window
            • Popup Properties Editor
            • Box Model Editor
            • Environment Variables
            • Improved Drag & Drop
            • Microflow Version settings
            • Custom Dependencies
            • Navbar
            • Display Flex
            • Builder setting
            • Add New Screen
          • Create your first Web Page
            • Step by Step to create your first page
            • Preview Web Page
          • Create your first Mobile App
            • Step by step to create your first mobile page
            • Preview Mobile App
            • Mobile App CI/CD
            • Customizing mobile apps
            • Mobile Application Security
        • Dashboard
          • Widget Dashboard
            • Step to create widget dashboard
              • Create dashboard page
              • Create dashboard menu
              • Create chart widget
              • Add widget on Page
              • Configure chart widget
              • Configure chart series
              • Edit chart series
              • Change the chart to pie chart
              • Change pie color
              • Add another series to chart
              • Change the chart to column stacked chart
              • Change series color
            • Deploy your dashboard
          • Dashboard using Page Extension
            • Add chart to page
            • Create Microflow
            • Integrate chart with data
        • Report
          • Integration with reporting tool
        • Menu & Navigation
          • Menu & Navigation in ONEWEB
          • Link menu to a smart form
          • Link menu to a page
          • Link menu to external URL
      • Mobile UX/UI
        • Web Responsive
          • Smart Form Responsive
          • Web Page Responsive
        • Mobile hybrid
        • Build Mobile App
          • Add CI Server
          • AppStore & Playstore Details
      • UX/UI Customization
        • Smart Form Customization
          • Customize Look & Feel
          • Add Validation Logic
          • Add Calculation Logic
          • Add Custom SQL
          • Add external Java class
        • Page Customization
          • Custom CSS
          • Custom JS action
          • Third party resources
          • Custom extensions
        • Mobile App
      • UX/UI Integration with Process, Micro flow, External UI
        • Smart Form Integration with Process
        • Page Integration with Microflow
        • Page Integration with Process
        • Smart Form Integration with Microflow
      • Import/Export/Clone UX/UI
        • Export Import Clone Smart Forms
          • Export Entity
          • Import Entity
          • Clone Entity
        • Export Import Clone in Pages
          • Export Import App
          • Clone Pages
          • Import page from another App
      • UX/UI Test & Debug guideline
    • Design and Develop Process
      • What is Process?
      • Best practice for Process Design
      • Process Components
        • What is Business Process?
        • Process Template Diagram
        • Process Activity
          • Human Task
            • Task Allocation & Queuing for Human Task
          • Gateway Decision
          • Web Service Task
          • Sub Process
          • Java Task
          • Database Task
          • File Read Task
          • File Input Task
          • Timer
          • Error Handling
          • Event Trigger
          • Push Notification
        • Business Object & Data Mapping
        • Formula Editor
          • Formula Editor for Data Mapping
          • Formula Editor for Gateway Condition
        • Work Party
        • Upload File
        • Environment Configuration
        • Process Instance
      • Start with Business Process in ONEWEB
        • Create a Process in ONEWEB
        • Create your process diagram
        • Simulate your process
        • Deploy your process
      • Integration
        • Integrate Process with UX/UI
        • Integrate Process with Microflow
      • Monitoring
        • Process Monitor
        • Task Monitoring
        • SLA & OLA
        • Monitoring Dashboard
      • Process Validation
      • Import/Export Process
      • Process Deployment from development environment to other environment
      • To Do List
      • Process Test & Debug Guideline
      • Language Switch
      • Process Instance Migration
      • Sync User
      • Custom Extensions
        • Create workspace for Extension
        • Build extension in workspace
        • Install Extension in application
        • Manage the extension
        • Use Extension in workflow
    • Integration with other systems
      • What is ONEWEB Integration?
        • Integrate with other system from/to Microflow
        • Integrate with other system from to Process Flow
        • Integrate with App Runtime
      • Best practice for ONEWEB Integration
      • Microflow vs. Process Flow
      • Develop Integration with ONEWEB Microflow
        • Embedded Microflow vs. Runtime Microflow Server
        • Integration Node
        • Synchronous vs. Asynchronouse
        • Data Mapping
        • Custom Logic/Coding
        • Data Transformation
        • Activity Nodes
          • Exclusive Gateway Node
          • Web Service Task
          • Sub Flow
          • Java Task
          • Database Task
          • Timer
          • Error Handling
          • Push Notification
        • Start with Microflow in ONEWEB
          • Create a Microflow
          • Configure the Flow
          • Simulate your flow
          • Export your Microflow.
            • Embedded Microflow
            • Microflow Server
        • Integrate Microflow with UX/UI
          • Integrate Smart Form with other systems using Microflow
          • Integrate Page with other systems using Microflow
        • Import/Export Microflow
        • Upload File
        • Environment Configuration
        • Language Switch
        • Push Notification
        • Custom Extensions
        • JSON Path Mapping
        • Excel Reader
        • Excel Writer
        • Validation Node
        • JavaScript Node
      • App Runtime REST API
        • Sample use cases for APP Runtime API
        • Create a custom app to call APP Runtime REST API
      • Process Runtime REST API
        • Sample use cases for Process API
    • Design Data & Content Access Management
      • What is Data Access Management?
      • Best practice for Data Access Management
      • Database Access
        • Database Structure
        • Data Access from UX/UI
          • Access Database from Smart Forms
          • Access Database from Page
        • Data Access from Process
          • Database Activity
        • Database Access from Microflow
          • Database Node
      • Images, Files & Documents Access
        • Access from UX/UI
        • Access from Process/ Microflow
    • Design and Implement Security & Compliance
      • What is Security & Compliance?
      • Best practice for Security & Compliance
      • Authentication
        • LDAP Integration
        • Open ID protocol
      • Authorization and Access control
        • Roles, Permissions and Objects
        • Managing Access Control with IAM
          • Create User
          • Manage User Roles & Permissions
          • Manage Permission and Object
          • Manage Role
      • Token in ONEWEB
      • Logging and Audit logging
      • SSL support
    • Design & Develop Low code Apps using AppSpace
      • Create Application in AppSpace
      • Database Tools
        • Data Designer
          • How to create Data Designer app
          • Data Designer tools
          • Entity Properties
          • Compare schemas
        • SQL Builder
          • How to create SQL Builder app
          • SQL Builder tools
          • Connection
        • Data Viewer
          • How to use Data Viewer
          • Data Viewer Tools
      • Manage versions of App
      • Pipeline
        • Deploy Application in ONEWEB
        • Deploy Middleware
        • User Management
        • Distribute Application
      • Manage user access
        • Development Team Management
        • End User Access Management
      • Switch language in AppSpace
      • Link Application
      • Link Component
      • App Details
        • Fix applications with broken link
        • Rename Application
        • Export Application
      • Import Application
      • Cloud Native
  • Sample Apps
    • Sample Apps
    • Workforce App. (Mobile)
      • Database Preparation
      • Create and Test Microflow Service
      • Integrate Microflow with UI to produce dynamic App.
      • Create Mobile UI
    • Order Management App (Web)
      • Database Preparation
      • App Designer
        • Create Order Request Entity
        • Create Order Request Item Entity for Admin
        • Clone Order Request Entity for Admin
        • Link Parent Child Entity for Admin
        • Clone Order Request Entity for Back Office
        • Clone Order Request Item Entity for Back Office
        • Link Parent Child Entity for Back Office
        • Clone Order Request Entity for Authorize
        • Clone Order Request Item Entity for Authorize
        • Link Parent Child Entity for Authorize
        • Clone Order Request Entity for Admin PO
        • Link process button to Process Designer
        • Create menu for requester
      • App Designer Customize
        • Filter Requester search screen by login user
        • Default Requester with login user
        • Validate at least one Order Item when submit
        • Calculate remain order unit
        • Summary Price per order item
        • Summary Price per request
        • Validate order details when back office submits
        • Validate supplier details when admin submit
        • Validate Order Unit and calculate Total Price
      • Process Designer
        • Create Order Request Project
    • Leave Control App
      • Database preparation
      • App Designer
        • Create Leave Request Entity
        • Clone Leave Request Requester Entity
        • Clone Leave Request Supervisor PM Entity
        • Clone Leave Request One Down Head Entity
        • Clone Leave Request HR Entity
        • Clone Leave Request Authorize Entity
        • Link process button to Process Designer
      • Process Designer
        • Create Process Leave Request
  • Reference
    • Reference
    • Page Designer Reference
      • Create a New Application
        • New Mobile Page
        • New Web Page
      • Menu Controls on Pages
        • Web Pages
        • Mobile Pages
      • Page Designer Tools
        • Generic Tools
          • Page Designer Parameter
          • Add element
          • Placing of element
          • Removing element
          • Editing Text
          • Formatting Text
          • Creating Links
          • Uploading Images
          • Add an Image to page
          • Additional Settings
        • Tab
          • Adding Tab on Web
          • Adding Tab on Mobile
        • Menu
          • Adding Menu on Mobile
    • Process Designer Reference
      • Create New Proces
        • Create an Application in AppSpace
        • Create an Application in PD
        • Create Blank Project
        • Create Project Wizard
        • Process template Diagram and Guidelines
      • Process Designer Component
        • Activity Nodes
          • Human
          • Sub Process
          • File Read
          • Web Service
          • Java
          • Database
          • File Write
          • Push Notification
        • Event
          • Start
          • End
          • File Input
        • Gateway
          • Exclusive
          • Parallel
          • Inclusive
        • Boundary Events
          • Timer
          • Error
        • Pool/Lane
        • Work Party
        • Upload File
        • Environment Configuration
        • Custom Extensions
          • Create workspace for Extension
          • Build extension in workspace
          • Install Extension in application
          • Manage the extension
          • Use Extension in workflow
    • App Designer Reference
      • Entity
        • Create New Entity
          • Module
            • One to Many
            • One to Many
            • Reusing Module
          • Fields
            • Label
            • Hidden
            • Radio
            • Checkbox
            • Text area
            • Dynamic
            • List Box
            • Suggestion
            • Popup
            • Calendar
            • No Object
            • MultiSelect
            • Upload
            • Text Box
          • Buttons
          • Actions
          • Tabs
            • Normal Tab
            • 2 Layer Tab
        • Export Entity
        • Import Entity
        • Clone Entity
      • Search
      • Utilities
        • Menu Configuration
        • Parent Child Utility
        • Master data Import Export
        • Datasource Configuration
  • API Guide
    • API Guide
    • App Runtime API
      • List all methods of REST API and explain the API functionality
    • Process Runtime API
      • List all methods of REST API and explain the API functionality
    • Session Manipulation API
      • List all methods of Java API and explain the API functionality
    • Microflow Runtime API
      • List all methods of REST API and explain the API functionality
    • IAM2 API
      • List all methods of REST API and explain the API functionality
Powered by GitBook
On this page
Export as PDF
  1. Design and Develop ONEWEB Apps
  2. Design and Implement Security & Compliance

What is Security & Compliance?

Last updated 3 years ago

Security is fundamentally about protecting assets, such as a Web page or your customer data in the database. As you analyze your infrastructure and applications, you identify potential threats and understand that each threat presents a degree of risk. Security is about risk management and implementing effective countermeasures.

The Foundations of Security Security relies on the following elements:

Authentication: "Who are you?" Authentication is the process of identifying the clients of your applications. These might be end-users, services, processes, or computers. Authenticated clients are referred to as principals.

Authorization: "What can you do?" Authorization is the process that governs the resources and operations that the authenticated client is permitted to access. Resources include files, databases, tables, rows, and system resources such as registry keys and configuration data. Operations include performing transactions such as CRUD operations.

Auditing Effective auditing and logging are the keys to non-repudiation, guarantee that a user cannot deny performing an operation.

Confidentiality Confidentiality is the process of making sure that data remains private and confidential, and that it cannot be viewed by unauthorized users or who monitor the traffic across a network. Encryption is frequently used to enforce confidentiality. Access control lists (ACLs) are another means of enforcing confidentiality.

Integrity Integrity is the guarantee that data is protected from accidental or malicious modification. Like privacy, integrity is a key concern, particularly for data passed across networks. Integrity for data in transit is typically provided by using hashing techniques and message authentication codes.

Availability Availability means that systems remain available for service users. The goal for many attackers is a denial of service and they attack to make sure that there are less than sufficient resources so that other users cannot access the application.

How to Build a Secure Web Application? It is not possible to design and build a secure Web application until you know your threats. An increasingly important discipline and one that is recommended to form part of your application's design phase is threat modeling. The purpose of threat modeling is to analyze your application's architecture and design and identify potentially vulnerable areas that may allow a user, perhaps mistakenly, or an attacker with malicious intent, to compromise your system's security.

After that, design with security by applying proven security principles. As developers, you must follow secure coding techniques to develop secure and robust solutions. The design and development of application layer software must be supported by a secure network, host, and application configuration on the servers where the application software is to be deployed.

A design approach to security

Securing Your Network The network infrastructure consists of routers, firewalls, and switches. The role of the secure network is not only to protect itself from TCP/IP-based attacks, but also to implement countermeasures such as secure administrative interfaces and strong passwords. The secure network is also responsible for ensuring the integrity of the traffic that it is forwarding. If you know at the network layer about ports, protocols, or communication that may be harmful, counter those potential threats at that layer.

Table: Network Component Categories [1]

Category

Description

Router

Routers are your outermost network ring. They channel packets to ports and protocols that your application needs. Common TCP/IP vulnerabilities are blocked at this ring.

Firewall

The firewall blocks those protocols and ports that the application does not use. Additionally, firewalls enforce secure network traffic by providing application-specific filtering to block malicious communications.

Switch

Switches are used to separate network segments. They are frequently overlooked or over-trusted.

Securing Your Host Secure a host, whether it is your Web server, application server, or database server, this guide breaks down the various secure configuration settings into separate categories. With this approach, you can focus on a specific category and review security, or apply security settings that relate to that specific category. When you install new software on your servers with this approach, you can evaluate the impact on your security settings. For example, you may address the following questions: Does the software create new accounts? Does the software add any default services? Who are the services running as? Are any new script mappings created?

Table: Host Configuration Categories [2]

Category

Description

Patches and Updates

Many top security risks exist because of vulnerabilities that are widely published and well known. When new vulnerabilities are discovered, exploit code is frequently posted on Internet bulletin boards within hours of the first successful attack. Patching and updating your server's software is the first step toward securing the server. If you do not patch and update your server, you are providing more potential opportunities for attackers and malicious code.

Services

The service set is determined by the server role and the applications it hosts. By disabling unnecessary and unused services, you quickly and easily reduce the attack surface area.

Protocols

To reduce the attack surface area and the avenues open to attackers, disable any unnecessary or unused network protocols.

Accounts

The number of accounts accessible from a server should be restricted to the necessary set of service and user accounts. Additionally, you should enforce appropriate account policies, such as mandating strong passwords.

Files and Directories

Files and directories should be secured with restricted NTFS permissions that allow access only to the necessary Microsoft Windows service and user accounts.

Shares

All unnecessary file shares, including the default administration shares if they are not required, should be removed. Secure the remaining shares with restricted NTFS permissions.

Ports

Services running on a server listen on specific ports to serve incoming requests. Open ports on a server must be known and audited regularly to make sure that an insecure service is not listening and available for communication. In the worst-case scenario, a listening port is detected that was not opened by an administrator.

Auditing and Logging

Auditing is a vital aid in identifying intruders or attacks in progress. Logging proves particularly useful as forensic information when determining how an intrusion or attack was performed.

Registry

Much of the security related settings are maintained in the registry. Secure the registry itself by applying restricted Windows ACLs and blocking remote registry administration.

Securing Your Application The top security issues across many Web applications, you would see a pattern of problems. By organizing these problems into categories, you can systematically tackle them. These problem areas are your application's vulnerability categories.

Table: Application Vulnerability Categories [3]

Category

Description

Input Validation

How do you know that the input that your application receives is valid and safe? Input validation refers to how your application filters, scrubs, or rejects input before additional processing.

Authentication

"Who are you?" Authentication is the process where an entity proves the identity of another entity, typically through credentials, such as a user name and password.

Authorization

"What can you do?" Authorization is how your application provides access controls for resources and operations.

Configuration Management

Who does your application run as? Which databases does it connect to? How is your application administered? How are these settings secured? Configuration management refers to how your application handles these operational issues.

Sensitive Data

Sensitive data refers to how your application handles any data that must be protected either in memory, over the wire, or in persistent stores.

Session Management

A session refers to a series of related interactions between a user and your Web application. Session management refers to how your application handles and protects these interactions.

Cryptography

How are you keeping secrets, secret (confidentiality)? How are you tamper-proofing your data or libraries (integrity)? How are you providing seeds for random values that must be cryptographically strong? Cryptography refers to how your application enforces confidentiality and integrity.

Parameter Manipulation

Form fields, query string arguments, and cookie values are frequently used as parameters for your application. Parameter manipulation refers to both how your application safeguards tampering of these values and how your application processes input parameters.

Exception Management

When a method call in your application fails, what does your application do? How much do you reveal? Do you return friendly error information to end users? Do you pass valuable exception information back to the caller? Does your application fail gracefully?

Auditing and Logging

Who did what and when? Auditing and logging refer to how your application records security-related events.

Summary An ever-increasing number of attacks target your application. They pass straight through your environment's front door using HTTP. The conventional fortress model and the reliance on firewall and host defenses are not sufficient when used in isolation. Securing your application involves applying security at three layers: the network layer, host layer, and the application layer. A secure network and host platform infrastructure is a must. Additionally, your applications must be designed and built using secure design and development guidelines following timeworn security principles.

References [1] Microsoft, "Microsoft Pattern & Practices proven practices for predictable results", Web Application Security Fundamentals, Chapter 1, Network Component Categories, Table 1.1: Avaliable: https://msdn.microsoft.com/en-us/library/ff648636.aspx#c01618429_008. [Accessed Nov 14, 2017]. [2] Microsoft, "Microsoft Pattern & Practices proven practices for predictable results", Web Application Security Fundamentals, Chapter 1, Rationale for Host Configuration Categories, Table 1.2: Avaliable: https://msdn.microsoft.com/en-us/library/ff648636.aspx#c01618429_008. [Accessed Nov 14, 2017]. [3] Microsoft, "Microsoft Pattern & Practices proven practices for predictable results", Web Application Security Fundamentals, Chapter 1, Application Vulnerability Categories, Table 1.3: Avaliable: https://msdn.microsoft.com/en-us/library/ff648636.aspx#c01618429_008. [Accessed Nov 14, 2017].

Figure: A design approach to security
Figure: Host security categories