ಕಂಟೆಂಟ್ ಸೆಕ್ಯುರಿಟಿ ಪಾಲಿಸಿ (CSP) ಮತ್ತು ಇತರ ಫ್ರಂಟ್ ಎಂಡ್ ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳ ಬಗ್ಗೆ ಒಂದು ಸಮಗ್ರ ಮಾರ್ಗದರ್ಶಿ. ಇದು ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ದಾಳಿಯಿಂದ ರಕ್ಷಿಸಿ ಜಾಗತಿಕವಾಗಿ ಬಳಕೆದಾರರ ಭದ್ರತೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ.
ಫ್ರಂಟ್ ಎಂಡ್ ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಸ್: ಕಂಟೆಂಟ್ ಸೆಕ್ಯುರಿಟಿ ಪಾಲಿಸಿಯಲ್ಲಿ (CSP) ಪ್ರಾವೀಣ್ಯತೆ
ಇಂದಿನ ಡಿಜಿಟಲ್ ಯುಗದಲ್ಲಿ, ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಹೆಚ್ಚು ಸಂಕೀರ್ಣ ಮತ್ತು ಪರಸ್ಪರ ಸಂಪರ್ಕ ಹೊಂದಿರುವುದರಿಂದ, ಭದ್ರತಾ ಬೆದರಿಕೆಗಳಿಂದ ರಕ್ಷಿಸಿಕೊಳ್ಳುವುದು ಅತ್ಯಂತ ಮುಖ್ಯವಾಗಿದೆ. ಬ್ಯಾಕೆಂಡ್ ಭದ್ರತೆಗೆ ಹೆಚ್ಚಿನ ಗಮನ ನೀಡಲಾಗುತ್ತದೆಯಾದರೂ, ಫ್ರಂಟ್ ಎಂಡ್ ಭದ್ರತೆಯೂ ಅಷ್ಟೇ ಪ್ರಮುಖವಾಗಿದೆ. ಫ್ರಂಟ್ ಎಂಡ್ ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳು ಮೊದಲ ರಕ್ಷಣಾ ಗೋಡೆಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ, ಬ್ರೌಸರ್ಗೆ ಹೇಗೆ ವರ್ತಿಸಬೇಕು ಮತ್ತು ಬಳಕೆದಾರರನ್ನು ವಿವಿಧ ದಾಳಿಗಳಿಂದ ಹೇಗೆ ರಕ್ಷಿಸಬೇಕು ಎಂಬುದರ ಕುರಿತು ಸೂಚನೆಗಳನ್ನು ನೀಡುತ್ತವೆ. ಈ ಹೆಡರ್ಗಳ ಪೈಕಿ, ಕಂಟೆಂಟ್ ಸೆಕ್ಯುರಿಟಿ ಪಾಲಿಸಿ (CSP) ವ್ಯಾಪಕವಾದ ಅಪಾಯಗಳನ್ನು ತಗ್ಗಿಸಲು ಒಂದು ಪ್ರಬಲ ಸಾಧನವಾಗಿ ಎದ್ದು ಕಾಣುತ್ತದೆ.
ಫ್ರಂಟ್ ಎಂಡ್ ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳು ಎಂದರೇನು?
ಫ್ರಂಟ್ ಎಂಡ್ ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳು ಎಂದರೆ ವೆಬ್ ಸರ್ವರ್ ಬ್ರೌಸರ್ಗೆ ಕಳುಹಿಸುವ HTTP ಪ್ರತಿಕ್ರಿಯೆ ಹೆಡರ್ಗಳಾಗಿವೆ. ಈ ಹೆಡರ್ಗಳು ಬ್ರೌಸರ್ ತಾನು ಸ್ವೀಕರಿಸಿದ ವಿಷಯವನ್ನು ಹೇಗೆ ನಿರ್ವಹಿಸಬೇಕು ಎಂಬುದರ ಕುರಿತು ಸೂಚನೆಗಳನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಇವು ಈ ಕೆಳಗಿನ ಸಾಮಾನ್ಯ ದಾಳಿಗಳನ್ನು ತಡೆಯಲು ಸಹಾಯ ಮಾಡುತ್ತವೆ:
- ಕ್ರಾಸ್-ಸೈಟ್ ಸ್ಕ್ರಿಪ್ಟಿಂಗ್ (XSS): ವಿಶ್ವಾಸಾರ್ಹ ವೆಬ್ಸೈಟ್ಗಳಿಗೆ ದುರುದ್ದೇಶಪೂರಿತ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಸೇರಿಸುವುದು.
- ಕ್ಲಿಕ್ಜಾಕಿಂಗ್: ಬಳಕೆದಾರರು ತಾವು ಗ್ರಹಿಸಿದ್ದಕ್ಕಿಂತ ಬೇರೆಯದನ್ನು ಕ್ಲಿಕ್ ಮಾಡುವಂತೆ ಮೋಸಗೊಳಿಸುವುದು.
- ಮ್ಯಾನ್-ಇನ್-ದ-ಮಿಡಲ್ ಅಟ್ಯಾಕ್ಸ್: ಬಳಕೆದಾರ ಮತ್ತು ಸರ್ವರ್ ನಡುವಿನ ಸಂವಹನವನ್ನು ತಡೆಯುವುದು.
ಕೆಲವು ಪ್ರಮುಖ ಫ್ರಂಟ್ ಎಂಡ್ ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳು ಈ ಕೆಳಗಿನಂತಿವೆ:
- ಕಂಟೆಂಟ್ ಸೆಕ್ಯುರಿಟಿ ಪಾಲಿಸಿ (CSP): ಬ್ರೌಸರ್ ಯಾವ ಮೂಲಗಳಿಂದ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಅನುಮತಿಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ.
- ಸ್ಟ್ರಿಕ್ಟ್-ಟ್ರಾನ್ಸ್ಪೋರ್ಟ್-ಸೆಕ್ಯುರಿಟಿ (HSTS): ವೆಬ್ಸೈಟ್ನೊಂದಿಗಿನ ಎಲ್ಲಾ ಸಂವಹನಕ್ಕಾಗಿ HTTPS ಅನ್ನು ಬಳಸಲು ಬ್ರೌಸರ್ ಅನ್ನು ಒತ್ತಾಯಿಸುತ್ತದೆ.
- X-ಫ್ರೇಮ್-ಆಪ್ಷನ್ಸ್: ವೆಬ್ಸೈಟ್ ಅನ್ನು iframe ನಲ್ಲಿ ಎಂಬೆಡ್ ಮಾಡುವುದನ್ನು ತಡೆಯುತ್ತದೆ, ಕ್ಲಿಕ್ಜಾಕಿಂಗ್ ದಾಳಿಗಳನ್ನು ತಗ್ಗಿಸುತ್ತದೆ.
- X-XSS-ಪ್ರೊಟೆಕ್ಷನ್: ಬ್ರೌಸರ್ನ ಅಂತರ್ನಿರ್ಮಿತ XSS ಫಿಲ್ಟರ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. (ಗಮನಿಸಿ: ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ CSP ಬದಲಾಯಿಸುತ್ತದೆ ಆದರೆ ಇನ್ನೂ ಒಂದು ಹಂತದ ರಕ್ಷಣೆಯನ್ನು ನೀಡಬಲ್ಲದು).
- ರೆಫರರ್-ಪಾಲಿಸಿ: ವಿನಂತಿಗಳೊಂದಿಗೆ ಕಳುಹಿಸಲಾದ ರೆಫರರ್ ಮಾಹಿತಿಯ ಪ್ರಮಾಣವನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ.
- ಫೀಚರ್-ಪಾಲಿಸಿ (ಈಗ ಪರ್ಮಿಷನ್ಸ್-ಪಾಲಿಸಿ): ಡೆವಲಪರ್ಗಳಿಗೆ ಬ್ರೌಸರ್ ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು API ಗಳನ್ನು ಆಯ್ದುಕೊಂಡು ಸಕ್ರಿಯಗೊಳಿಸಲು ಮತ್ತು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಅನುಮತಿಸುತ್ತದೆ.
ಕಂಟೆಂಟ್ ಸೆಕ್ಯುರಿಟಿ ಪಾಲಿಸಿ (CSP) ಬಗ್ಗೆ ಆಳವಾದ ನೋಟ
ಕಂಟೆಂಟ್ ಸೆಕ್ಯುರಿಟಿ ಪಾಲಿಸಿ (CSP) ಒಂದು HTTP ಪ್ರತಿಕ್ರಿಯೆ ಹೆಡರ್ ಆಗಿದ್ದು, ಇದು ಒಂದು ನಿರ್ದಿಷ್ಟ ಪುಟಕ್ಕೆ ಬಳಕೆದಾರ ಏಜೆಂಟ್ (user agent) ಯಾವ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಅನುಮತಿಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ. ಇದು ಮೂಲಭೂತವಾಗಿ ಅನುಮೋದಿತ ವಿಷಯದ ಮೂಲಗಳನ್ನು ವೈಟ್ಲಿಸ್ಟ್ ಮಾಡುತ್ತದೆ, ಇದರಿಂದ XSS ದಾಳಿಗಳ ಅಪಾಯವನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಸ್ಕ್ರಿಪ್ಟ್ಗಳು, ಸ್ಟೈಲ್ಶೀಟ್ಗಳು, ಚಿತ್ರಗಳು, ಮತ್ತು ಫಾಂಟ್ಗಳಂತಹ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಯಾವ ಮೂಲಗಳಿಂದ ಲೋಡ್ ಮಾಡಬಹುದು ಎಂಬುದನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸುವ ಮೂಲಕ, CSP ದಾಳಿಕೋರರಿಗೆ ನಿಮ್ಮ ವೆಬ್ಸೈಟ್ಗೆ ದುರುದ್ದೇಶಪೂರಿತ ಕೋಡ್ ಅನ್ನು ಸೇರಿಸುವುದನ್ನು ಹೆಚ್ಚು ಕಷ್ಟಕರವಾಗಿಸುತ್ತದೆ.
CSP ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ
CSP ಯು ಬ್ರೌಸರ್ಗೆ ವಿವಿಧ ರೀತಿಯ ವಿಷಯಗಳಿಗಾಗಿ ಅನುಮೋದಿತ ಮೂಲಗಳ ಪಟ್ಟಿಯನ್ನು ಒದಗಿಸುವ ಮೂಲಕ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಬ್ರೌಸರ್ CSP ಯನ್ನು ಉಲ್ಲಂಘಿಸುವ ಸಂಪನ್ಮೂಲವನ್ನು ಎದುರಿಸಿದಾಗ, ಅದು ಆ ಸಂಪನ್ಮೂಲವನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತದೆ ಮತ್ತು ಉಲ್ಲಂಘನೆಯನ್ನು ವರದಿ ಮಾಡುತ್ತದೆ. ಈ ನಿರ್ಬಂಧಿಸುವ ಕಾರ್ಯವಿಧಾನವು ದುರುದ್ದೇಶಪೂರಿತ ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದನ್ನು ತಡೆಯುತ್ತದೆ, ದಾಳಿಕೋರ ಅದನ್ನು HTML ಗೆ ಸೇರಿಸಲು ಯಶಸ್ವಿಯಾದರೂ ಸಹ.
CSP ನಿರ್ದೇಶನಗಳು
CSP ನಿರ್ದೇಶನಗಳು CSP ಪಾಲಿಸಿಯ ಪ್ರಮುಖ ಅಂಶಗಳಾಗಿವೆ. ಅವು ವಿವಿಧ ರೀತಿಯ ಸಂಪನ್ಮೂಲಗಳಿಗಾಗಿ ಅನುಮತಿಸಲಾದ ಮೂಲಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತವೆ. ಕೆಲವು ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸಲಾಗುವ ನಿರ್ದೇಶನಗಳು ಇಲ್ಲಿವೆ:
- default-src: ಎಲ್ಲಾ ಸಂಪನ್ಮೂಲ ಪ್ರಕಾರಗಳಿಗೆ ಡೀಫಾಲ್ಟ್ ಮೂಲವನ್ನು ಹೊಂದಿಸುತ್ತದೆ. ಇದು ಇತರ ನಿರ್ದಿಷ್ಟ ನಿರ್ದೇಶನಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸದಿದ್ದಾಗ ಅನ್ವಯವಾಗುವ ಒಂದು ಫಾಲ್ಬ್ಯಾಕ್ ನಿರ್ದೇಶನವಾಗಿದೆ.
- script-src: JavaScript ಗಾಗಿ ಅನುಮತಿಸಲಾದ ಮೂಲಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
- style-src: CSS ಸ್ಟೈಲ್ಶೀಟ್ಗಳಿಗಾಗಿ ಅನುಮತಿಸಲಾದ ಮೂಲಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
- img-src: ಚಿತ್ರಗಳಿಗಾಗಿ ಅನುಮತಿಸಲಾದ ಮೂಲಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
- font-src: ಫಾಂಟ್ಗಳಿಗಾಗಿ ಅನುಮತಿಸಲಾದ ಮೂಲಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
- media-src: ಆಡಿಯೋ ಮತ್ತು ವಿಡಿಯೋಗಾಗಿ ಅನುಮತಿಸಲಾದ ಮೂಲಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
- object-src: Flash ನಂತಹ ಪ್ಲಗಿನ್ಗಳಿಗಾಗಿ ಅನುಮತಿಸಲಾದ ಮೂಲಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. (ಸಾಧ್ಯವಾದರೆ ಪ್ಲಗಿನ್ಗಳನ್ನು ಅನುಮತಿಸುವುದನ್ನು ತಪ್ಪಿಸುವುದು ಉತ್ತಮ).
- frame-src: ಫ್ರೇಮ್ಗಳಿಗಾಗಿ (iframes) ಅನುಮತಿಸಲಾದ ಮೂಲಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
- connect-src: ನೆಟ್ವರ್ಕ್ ವಿನಂತಿಗಳಿಗಾಗಿ (AJAX, WebSockets) ಅನುಮತಿಸಲಾದ ಮೂಲಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
- base-uri:
<base>ಎಲಿಮೆಂಟ್ನಲ್ಲಿ ಬಳಸಬಹುದಾದ URL ಗಳನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತದೆ. - form-action: ಫಾರ್ಮ್ಗಳನ್ನು ಯಾವ URL ಗಳಿಗೆ ಸಲ್ಲಿಸಬಹುದು ಎಂಬುದನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತದೆ.
- frame-ancestors:
<frame>,<iframe>,<object>,<embed>, ಅಥವಾ<applet>ಬಳಸಿ ಪುಟವನ್ನು ಎಂಬೆಡ್ ಮಾಡಬಹುದಾದ ಮಾನ್ಯ ಪೋಷಕರನ್ನು (parents) ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ಈ ನಿರ್ದೇಶನವು ಕ್ಲಿಕ್ಜಾಕಿಂಗ್ನಿಂದ ರಕ್ಷಣೆ ನೀಡುತ್ತದೆ. - upgrade-insecure-requests: ಬಳಕೆದಾರ ಏಜೆಂಟ್ಗಳಿಗೆ ಸೈಟ್ನ ಎಲ್ಲಾ ಅಸುರಕ್ಷಿತ URL ಗಳನ್ನು (HTTP ಮೂಲಕ ಲೋಡ್ ಆದ) ಸುರಕ್ಷಿತ URL ಗಳೊಂದಿಗೆ (HTTPS ಮೂಲಕ ಲೋಡ್ ಆದ) ಬದಲಾಯಿಸಲಾಗಿದೆ ಎಂದು ಪರಿಗಣಿಸಲು ಸೂಚಿಸುತ್ತದೆ. ಈ ನಿರ್ದೇಶನವು HTTP ಯಿಂದ HTTPS ಗೆ ವಲಸೆ ಹೋಗುವ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿರುವ ವೆಬ್ಸೈಟ್ಗಳಿಗಾಗಿ ಉದ್ದೇಶಿಸಲಾಗಿದೆ.
- report-uri: CSP ಉಲ್ಲಂಘನೆಗಳ ಬಗ್ಗೆ ಬ್ರೌಸರ್ ವರದಿಗಳನ್ನು ಕಳುಹಿಸಬೇಕಾದ URL ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. `report-to` ಪರವಾಗಿ ಇದನ್ನು ಬಳಕೆಯಿಂದ ತೆಗೆದುಹಾಕಲಾಗಿದೆ.
- report-to: `Report-To` ಹೆಡರ್ನಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಗುಂಪಿನ ಹೆಸರನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ಇದು ವರದಿ ಮಾಡುವಿಕೆಯ ಮೇಲೆ ಉತ್ತಮ ನಿಯಂತ್ರಣವನ್ನು ಅನುಮತಿಸುತ್ತದೆ, ಇದರಲ್ಲಿ ಬಹು ವರದಿ ಮಾಡುವ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವುದು ಸೇರಿದೆ.
CSP ಮೂಲ ಮೌಲ್ಯಗಳು
ಮೂಲ ಮೌಲ್ಯಗಳು ಯಾವ ಮೂಲಗಳಿಂದ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಅನುಮತಿಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತವೆ. ಕೆಲವು ಸಾಮಾನ್ಯ ಮೂಲ ಮೌಲ್ಯಗಳು ಇಲ್ಲಿವೆ:
- *: ಯಾವುದೇ ಮೂಲದಿಂದ ವಿಷಯವನ್ನು ಅನುಮತಿಸುತ್ತದೆ (ಪ್ರೊಡಕ್ಷನ್ನಲ್ಲಿ ಇದನ್ನು ಬಳಸುವುದನ್ನು ತಪ್ಪಿಸಿ!).
- 'self': ಸಂರಕ್ಷಿತ ಡಾಕ್ಯುಮೆಂಟ್ನ ಅದೇ ಮೂಲದಿಂದ (ಸ್ಕೀಮ್, ಹೋಸ್ಟ್, ಮತ್ತು ಪೋರ್ಟ್) ವಿಷಯವನ್ನು ಅನುಮತಿಸುತ್ತದೆ.
- 'none': ಯಾವುದೇ ಮೂಲದಿಂದ ವಿಷಯವನ್ನು ಅನುಮತಿಸುವುದಿಲ್ಲ.
- 'unsafe-inline': ಇನ್ಲೈನ್ JavaScript ಮತ್ತು CSS ಬಳಕೆಯನ್ನು ಅನುಮತಿಸುತ್ತದೆ (ಪ್ರೊಡಕ್ಷನ್ನಲ್ಲಿ ಇದನ್ನು ಬಳಸುವುದನ್ನು ತಪ್ಪಿಸಿ!).
- 'unsafe-eval': ಡೈನಾಮಿಕ್ ಕೋಡ್ ಮೌಲ್ಯಮಾಪನವನ್ನು (ಉದಾ.,
eval(),Function()) ಅನುಮತಿಸುತ್ತದೆ (ಪ್ರೊಡಕ್ಷನ್ನಲ್ಲಿ ಇದನ್ನು ಬಳಸುವುದನ್ನು ತಪ್ಪಿಸಿ!). - 'strict-dynamic': ಮಾರ್ಕಪ್ನಲ್ಲಿರುವ ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ನಾನ್ಸ್ (nonce) ಅಥವಾ ಹ್ಯಾಶ್ನೊಂದಿಗೆ ಸ್ಪಷ್ಟವಾಗಿ ನೀಡಿದ ನಂಬಿಕೆಯನ್ನು, ಆ ಪೂರ್ವಜರಿಂದ ಲೋಡ್ ಆದ ಎಲ್ಲಾ ಸ್ಕ್ರಿಪ್ಟ್ಗಳಿಗೆ ಪ್ರಸಾರ ಮಾಡಬೇಕು ಎಂದು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
- 'unsafe-hashes': ನಿರ್ದಿಷ್ಟ ಇನ್ಲೈನ್ ಈವೆಂಟ್ ಹ್ಯಾಂಡ್ಲರ್ಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಇದರ ಸಂಕೀರ್ಣತೆ ಮತ್ತು ಸೀಮಿತ ಪ್ರಯೋಜನದಿಂದಾಗಿ ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ವಿರೋಧಿಸಲಾಗುತ್ತದೆ.
- data:: ಡೇಟಾ URL ಗಳಿಂದ (ಉದಾ., ಎಂಬೆಡೆಡ್ ಚಿತ್ರಗಳು) ಸಂಪನ್ಮೂಲಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ. ಎಚ್ಚರಿಕೆಯಿಂದ ಬಳಸಿ.
- mediastream:: `mediastream:` URI ಗಳನ್ನು ಮೀಡಿಯಾ ಮೂಲವಾಗಿ ಬಳಸಲು ಅನುಮತಿಸುತ್ತದೆ.
- blob:: `blob:` URI ಗಳನ್ನು ಮೀಡಿಯಾ ಮೂಲವಾಗಿ ಬಳಸಲು ಅನುಮತಿಸುತ್ತದೆ.
- filesystem:: ಫೈಲ್ಸಿಸ್ಟಮ್ನಿಂದ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ.
- https://example.com: ನಿರ್ದಿಷ್ಟ ಡೊಮೇನ್ ಮತ್ತು ಪೋರ್ಟ್ನಿಂದ ವಿಷಯವನ್ನು ಅನುಮತಿಸುತ್ತದೆ.
- *.example.com: example.com ನ ಯಾವುದೇ ಸಬ್ಡೊಮೇನ್ನಿಂದ ವಿಷಯವನ್ನು ಅನುಮತಿಸುತ್ತದೆ.
- nonce-{random-value}: ಹೊಂದಾಣಿಕೆಯ ನಾನ್ಸ್ (nonce) ಗುಣಲಕ್ಷಣವನ್ನು ಹೊಂದಿರುವ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಅಥವಾ ಸ್ಟೈಲ್ಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಇದಕ್ಕೆ ಪ್ರತಿ ವಿನಂತಿಗಾಗಿ ಸರ್ವರ್-ಸೈಡ್ನಲ್ಲಿ ಯಾದೃಚ್ಛಿಕ ನಾನ್ಸ್ ಮೌಲ್ಯವನ್ನು ರಚಿಸುವುದು ಅಗತ್ಯ.
- sha256-{hash-value}: ಹೊಂದಾಣಿಕೆಯ SHA256, SHA384, ಅಥವಾ SHA512 ಹ್ಯಾಶ್ ಅನ್ನು ಹೊಂದಿರುವ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಅಥವಾ ಸ್ಟೈಲ್ಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ.
CSP ಮೋಡ್ಗಳು: ಎನ್ಫೋರ್ಸ್ vs. ರಿಪೋರ್ಟ್-ಓನ್ಲಿ
CSP ಅನ್ನು ಎರಡು ಮೋಡ್ಗಳಲ್ಲಿ ನಿಯೋಜಿಸಬಹುದು:
- ಎನ್ಫೋರ್ಸ್ ಮೋಡ್: ಈ ಮೋಡ್ನಲ್ಲಿ, ಬ್ರೌಸರ್ CSP ಯನ್ನು ಉಲ್ಲಂಘಿಸುವ ಯಾವುದೇ ಸಂಪನ್ಮೂಲಗಳನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತದೆ. ಪ್ರೊಡಕ್ಷನ್ ಪರಿಸರಕ್ಕಾಗಿ ಇದು ಶಿಫಾರಸು ಮಾಡಲಾದ ಮೋಡ್ ಆಗಿದೆ. CSP ಅನ್ನು `Content-Security-Policy` ಹೆಡರ್ ಬಳಸಿ ಕಳುಹಿಸಲಾಗುತ್ತದೆ.
- ರಿಪೋರ್ಟ್-ಓನ್ಲಿ ಮೋಡ್: ಈ ಮೋಡ್ನಲ್ಲಿ, ಬ್ರೌಸರ್ CSP ಉಲ್ಲಂಘನೆಗಳನ್ನು ವರದಿ ಮಾಡುತ್ತದೆ ಆದರೆ ಸಂಪನ್ಮೂಲಗಳನ್ನು ನಿರ್ಬಂಧಿಸುವುದಿಲ್ಲ. CSP ಅನ್ನು ಜಾರಿಗೊಳಿಸುವ ಮೊದಲು ಅದನ್ನು ಪರೀಕ್ಷಿಸಲು ಮತ್ತು ಮೌಲ್ಯಮಾಪನ ಮಾಡಲು ಇದು ಉಪಯುಕ್ತವಾಗಿದೆ. CSP ಅನ್ನು `Content-Security-Policy-Report-Only` ಹೆಡರ್ ಬಳಸಿ ಕಳುಹಿಸಲಾಗುತ್ತದೆ.
CSP ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದು: ಒಂದು ಹಂತ-ಹಂತದ ಮಾರ್ಗದರ್ಶಿ
CSP ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದು ಕಷ್ಟಕರವೆಂದು ತೋರಬಹುದು, ಆದರೆ ಒಂದು ರಚನಾತ್ಮಕ ವಿಧಾನವನ್ನು ಅನುಸರಿಸುವ ಮೂಲಕ, ನಿಮ್ಮ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನೀವು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಸುರಕ್ಷಿತಗೊಳಿಸಬಹುದು.
1. ರಿಪೋರ್ಟ್-ಓನ್ಲಿ ಪಾಲಿಸಿಯೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿ
ಮೊದಲಿಗೆ CSP ಅನ್ನು ರಿಪೋರ್ಟ್-ಓನ್ಲಿ ಮೋಡ್ನಲ್ಲಿ ನಿಯೋಜಿಸಿ. ಇದು ನಿಮ್ಮ ವೆಬ್ಸೈಟ್ನ ಕಾರ್ಯಕ್ಷಮತೆಗೆ ಅಡ್ಡಿಯಾಗದಂತೆ ಉಲ್ಲಂಘನೆಗಳನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಉಲ್ಲಂಘನೆ ವರದಿಗಳನ್ನು ಗೊತ್ತುಪಡಿಸಿದ ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ಕಳುಹಿಸಲು report-uri ಅಥವಾ report-to ನಿರ್ದೇಶನವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ.
ಉದಾಹರಣೆ ಹೆಡರ್ (ರಿಪೋರ್ಟ್-ಓನ್ಲಿ):
Content-Security-Policy-Report-Only: default-src 'self'; report-uri /csp-report
2. ಉಲ್ಲಂಘನೆ ವರದಿಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಿ
ಯಾವ ಸಂಪನ್ಮೂಲಗಳು ನಿರ್ಬಂಧಿಸಲ್ಪಡುತ್ತಿವೆ ಮತ್ತು ಏಕೆ ಎಂಬುದನ್ನು ಗುರುತಿಸಲು ಉಲ್ಲಂಘನೆ ವರದಿಗಳನ್ನು ಎಚ್ಚರಿಕೆಯಿಂದ ವಿಶ್ಲೇಷಿಸಿ. ಇದು ನಿಮ್ಮ ವೆಬ್ಸೈಟ್ನ ಸಂಪನ್ಮೂಲ ಅವಲಂಬನೆಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಮತ್ತು ಸಂಭಾವ್ಯ ಭದ್ರತಾ ದೋಷಗಳನ್ನು ಗುರುತಿಸಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಉಲ್ಲಂಘನೆ ವರದಿಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾದ report-uri ಅಥವಾ report-to ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ JSON ಪೇಲೋಡ್ಗಳಾಗಿ ಕಳುಹಿಸಲಾಗುತ್ತದೆ. ಈ ವರದಿಗಳು ಉಲ್ಲಂಘನೆಯ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಹೊಂದಿರುತ್ತವೆ, ಉದಾಹರಣೆಗೆ ನಿರ್ಬಂಧಿಸಲಾದ URI, ಉಲ್ಲಂಘಿಸಲಾದ ನಿರ್ದೇಶನ, ಮತ್ತು ಡಾಕ್ಯುಮೆಂಟ್ URI.
3. CSP ಪಾಲಿಸಿಯನ್ನು ಪರಿಷ್ಕರಿಸಿ
ಉಲ್ಲಂಘನೆ ವರದಿಗಳ ಆಧಾರದ ಮೇಲೆ, ನಿಮ್ಮ CSP ಪಾಲಿಸಿಯನ್ನು ಪರಿಷ್ಕರಿಸಿ, ನ್ಯಾಯಸಮ್ಮತ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಅನುಮತಿಸುವಾಗಲೂ ಬಲವಾದ ಭದ್ರತಾ ನಿಲುವನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳಿ. ನಿರ್ಬಂಧಿಸಲಾದ ಸಂಪನ್ಮೂಲಗಳಿಗಾಗಿ ನಿರ್ದಿಷ್ಟ ಮೂಲ ಮೌಲ್ಯಗಳನ್ನು ಸೇರಿಸಿ. 'unsafe-inline' ಬಳಸುವುದನ್ನು ತಪ್ಪಿಸಲು ಇನ್ಲೈನ್ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಮತ್ತು ಸ್ಟೈಲ್ಗಳಿಗಾಗಿ ನಾನ್ಸ್ (nonces) ಅಥವಾ ಹ್ಯಾಶ್ಗಳನ್ನು ಬಳಸುವುದನ್ನು ಪರಿಗಣಿಸಿ.
4. ಎನ್ಫೋರ್ಸ್ ಮೋಡ್ಗೆ ಪರಿವರ್ತಿಸಿ
ನಿಮ್ಮ CSP ಪಾಲಿಸಿಯು ನ್ಯಾಯಸಮ್ಮತ ಸಂಪನ್ಮೂಲಗಳನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತಿಲ್ಲ ಎಂದು ನಿಮಗೆ ಖಚಿತವಾದ ನಂತರ, ಎನ್ಫೋರ್ಸ್ ಮೋಡ್ಗೆ ಪರಿವರ್ತಿಸಿ. ಇದು ಉಳಿದ ಯಾವುದೇ ಉಲ್ಲಂಘನೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತದೆ ಮತ್ತು XSS ದಾಳಿಗಳ ವಿರುದ್ಧ ದೃಢವಾದ ಭದ್ರತಾ ಪದರವನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಉದಾಹರಣೆ ಹೆಡರ್ (ಎನ್ಫೋರ್ಸ್):
Content-Security-Policy: default-src 'self'; script-src 'self' https://example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data:; report-uri /csp-report
5. CSP ಪಾಲಿಸಿಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಿ ಮತ್ತು ನಿರ್ವಹಿಸಿ
CSP ಒಂದು 'ಸೆಟ್ ಮಾಡಿ ಮರೆತುಬಿಡಿ' ಪರಿಹಾರವಲ್ಲ. ನಿಮ್ಮ CSP ಪಾಲಿಸಿಯನ್ನು ನಿರಂತರವಾಗಿ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವುದು ಮತ್ತು ನಿಮ್ಮ ವೆಬ್ಸೈಟ್ ವಿಕಸನಗೊಂಡಂತೆ ಮತ್ತು ಹೊಸ ಭದ್ರತಾ ಬೆದರಿಕೆಗಳು ಹೊರಹೊಮ್ಮಿದಂತೆ ಅದನ್ನು ನವೀಕರಿಸುವುದು ಅತ್ಯಗತ್ಯ. ನಿಯಮಿತವಾಗಿ ಉಲ್ಲಂಘನೆ ವರದಿಗಳನ್ನು ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಅಗತ್ಯವಿರುವಂತೆ ಪಾಲಿಸಿಯನ್ನು ಸರಿಹೊಂದಿಸಿ.
ಪ್ರಾಯೋಗಿಕ CSP ಉದಾಹರಣೆಗಳು
ವಿವಿಧ ಸನ್ನಿವೇಶಗಳಿಗಾಗಿ ಕೆಲವು ಪ್ರಾಯೋಗಿಕ CSP ಉದಾಹರಣೆಗಳನ್ನು ನೋಡೋಣ:
ಉದಾಹರಣೆ 1: ಸರಳ ವೆಬ್ಸೈಟ್ಗಾಗಿ ಮೂಲಭೂತ CSP
ಈ CSP ಒಂದೇ ಮೂಲದಿಂದ ವಿಷಯವನ್ನು ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ಯಾವುದೇ ಮೂಲದಿಂದ ಚಿತ್ರಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ.
Content-Security-Policy: default-src 'self'; img-src *
ಉದಾಹರಣೆ 2: ನಿರ್ದಿಷ್ಟ ಸ್ಕ್ರಿಪ್ಟ್ ಮತ್ತು ಸ್ಟೈಲ್ ಮೂಲಗಳೊಂದಿಗೆ CSP
ಈ CSP ಒಂದೇ ಮೂಲದಿಂದ ಮತ್ತು ನಿರ್ದಿಷ್ಟ CDN ನಿಂದ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಮತ್ತು ಒಂದೇ ಮೂಲದಿಂದ ಮತ್ತು ಇನ್ಲೈನ್ ಸ್ಟೈಲ್ಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ.
Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self' 'unsafe-inline'
ಉದಾಹರಣೆ 3: ಇನ್ಲೈನ್ ಸ್ಕ್ರಿಪ್ಟ್ಗಳಿಗಾಗಿ ನಾನ್ಸ್ಗಳೊಂದಿಗೆ CSP
ಈ CSP ಪ್ರತಿ ಇನ್ಲೈನ್ ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಒಂದು ಅನನ್ಯ ನಾನ್ಸ್ (nonce) ಅನ್ನು требует.
Content-Security-Policy: default-src 'self'; script-src 'self' 'nonce-r4nd0mn0nc3'
HTML:
<script nonce="r4nd0mn0nc3">console.log('Hello, world!');</script>
ಪ್ರಮುಖ: ಪ್ರತಿ ವಿನಂತಿಗಾಗಿ ನಾನ್ಸ್ (nonce) ಮೌಲ್ಯವನ್ನು ಸರ್ವರ್ನಲ್ಲಿ ಡೈನಾಮಿಕ್ ಆಗಿ ರಚಿಸಬೇಕು. ಇದು ದಾಳಿಕೋರರು ನಾನ್ಸ್ ಅನ್ನು ಮರುಬಳಕೆ ಮಾಡುವುದನ್ನು ತಡೆಯುತ್ತದೆ.
ಉದಾಹರಣೆ 4: ಕ್ಲಿಕ್ಜಾಕಿಂಗ್ ತಡೆಯಲು ಫ್ರೇಮ್ ಪೂರ್ವಜರನ್ನು ನಿರ್ಬಂಧಿಸುವ CSP
ಈ CSP `https://example.com` ಹೊರತುಪಡಿಸಿ ಯಾವುದೇ ಡೊಮೇನ್ನಲ್ಲಿ ಪುಟವನ್ನು iframe ನಲ್ಲಿ ಎಂಬೆಡ್ ಮಾಡುವುದನ್ನು ತಡೆಯುತ್ತದೆ.
Content-Security-Policy: frame-ancestors 'self' https://example.com
ಉದಾಹರಣೆ 5: 'strict-dynamic' ಮತ್ತು 'self' ಗೆ ಫಾಲ್ಬ್ಯಾಕ್ ಬಳಸುವ ಹೆಚ್ಚು ನಿರ್ಬಂಧಿತ CSP
ಈ CSP ಆಧುನಿಕ ಬ್ರೌಸರ್ಗಳಿಗಾಗಿ `strict-dynamic` ಅನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಬೆಂಬಲಿಸದ ಹಳೆಯ ಬ್ರೌಸರ್ಗಳನ್ನು ಸಹ ಬೆಂಬಲಿಸುತ್ತದೆ. ಇದು ಉಲ್ಲಂಘನೆಗಳನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲು `report-uri` ಅನ್ನು ಸಹ ಒಳಗೊಂಡಿದೆ.
Content-Security-Policy: default-src 'self'; script-src 'strict-dynamic' 'nonce-{random-nonce}' 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; report-uri /csp-report
ಸರ್ವರ್ ಸೈಡ್ನಲ್ಲಿ `{random-nonce}` ಅನ್ನು ಡೈನಾಮಿಕ್ ಆಗಿ ರಚಿಸಲಾದ ನಾನ್ಸ್ ಮೌಲ್ಯದೊಂದಿಗೆ ಬದಲಾಯಿಸಲು ಮರೆಯದಿರಿ.
CSP ಮತ್ತು ಸಿಂಗಲ್-ಪೇಜ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು (SPAs)
SPAs ನಲ್ಲಿ CSP ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದು ಈ ಅಪ್ಲಿಕೇಶನ್ಗಳ ಡೈನಾಮಿಕ್ ಸ್ವಭಾವದಿಂದಾಗಿ ಸವಾಲಿನದ್ದಾಗಿರಬಹುದು. SPAs ಗಳು DOM ಅನ್ನು ಉತ್ಪಾದಿಸಲು ಮತ್ತು ಕುಶಲತೆಯಿಂದ ನಿರ್ವಹಿಸಲು JavaScript ಮೇಲೆ ಹೆಚ್ಚು ಅವಲಂಬಿತವಾಗಿವೆ, ಇದನ್ನು ಎಚ್ಚರಿಕೆಯಿಂದ ನಿರ್ವಹಿಸದಿದ್ದರೆ CSP ಉಲ್ಲಂಘನೆಗಳಿಗೆ ಕಾರಣವಾಗಬಹುದು.
SPAs ನಲ್ಲಿ CSP ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಕೆಲವು ಸಲಹೆಗಳು ಇಲ್ಲಿವೆ:
'unsafe-inline'ಮತ್ತು'unsafe-eval'ಅನ್ನು ತಪ್ಪಿಸಿ: SPAs ನಲ್ಲಿ ಸಾಧ್ಯವಾದಾಗಲೆಲ್ಲಾ ಈ ನಿರ್ದೇಶನಗಳನ್ನು ತಪ್ಪಿಸಬೇಕು. ಅವು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನ ಭದ್ರತೆಯನ್ನು ಗಮನಾರ್ಹವಾಗಿ ದುರ್ಬಲಗೊಳಿಸುತ್ತವೆ.- ನಾನ್ಸ್ಗಳು ಅಥವಾ ಹ್ಯಾಶ್ಗಳನ್ನು ಬಳಸಿ: ಇನ್ಲೈನ್ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಮತ್ತು ಸ್ಟೈಲ್ಗಳಿಗಾಗಿ ನಾನ್ಸ್ಗಳು ಅಥವಾ ಹ್ಯಾಶ್ಗಳನ್ನು ಬಳಸಿ. SPAs ಗಾಗಿ ಇದು ಶಿಫಾರಸು ಮಾಡಲಾದ ವಿಧಾನವಾಗಿದೆ.
- ಟ್ರಸ್ಟೆಡ್ ಟೈಪ್ಸ್ ಅನ್ನು ಪರಿಗಣಿಸಿ: ಟ್ರಸ್ಟೆಡ್ ಟೈಪ್ಸ್ ಎಂಬುದು ಬ್ರೌಸರ್ API ಆಗಿದ್ದು, ಇದು DOM-ಆಧಾರಿತ XSS ದೋಷಗಳನ್ನು ತಡೆಯಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಭದ್ರತೆಯನ್ನು ಮತ್ತಷ್ಟು ಹೆಚ್ಚಿಸಲು ಇದನ್ನು CSP ಯೊಂದಿಗೆ ಬಳಸಬಹುದು.
- CSP-ಹೊಂದಾಣಿಕೆಯ ಫ್ರೇಮ್ವರ್ಕ್ ಬಳಸಿ: ಕೆಲವು ಫ್ರಂಟ್ ಎಂಡ್ ಫ್ರೇಮ್ವರ್ಕ್ಗಳು (ನಿರ್ದಿಷ್ಟ ಸಂರಚನೆಗಳೊಂದಿಗೆ React, Angular, ಮತ್ತು Vue.js ನಂತಹ) CSP ಅನ್ನು ಸುಲಭವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುವ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ.
ಇತರ ಪ್ರಮುಖ ಫ್ರಂಟ್ ಎಂಡ್ ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳು
CSP ಫ್ರಂಟ್ ಎಂಡ್ ಭದ್ರತೆಯ ಮೂಲಾಧಾರವಾಗಿದ್ದರೂ, ಸಮಗ್ರ ರಕ್ಷಣಾ ತಂತ್ರವನ್ನು ಒದಗಿಸುವಲ್ಲಿ ಇತರ ಹೆಡರ್ಗಳು ಪ್ರಮುಖ ಪಾತ್ರ ವಹಿಸುತ್ತವೆ:
ಸ್ಟ್ರಿಕ್ಟ್-ಟ್ರಾನ್ಸ್ಪೋರ್ಟ್-ಸೆಕ್ಯುರಿಟಿ (HSTS)
Strict-Transport-Security (HSTS) ಹೆಡರ್ ಬ್ರೌಸರ್ಗೆ ವೆಬ್ಸೈಟ್ಗೆ ಸಂಪರ್ಕಿಸಲು ಯಾವಾಗಲೂ HTTPS ಅನ್ನು ಬಳಸಲು ಸೂಚಿಸುತ್ತದೆ. ಇದು ಸಂಪರ್ಕವನ್ನು HTTP ಗೆ ಡೌನ್ಗ್ರೇಡ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸುವ ಮ್ಯಾನ್-ಇನ್-ದ-ಮಿಡಲ್ ದಾಳಿಗಳನ್ನು ತಡೆಯುತ್ತದೆ.
ಉದಾಹರಣೆ ಹೆಡರ್:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
max-age: ಬ್ರೌಸರ್ ಸೈಟ್ ಅನ್ನು HTTPS ಮೂಲಕ ಮಾತ್ರ ಪ್ರವೇಶಿಸಬೇಕು ಎಂದು ಎಷ್ಟು ಸಮಯದವರೆಗೆ (ಸೆಕೆಂಡುಗಳಲ್ಲಿ) ನೆನಪಿಟ್ಟುಕೊಳ್ಳಬೇಕು ಎಂಬುದನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ಪ್ರೊಡಕ್ಷನ್ ಪರಿಸರಕ್ಕಾಗಿ 31536000 ಸೆಕೆಂಡುಗಳ (1 ವರ್ಷ) ಮೌಲ್ಯವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ.includeSubDomains: HSTS ಪಾಲಿಸಿಯು ಡೊಮೇನ್ನ ಎಲ್ಲಾ ಸಬ್ಡೊಮೇನ್ಗಳಿಗೆ ಅನ್ವಯಿಸುತ್ತದೆ ಎಂದು ಸೂಚಿಸುತ್ತದೆ.preload: ಬ್ರೌಸರ್ಗಳಲ್ಲಿ ಮೊದಲೇ ಲೋಡ್ ಮಾಡಲಾದ HSTS-ಸಕ್ರಿಯಗೊಳಿಸಲಾದ ಡೊಮೇನ್ಗಳ ಪಟ್ಟಿಯಲ್ಲಿ ಡೊಮೇನ್ ಅನ್ನು ಸೇರಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಇದಕ್ಕೆ ನಿಮ್ಮ ಡೊಮೇನ್ ಅನ್ನು ಗೂಗಲ್ ನಿರ್ವಹಿಸುವ HSTS ಪ್ರಿಲೋಡ್ ಪಟ್ಟಿಗೆ ಸಲ್ಲಿಸುವುದು ಅಗತ್ಯ.
X-ಫ್ರೇಮ್-ಆಪ್ಷನ್ಸ್
X-Frame-Options ಹೆಡರ್ ವೆಬ್ಸೈಟ್ ಅನ್ನು iframe ನಲ್ಲಿ ಎಂಬೆಡ್ ಮಾಡಬಹುದೇ ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸುವ ಮೂಲಕ ಕ್ಲಿಕ್ಜಾಕಿಂಗ್ ದಾಳಿಗಳನ್ನು ತಡೆಯುತ್ತದೆ.
ಉದಾಹರಣೆ ಹೆಡರ್:
X-Frame-Options: DENY
ಸಂಭವನೀಯ ಮೌಲ್ಯಗಳು:
DENY: ಮೂಲವನ್ನು ಲೆಕ್ಕಿಸದೆ, ಪುಟವನ್ನು iframe ನಲ್ಲಿ ಪ್ರದರ್ಶಿಸುವುದನ್ನು ತಡೆಯುತ್ತದೆ.SAMEORIGIN: iframe ನ ಮೂಲವು ಪುಟದ ಮೂಲದೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಯಾದರೆ ಮಾತ್ರ ಪುಟವನ್ನು iframe ನಲ್ಲಿ ಪ್ರದರ್ಶಿಸಲು ಅನುಮತಿಸುತ್ತದೆ.ALLOW-FROM uri: iframe ನ ಮೂಲವು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ URI ಯೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಯಾದರೆ ಮಾತ್ರ ಪುಟವನ್ನು iframe ನಲ್ಲಿ ಪ್ರದರ್ಶಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಗಮನಿಸಿ: ಈ ಆಯ್ಕೆಯನ್ನು ಬಳಕೆಯಿಂದ ತೆಗೆದುಹಾಕಲಾಗಿದೆ ಮತ್ತು ಎಲ್ಲಾ ಬ್ರೌಸರ್ಗಳಿಂದ ಬೆಂಬಲಿಸಲ್ಪಡದಿರಬಹುದು.
ಗಮನಿಸಿ: CSP ಯಲ್ಲಿನ frame-ancestors ನಿರ್ದೇಶನವು ಫ್ರೇಮಿಂಗ್ ಅನ್ನು ನಿಯಂತ್ರಿಸಲು ಹೆಚ್ಚು ಹೊಂದಿಕೊಳ್ಳುವ ಮತ್ತು ಶಕ್ತಿಯುತ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ X-Frame-Options ಗಿಂತ ಆದ್ಯತೆ ನೀಡಲಾಗುತ್ತದೆ.
X-XSS-ಪ್ರೊಟೆಕ್ಷನ್
X-XSS-Protection ಹೆಡರ್ ಬ್ರೌಸರ್ನ ಅಂತರ್ನಿರ್ಮಿತ XSS ಫಿಲ್ಟರ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. CSP XSS ದಾಳಿಗಳನ್ನು ತಡೆಯಲು ಹೆಚ್ಚು ದೃಢವಾದ ಪರಿಹಾರವಾಗಿದ್ದರೂ, ಈ ಹೆಡರ್ ಹೆಚ್ಚುವರಿ ರಕ್ಷಣೆಯ ಪದರವನ್ನು ಒದಗಿಸಬಹುದು, ವಿಶೇಷವಾಗಿ CSP ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಬೆಂಬಲಿಸದ ಹಳೆಯ ಬ್ರೌಸರ್ಗಳಿಗಾಗಿ.
ಉದಾಹರಣೆ ಹೆಡರ್:
X-XSS-Protection: 1; mode=block
1: XSS ಫಿಲ್ಟರ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ.0: XSS ಫಿಲ್ಟರ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ.mode=block: XSS ದಾಳಿ ಪತ್ತೆಯಾದರೆ ಪುಟವನ್ನು ನಿರ್ಬಂಧಿಸಲು ಬ್ರೌಸರ್ಗೆ ಸೂಚಿಸುತ್ತದೆ.report=uri: XSS ದಾಳಿ ಪತ್ತೆಯಾದರೆ ಬ್ರೌಸರ್ ವರದಿಯನ್ನು ಕಳುಹಿಸಬೇಕಾದ URL ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
ರೆಫರರ್-ಪಾಲಿಸಿ
Referrer-Policy ಹೆಡರ್ ವಿನಂತಿಗಳೊಂದಿಗೆ ಕಳುಹಿಸಲಾದ ರೆಫರರ್ ಮಾಹಿತಿಯ ಪ್ರಮಾಣವನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ. ರೆಫರರ್ ಮಾಹಿತಿಯನ್ನು ವೆಬ್ಸೈಟ್ಗಳಾದ್ಯಂತ ಬಳಕೆದಾರರನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಬಳಸಬಹುದು, ಆದ್ದರಿಂದ ಅದನ್ನು ನಿಯಂತ್ರಿಸುವುದರಿಂದ ಬಳಕೆದಾರರ ಗೌಪ್ಯತೆಯನ್ನು ಸುಧಾರಿಸಬಹುದು.
ಉದಾಹರಣೆ ಹೆಡರ್:
Referrer-Policy: strict-origin-when-cross-origin
ಕೆಲವು ಸಾಮಾನ್ಯ ಮೌಲ್ಯಗಳು:
no-referrer: Referer ಹೆಡರ್ ಅನ್ನು ಎಂದಿಗೂ ಕಳುಹಿಸಬೇಡಿ.no-referrer-when-downgrade: TLS (HTTPS) ಇಲ್ಲದ ಮೂಲಗಳಿಗೆ Referer ಹೆಡರ್ ಅನ್ನು ಕಳುಹಿಸಬೇಡಿ.origin: Referer ಹೆಡರ್ನಲ್ಲಿ ಕೇವಲ ಮೂಲವನ್ನು (ಸ್ಕೀಮ್, ಹೋಸ್ಟ್, ಮತ್ತು ಪೋರ್ಟ್) ಕಳುಹಿಸಿ.origin-when-cross-origin: ಕ್ರಾಸ್-ಆರಿಜಿನ್ ವಿನಂತಿಗಳಿಗಾಗಿ ಮೂಲವನ್ನು ಮತ್ತು ಸೇಮ್-ಆರಿಜಿನ್ ವಿನಂತಿಗಳಿಗಾಗಿ ಪೂರ್ಣ URL ಅನ್ನು ಕಳುಹಿಸಿ.same-origin: ಸೇಮ್-ಆರಿಜಿನ್ ವಿನಂತಿಗಳಿಗಾಗಿ Referer ಹೆಡರ್ ಅನ್ನು ಕಳುಹಿಸಿ, ಆದರೆ ಕ್ರಾಸ್-ಆರಿಜಿನ್ ವಿನಂತಿಗಳಿಗಾಗಿ ಅಲ್ಲ.strict-origin: ಪ್ರೋಟೋಕಾಲ್ ಭದ್ರತಾ ಮಟ್ಟವು ಒಂದೇ ಆಗಿರುವಾಗ (HTTPS ನಿಂದ HTTPS) ಮಾತ್ರ ಮೂಲವನ್ನು ಕಳುಹಿಸಿ, ಆದರೆ ಕಡಿಮೆ ಸುರಕ್ಷಿತ ಗಮ್ಯಸ್ಥಾನಕ್ಕೆ (HTTPS ನಿಂದ HTTP) ಯಾವುದೇ ಹೆಡರ್ ಕಳುಹಿಸಬೇಡಿ.strict-origin-when-cross-origin: ಸೇಮ್-ಆರಿಜಿನ್ ವಿನಂತಿಯನ್ನು ನಿರ್ವಹಿಸುವಾಗ ಮೂಲವನ್ನು ಕಳುಹಿಸಿ. ಕ್ರಾಸ್-ಆರಿಜಿನ್ ವಿನಂತಿಗಳಿಗಾಗಿ, ಪ್ರೋಟೋಕಾಲ್ ಭದ್ರತಾ ಮಟ್ಟವು ಒಂದೇ ಆಗಿರುವಾಗ (HTTPS ನಿಂದ HTTPS) ಮಾತ್ರ ಮೂಲವನ್ನು ಕಳುಹಿಸಿ, ಆದರೆ ಕಡಿಮೆ ಸುರಕ್ಷಿತ ಗಮ್ಯಸ್ಥಾನಕ್ಕೆ (HTTPS ನಿಂದ HTTP) ಯಾವುದೇ ಹೆಡರ್ ಕಳುಹಿಸಬೇಡಿ.unsafe-url: ಮೂಲವನ್ನು ಲೆಕ್ಕಿಸದೆ, Referer ಹೆಡರ್ನಲ್ಲಿ ಪೂರ್ಣ URL ಅನ್ನು ಕಳುಹಿಸಿ. ಇದನ್ನು ಅತ್ಯಂತ ಎಚ್ಚರಿಕೆಯಿಂದ ಬಳಸಿ, ಏಕೆಂದರೆ ಇದು ಸೂಕ್ಷ್ಮ ಮಾಹಿತಿಯನ್ನು ಬಹಿರಂಗಪಡಿಸಬಹುದು.
ಪರ್ಮಿಷನ್ಸ್-ಪಾಲಿಸಿ (ಹಿಂದೆ ಫೀಚರ್-ಪಾಲಿಸಿ)
Permissions-Policy ಹೆಡರ್ (ಹಿಂದೆ Feature-Policy ಎಂದು ಕರೆಯಲಾಗುತ್ತಿತ್ತು) ಡೆವಲಪರ್ಗಳಿಗೆ ಬ್ರೌಸರ್ ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು API ಗಳನ್ನು ಆಯ್ದುಕೊಂಡು ಸಕ್ರಿಯಗೊಳಿಸಲು ಮತ್ತು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಇದು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನ ದಾಳಿ ಮೇಲ್ಮೈಯನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಮತ್ತು ಬಳಕೆದಾರರ ಗೌಪ್ಯತೆಯನ್ನು ಸುಧಾರಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಉದಾಹರಣೆ ಹೆಡರ್:
Permissions-Policy: geolocation=()
ಈ ಉದಾಹರಣೆಯು ವೆಬ್ಸೈಟ್ಗಾಗಿ ಜಿಯೋಲೊಕೇಶನ್ API ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ.
Permissions-Policy ಯೊಂದಿಗೆ ನಿಯಂತ್ರಿಸಬಹುದಾದ ಇತರ ವೈಶಿಷ್ಟ್ಯಗಳು:
cameramicrophonegeolocationaccelerometergyroscopemagnetometerusbmidipaymentfullscreen
ವಿವಿಧ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಲ್ಲಿ ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳನ್ನು ಸೆಟ್ ಮಾಡುವುದು
ನೀವು ಬಳಸುತ್ತಿರುವ ವೆಬ್ ಸರ್ವರ್ ಅಥವಾ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಅನ್ನು ಅವಲಂಬಿಸಿ ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳನ್ನು ಸೆಟ್ ಮಾಡುವ ವಿಧಾನವು ಬದಲಾಗುತ್ತದೆ. ಕೆಲವು ಸಾಮಾನ್ಯ ಉದಾಹರಣೆಗಳು ಇಲ್ಲಿವೆ:
Apache
ನೀವು Apache ನಲ್ಲಿ .htaccess ಫೈಲ್ ಅಥವಾ ಸರ್ವರ್ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ (httpd.conf) ಗೆ ಸೇರಿಸುವ ಮೂಲಕ ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳನ್ನು ಸೆಟ್ ಮಾಡಬಹುದು.
ಉದಾಹರಣೆ .htaccess ಕಾನ್ಫಿಗರೇಶನ್:
<IfModule mod_headers.c>
Header set Content-Security-Policy "default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data:; report-uri /csp-report"
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Header set X-Frame-Options "DENY"
Header set X-XSS-Protection "1; mode=block"
Header set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>
Nginx
ನೀವು Nginx ನಲ್ಲಿ Nginx ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ (nginx.conf) ನಲ್ಲಿ ಸರ್ವರ್ ಬ್ಲಾಕ್ಗೆ ಸೇರಿಸುವ ಮೂಲಕ ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳನ್ನು ಸೆಟ್ ಮಾಡಬಹುದು.
ಉದಾಹರಣೆ Nginx ಕಾನ್ಫಿಗರೇಶನ್:
server {
listen 443 ssl;
server_name example.com;
add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data:; report-uri /csp-report";
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
add_header X-Frame-Options "DENY";
add_header X-XSS-Protection "1; mode=block";
add_header Referrer-Policy "strict-origin-when-cross-origin";
...
}
Node.js (Express)
ನೀವು Node.js ನಲ್ಲಿ Helmet ನಂತಹ ಮಿಡಲ್ವೇರ್ ಬಳಸಿ ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳನ್ನು ಸೆಟ್ ಮಾಡಬಹುದು.
Helmet ಬಳಸಿ ಉದಾಹರಣೆ:
const express = require('express');
const helmet = require('helmet');
const app = express();
app.use(helmet());
// Customize CSP if needed
app.use(helmet.contentSecurityPolicy({
directives: {
defaultSrc: ["'self'"],
scriptSrc: ["'self'", "https://cdn.example.com"],
styleSrc: ["'self'", "'unsafe-inline'"],
imgSrc: ["'self'", "data:"],
reportUri: '/csp-report'
},
}));
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(3000, () => {
console.log('Server listening on port 3000');
});
Cloudflare
Cloudflare ನಿಮಗೆ ಅವರ ಪೇಜ್ ರೂಲ್ಸ್ ಅಥವಾ ಟ್ರಾನ್ಸ್ಫಾರ್ಮ್ ರೂಲ್ಸ್ ಬಳಸಿ ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳನ್ನು ಸೆಟ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ.
ನಿಮ್ಮ ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳನ್ನು ಪರೀಕ್ಷಿಸುವುದು
ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದ ನಂತರ, ಅವು ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿವೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಅವುಗಳನ್ನು ಪರೀಕ್ಷಿಸುವುದು ಅತ್ಯಗತ್ಯ. ನಿಮ್ಮ ವೆಬ್ಸೈಟ್ನ ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುವ ಹಲವಾರು ಆನ್ಲೈನ್ ಪರಿಕರಗಳಿವೆ:
- SecurityHeaders.com: ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಲು ಒಂದು ಸರಳ ಮತ್ತು ಪರಿಣಾಮಕಾರಿ ಸಾಧನ.
- Mozilla Observatory: ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ವೆಬ್ಸೈಟ್ ಭದ್ರತೆಯನ್ನು ಪರೀಕ್ಷಿಸಲು ಒಂದು ಸಮಗ್ರ ಸಾಧನ.
- WebPageTest.org: ವಾಟರ್ಫಾಲ್ ಚಾರ್ಟ್ನಲ್ಲಿ HTTP ಹೆಡರ್ಗಳನ್ನು ವೀಕ್ಷಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
ತೀರ್ಮಾನ
ಫ್ರಂಟ್ ಎಂಡ್ ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳು, ವಿಶೇಷವಾಗಿ ಕಂಟೆಂಟ್ ಸೆಕ್ಯುರಿಟಿ ಪಾಲಿಸಿ (CSP), ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ವಿವಿಧ ದಾಳಿಗಳಿಂದ ರಕ್ಷಿಸಲು ಮತ್ತು ಬಳಕೆದಾರರ ಭದ್ರತೆಯನ್ನು ಹೆಚ್ಚಿಸಲು ಅತ್ಯಗತ್ಯ. ಈ ಹೆಡರ್ಗಳನ್ನು ಎಚ್ಚರಿಕೆಯಿಂದ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮತ್ತು ನಿರ್ವಹಿಸುವ ಮೂಲಕ, ನೀವು XSS, ಕ್ಲಿಕ್ಜಾಕಿಂಗ್, ಮತ್ತು ಇತರ ಭದ್ರತಾ ದೋಷಗಳ ಅಪಾಯವನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಕಡಿಮೆ ಮಾಡಬಹುದು. ರಿಪೋರ್ಟ್-ಓನ್ಲಿ ಪಾಲಿಸಿಯೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಲು, ಉಲ್ಲಂಘನೆ ವರದಿಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಲು, ಪಾಲಿಸಿಯನ್ನು ಪರಿಷ್ಕರಿಸಲು, ಮತ್ತು ನಂತರ ಎನ್ಫೋರ್ಸ್ ಮೋಡ್ಗೆ ಪರಿವರ್ತಿಸಲು ಮರೆಯದಿರಿ. ನಿಮ್ಮ ವೆಬ್ಸೈಟ್ ವಿಕಸನಗೊಂಡಂತೆ ಮತ್ತು ಹೊಸ ಬೆದರಿಕೆಗಳು ಹೊರಹೊಮ್ಮಿದಂತೆ ನಿಮ್ಮ ವೆಬ್ಸೈಟ್ ಅನ್ನು ಸುರಕ್ಷಿತವಾಗಿಡಲು ನಿಮ್ಮ ಸೆಕ್ಯುರಿಟಿ ಹೆಡರ್ಗಳನ್ನು ನಿಯಮಿತವಾಗಿ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಿ ಮತ್ತು ನವೀಕರಿಸಿ.
ಫ್ರಂಟ್ ಎಂಡ್ ಭದ್ರತೆಗೆ ಪೂರ್ವಭಾವಿ ವಿಧಾನವನ್ನು ಅಳವಡಿಸಿಕೊಳ್ಳುವ ಮೂಲಕ, ನಿಮ್ಮ ಬಳಕೆದಾರರನ್ನು ಮತ್ತು ನಿಮ್ಮ ವ್ಯವಹಾರವನ್ನು ರಕ್ಷಿಸುವ ಹೆಚ್ಚು ಸುರಕ್ಷಿತ ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ನೀವು ನಿರ್ಮಿಸಬಹುದು.