Please enable JavaScript.
Coggle requires JavaScript to display documents.
BLOCK 4 - Coggle Diagram
BLOCK 4
-
Part 6: System Security
-
broken authentication
weak passwords, regenerate session IDs
-
-
-
-
-
-
-
-
Secure Configuration
-
-
-
-
No general-purpose user accounts should exist, and for the accounts that do exist, they should have strong passwords.
-
-
-
The following data should be recorded:
- URL
- HTTP method
IP of requesting computer
- page requested
- name and version of page sent by server
- size of file sent
- time taken to process request
-
-
-
Users need permission to read, write, modify, execute stored content. The OS uses the access control list (ACL) which contains all user permissions, to manage this.
Users are placed into groups, and then the groups have certain permissions. This makes managing permissions easier.
Even normal users who are browsing a web app are required to be placed into a group, the 'Anonymous' group, and which have their own permissions.
-
Apache
doc root
-
-
on request, apache will append URL-path to doc root path
to change the doc root allows for easy way to alter where web files are stored. The requesting client can still use the same URL, its just that apache's config will need to have the doc root that is wanted.
directory directive
access rules for internet users are specified by the 'Directory' directive in the apache config file
-
-
Asymmetric encryption (public key): use a pair of keys.
Anything encrypted with private key can be decrypted with public key (vice versa).
example - encrypt message with Alice's public key, then send her the message. She can decrypt with her private key.
-
- Domain name + Public key combo are made by server admin.
- This is sent to the CA to check if Authentic.
- If found to be an authentic combo, CA signs request with privK.
- This is the certificate, and it is given back to the original serrver admin.
- The certificate is then added to the web server config.
Certs are used to validate that client is connecting to intended domain. HTTPS security model includes certs for this reason.
There are a bunch of CA authorities that are considered safe by browsers, they are part of the public key infrastructure (PKI).
authentication is related to identification. Some methods rely on...(factors of authentication - e.g. 2fa)
-
-
something you have
physical object, passport/cell phone auth app
Basic auth
-
-
once entered, credentials are sent to server for validation.
encoding used is called Base64, and allows 8 bit data to be presented in 7-bit ASCII characters.
encoding is not encryption, so this data must be sent over HTTPS to be considered secure.
Digest Authentication
-
-
- User attempts to access page - gets unauthorised message.
- Server responds with unique nonce.
- Browser responds with username + hash of password combined with nonce.
- Server extracts username from response, looks up password in its database, then runs MD5 hash function on that password + the nonce.
- If hash values are equal, then client is granted access.
authorisation relates to permissions. Once a user is authenticated, they are often authorised to access certain directories.
-
Part 4: System Testing
-
Life Cycle
1. Unit tests
-
-
for web development, this should be covered in unit test phase:
- html validation
- css validation
- forms
- internal hyperlinks
- client-side objects and functions
- server-side objects and functions
- database queries
2. Integration tests
verifies that units work well together. This means testing functionality, usability, browser compatibility and accessibility
-
-
4. System tests
Test on hardware, check interoperability
-
Once test environment is set up, performance tests can commence
Performance tests
load test: apply load to system, check results
-
-
-
-
-
Part 3: Managing Assets
Each asset has a version, but so does the application as a whole (a release).
Tracking Changes
Repository timeline
- Repository with files created.
- Files 'checked out'. I.e. Files are extracted from the repository. These files are called the working copy.
- The working copy is modified.
- Once the modifications are finished, they are 'committed', meaning they are sent back to the working copy. The changes made to the original repository are logged.
Each time the repository is updated with a new working copy, a new revision, or version number is created.
Labelling a special copy of the repository that has significance, like a copy that is sent to the client.
-
Is nice to use for when the entire application is tested. A tagged repository could represent a 'complete' version of the software.
- There is a main repo with all assets. A branch is a parallel stream to that.
- Dev will 'branch off' and work on a different snapshot (version) of the repo (although, there is still only one main repo).
- Later, when work on the branch is done, it will be merged with the main 'trunk.'
-
-
Vocabulary
-
merge: When a branch is updated with changes from the trunk, or vice versa.
-
-