Showing posts with label Project Management Resources. Show all posts
Showing posts with label Project Management Resources. Show all posts

Dec 30, 2008

Interconnecting Systems

Interconnecting Systems

Interconnecting systems are systems that are not primary to the business function of the project. Interconnecting systems are discussed when one business section sends information to another section or it may receive information from another business section. The following questions outline concerns that are related to interconnecting systems.

  • What other systems does this system connect to?
  • What other systems does this system depend upon?
  • What other data does this system depend upon being able to access?
  • What protocols are used to connect to the other systems or services?
  • Do protocols used to connect to other systems adequately protect data and does the use of them compromise the security of either system?
  • What process is used to send or receive data to or from other systems? (replication, scheduled batch (how often?), manual FTP, etc)
  • How is data formatted for sending?
  • How is data validated when it arrives at the receiving system? How is the receiving system sure that the source of the data is valid?
  • How often is data sent between the systems?
  • Will firewall rules be required to connect the systems? Will the required rules be allowed or will they compromise the security of the organization?
  • If the receiving system does not get its data, what is the effect on the business?
  • How is a failure of the systems' ability to connect detected and remedied?

Software/Code Writing

Software/Code Writing

Considerations of code writing include purchase of software, software compatibility, software standards, software quality, software testing, and software training (both for developers and users). To be secure, software must be written to set specifications, checked, and tested properly.

Off the Shelf Software Considerations

  • What operating system will be used?
  • Will the operating system support other software required whether purchased or developed?
  • What off the shelf software products will be used?
  • Is all purchased software legally licensed?
  • If a vendor is providing software, is all software provided by the vendor legally licensed?

Custom Software Requirements

  • What code must be written?
  • How much code is required?
  • What functionality must custom code provide?

Software Standards

Some software standards are listed here. Developers should be trained and understand required coding standards. They should also be able to spot flaws in code.

  • Are coding standards understood and enforced?
  • Are code checks done according to the Software Standards Specification?
  • Does code always check user input according to the Software Standards Specification?
  • Does code always check output to protect against harmful content according to the Software Standards Specification?
  • Are cookies used to store sensitive data?
  • Are the DOMAIN and PATH attributes used to restrict cookie access and prevent cross site scripting attacks?
  • Does the software check errors so unpredicted behavior does not occur when file access fails, registry access fails, database access fails, library file access fails or other failures occur according to the Software Standards Specification?
  • Are stored procedures used for database access?
  • Is code well modularized so related program functions are grouped together?
  • Is use of global data limited?
  • Is code documented according to the Software Standards Specification?
  • Does a code test plan exist?
  • Is unit testing performed during development?
  • Is testing against SQL injection attacks and buffer overflow attacks performed? Is the code tested to see what it does if it can't connect to the database, configuration files, or other required files?
  • Is time allowed for user acceptance testing and do users test and approve system tests before operation?

Hardware/Servers

Hardware/Servers

Hardware and server requirements are primarily dependent upon the required reliability and capacity of the business function. It will determine:

  • The processing power required by the servers.
  • Whether redundant servers should be provided in case one fails.
  • Whether servers should have fault tolerant hardware.
  • Whether backup power should be provided and the capacity of the backup power.
  • Security and availability needs will dictate how close the servers should be monitored for errors or intrusions.
  • Where backup media should be stored.

Questions that will help determine these requirements include:

  • How many systems will be required? Do systems such as web servers, application servers, or database servers support the system? Is the database on the same server as the web server?
  • Are the servers supporting the system redundant? Is there only one server providing the functionality? Does the business need require more redundancy?
  • Do the servers supporting the system have failure tolerant hardware such as RAID for disk storage and redundant power supplies?
  • Is there a documented installation process for servers including a hardening process?
  • Is anti-virus installed on the servers and is it kept updated?
  • Are system updates applied in a timely fashion? Is there an update process?
  • Are updates tested in a test environment to be sure they will not break server services in production?
  • Are servers monitored daily for errors or attempts to compromise the server? Are relevant logs, transaction logs, records, and reports monitored regularly?
  • What operating system and version will operate on each server?
  • Are servers and their data backed up? How often and what type of backup? (full, incremental)
  • What media are backups stored on? Is the media kept in a secure location?
  • Are backups tested to be sure data can be restored from them on a periodic basis such as monthly? How often?
  • Are the servers located in an environment with environmental controls, physical access control (require ID to enter and log access), and backup power?

Server Administrator Access

Server Administrator Access

Many of these same questions are found on the user interface requirements and application administrator pages but it is most important to consider the same questions for system administrators since they can access the entire system and may have access to multiple projects supported by that system.

  • How will administrators connect to the system?
  • What functions will administrators need to perform?
  • Will different roles be available to administrators so different groups will have different privileges?
  • How will the roles be defined, who will set them, and will the system prevent escalation of privileges?
  • What data will the administrators need to enter into the system?
  • What information will the administrators need to see?
  • How will the administrator be identified?
    • How will administrator accounts be created? Who authorizes account creation and the allowable privileges? Who creates the account?
    • How will administrator accounts be removed? If someone changes job roles are appropriate changes made? Who removes the accounts?
    • How are passwords reset? Is an administrator adequately identified when they request a password to be reset?
    • Is there an account management plan defining how accounts are created, deleted, suspended, or how passwords are reset? Does it define who authorized changes to accounts and how this is enforced?
    • When the administrator logs in is the account information that is sent to the server adequately encrypted or hashed?
    • How is administrator account information stored? Is it encrypted adequately?
    • What protocol is used to authenticate the administrator? (Windows Domain, Novell)
    • How are privileges controlled? By the operating system or other method?
  • Should account activities (logins, logoff, execution of privileges) be logged or monitored?
  • If administrator activities are logged, can accounts be deleted? Accounts may not be deleted but only suspended if administrator activities are logged.

Other Account Access

  • Access from the application to the database - What protocol is used? Are the login credentials encrypted?
  • Service account access - Used to exchange data between servers usually at specified times. - What protocol is used? Are the login credentials encrypted?

Popular Posts