ಬಬಲ್‌ವ್ರ್ಯಾಪ್ 0.6 ಬಿಡುಗಡೆ, ಪ್ರತ್ಯೇಕ ಪರಿಸರವನ್ನು ರಚಿಸಲು ಒಂದು ಪದರ

ಪ್ರತ್ಯೇಕ ಪರಿಸರದ ಕೆಲಸವನ್ನು ಸಂಘಟಿಸಲು ಪರಿಕರಗಳ ಬಿಡುಗಡೆಯು Bubblewrap 0.6 ಲಭ್ಯವಿದೆ, ಸಾಮಾನ್ಯವಾಗಿ ಸವಲತ್ತು ಇಲ್ಲದ ಬಳಕೆದಾರರ ವೈಯಕ್ತಿಕ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ಪ್ರಾಯೋಗಿಕವಾಗಿ, ಬಬಲ್‌ವ್ರ್ಯಾಪ್ ಅನ್ನು ಫ್ಲಾಟ್‌ಪ್ಯಾಕ್ ಯೋಜನೆಯು ಪ್ಯಾಕೇಜುಗಳಿಂದ ಪ್ರಾರಂಭಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು ಪದರವಾಗಿ ಬಳಸುತ್ತದೆ. ಪ್ರಾಜೆಕ್ಟ್ ಕೋಡ್ ಅನ್ನು C ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು LGPLv2+ ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ.

ಪ್ರತ್ಯೇಕತೆಗಾಗಿ, cgroups, namespaces, Seccomp ಮತ್ತು SELinux ಬಳಕೆಯನ್ನು ಆಧರಿಸಿ ಸಾಂಪ್ರದಾಯಿಕ ಲಿನಕ್ಸ್ ಕಂಟೇನರ್ ವರ್ಚುವಲೈಸೇಶನ್ ತಂತ್ರಜ್ಞಾನಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಧಾರಕವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಸವಲತ್ತು ಪಡೆದ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು, ಮೂಲ ಹಕ್ಕುಗಳೊಂದಿಗೆ ಬಬಲ್‌ವ್ರ್ಯಾಪ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ (ಸೂಯಿಡ್ ಫ್ಲ್ಯಾಗ್‌ನೊಂದಿಗೆ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್) ಮತ್ತು ನಂತರ ಕಂಟೇನರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿದ ನಂತರ ಸವಲತ್ತುಗಳನ್ನು ಮರುಹೊಂದಿಸುತ್ತದೆ.

ನೇಮ್‌ಸ್ಪೇಸ್ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಬಳಕೆದಾರ ನೇಮ್‌ಸ್ಪೇಸ್‌ಗಳ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ, ಇದು ಕಂಟೈನರ್‌ಗಳಲ್ಲಿ ನಿಮ್ಮದೇ ಆದ ಪ್ರತ್ಯೇಕ ಗುರುತಿಸುವಿಕೆಗಳನ್ನು ಬಳಸಲು ನಿಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಕಾರ್ಯಾಚರಣೆಗೆ ಅಗತ್ಯವಿಲ್ಲ, ಏಕೆಂದರೆ ಇದು ಅನೇಕ ವಿತರಣೆಗಳಲ್ಲಿ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ (ಬಬಲ್‌ವ್ರ್ಯಾಪ್ ಅನ್ನು ಸೀಮಿತ ಸೂಯ್ಡ್ ಅಳವಡಿಕೆಯಾಗಿ ಇರಿಸಲಾಗಿದೆ. ಬಳಕೆದಾರ ನೇಮ್‌ಸ್ಪೇಸ್ ಸಾಮರ್ಥ್ಯಗಳ ಉಪವಿಭಾಗ - ಪ್ರಸ್ತುತ ಒಂದನ್ನು ಹೊರತುಪಡಿಸಿ ಎಲ್ಲಾ ಬಳಕೆದಾರ ಮತ್ತು ಪ್ರಕ್ರಿಯೆ ಗುರುತಿಸುವಿಕೆಗಳನ್ನು ಪರಿಸರದಿಂದ ಹೊರಗಿಡಲು, CLONE_NEWUSER ಮತ್ತು CLONE_NEWPID ಮೋಡ್‌ಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ). ಹೆಚ್ಚುವರಿ ರಕ್ಷಣೆಗಾಗಿ, Bubblewrap ಅಡಿಯಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾದ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು PR_SET_NO_NEW_PRIVS ಮೋಡ್‌ನಲ್ಲಿ ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ, ಇದು ಹೊಸ ಸವಲತ್ತುಗಳನ್ನು ಪಡೆದುಕೊಳ್ಳುವುದನ್ನು ನಿಷೇಧಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ, ಸೆಟ್ಯೂಡ್ ಫ್ಲ್ಯಾಗ್ ಇದ್ದರೆ.

ಡೀಫಾಲ್ಟ್ ಆಗಿ ಹೊಸ ಮೌಂಟ್ ನೇಮ್‌ಸ್ಪೇಸ್ ಅನ್ನು ರಚಿಸುವ ಮೂಲಕ ಫೈಲ್ ಸಿಸ್ಟಮ್ ಮಟ್ಟದಲ್ಲಿ ಪ್ರತ್ಯೇಕತೆಯನ್ನು ಸಾಧಿಸಲಾಗುತ್ತದೆ, ಇದರಲ್ಲಿ ಖಾಲಿ ರೂಟ್ ವಿಭಾಗವನ್ನು tmpfs ಬಳಸಿ ರಚಿಸಲಾಗುತ್ತದೆ. ಅಗತ್ಯವಿದ್ದರೆ, ಬಾಹ್ಯ FS ವಿಭಾಗಗಳನ್ನು ಈ ವಿಭಾಗಕ್ಕೆ “ಮೌಂಟ್ —ಬೈಂಡ್” ಮೋಡ್‌ನಲ್ಲಿ ಲಗತ್ತಿಸಲಾಗಿದೆ (ಉದಾಹರಣೆಗೆ, “bwrap —ro-bind /usr /usr” ಆಯ್ಕೆಯೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿದಾಗ, /usr ವಿಭಾಗವನ್ನು ಮುಖ್ಯ ವ್ಯವಸ್ಥೆಯಿಂದ ಫಾರ್ವರ್ಡ್ ಮಾಡಲಾಗುತ್ತದೆ. ಓದಲು-ಮಾತ್ರ ಕ್ರಮದಲ್ಲಿ). ನೆಟ್‌ವರ್ಕ್ ಸಾಮರ್ಥ್ಯಗಳು CLONE_NEWNET ಮತ್ತು CLONE_NEWUTS ಫ್ಲ್ಯಾಗ್‌ಗಳ ಮೂಲಕ ನೆಟ್‌ವರ್ಕ್ ಸ್ಟಾಕ್ ಪ್ರತ್ಯೇಕತೆಯೊಂದಿಗೆ ಲೂಪ್‌ಬ್ಯಾಕ್ ಇಂಟರ್ಫೇಸ್‌ಗೆ ಪ್ರವೇಶಿಸಲು ಸೀಮಿತವಾಗಿವೆ.

ಇದೇ ರೀತಿಯ ಫೈರ್‌ಜೈಲ್ ಪ್ರಾಜೆಕ್ಟ್‌ನಿಂದ ಪ್ರಮುಖ ವ್ಯತ್ಯಾಸವೆಂದರೆ, ಸೆಟ್ಯೂಡ್ ಉಡಾವಣಾ ಮಾದರಿಯನ್ನು ಸಹ ಬಳಸುತ್ತದೆ, ಬಬಲ್‌ವ್ರ್ಯಾಪ್‌ನಲ್ಲಿ ಕಂಟೇನರ್ ರಚನೆಯ ಪದರವು ಅಗತ್ಯವಾದ ಕನಿಷ್ಠ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಮಾತ್ರ ಒಳಗೊಂಡಿರುತ್ತದೆ ಮತ್ತು ಗ್ರಾಫಿಕಲ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಚಲಾಯಿಸಲು, ಡೆಸ್ಕ್‌ಟಾಪ್‌ನೊಂದಿಗೆ ಸಂವಹನ ಮಾಡಲು ಮತ್ತು ವಿನಂತಿಗಳನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಲು ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ ಸುಧಾರಿತ ಕಾರ್ಯಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. Pulseaudio ಗೆ, Flatpak ಬದಿಗೆ ವರ್ಗಾಯಿಸಲಾಯಿತು ಮತ್ತು ಸವಲತ್ತುಗಳನ್ನು ಮರುಹೊಂದಿಸಿದ ನಂತರ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಫೈರ್‌ಜೈಲ್, ಮತ್ತೊಂದೆಡೆ, ಎಲ್ಲಾ ಸಂಬಂಧಿತ ಕಾರ್ಯಗಳನ್ನು ಒಂದು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ನಲ್ಲಿ ಸಂಯೋಜಿಸುತ್ತದೆ, ಇದು ಸರಿಯಾದ ಮಟ್ಟದಲ್ಲಿ ಆಡಿಟ್ ಮಾಡಲು ಮತ್ತು ಭದ್ರತೆಯನ್ನು ನಿರ್ವಹಿಸಲು ಕಷ್ಟಕರವಾಗಿಸುತ್ತದೆ.

ಹೊಸ ಬಿಡುಗಡೆಯಲ್ಲಿ:

  • ಮೆಸನ್ ಅಸೆಂಬ್ಲಿ ವ್ಯವಸ್ಥೆಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ. Autotools ಜೊತೆಗೆ ನಿರ್ಮಾಣಕ್ಕೆ ಬೆಂಬಲವನ್ನು ಸದ್ಯಕ್ಕೆ ಉಳಿಸಿಕೊಳ್ಳಲಾಗಿದೆ, ಆದರೆ ಭವಿಷ್ಯದ ಬಿಡುಗಡೆಯಲ್ಲಿ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ.
  • ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು seccomp ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಸೇರಿಸಲು "--add-seccomp" ಆಯ್ಕೆಯನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ. ನೀವು "--seccomp" ಆಯ್ಕೆಯನ್ನು ಮತ್ತೊಮ್ಮೆ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದರೆ, ಕೊನೆಯ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಮಾತ್ರ ಅನ್ವಯಿಸಲಾಗುತ್ತದೆ ಎಂಬ ಎಚ್ಚರಿಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಜಿಟ್ ರೆಪೊಸಿಟರಿಯಲ್ಲಿನ ಮಾಸ್ಟರ್ ಶಾಖೆಯನ್ನು ಮುಖ್ಯ ಎಂದು ಮರುನಾಮಕರಣ ಮಾಡಲಾಗಿದೆ.
  • REUSE ವಿವರಣೆಗೆ ಭಾಗಶಃ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಪರವಾನಗಿ ಮತ್ತು ಹಕ್ಕುಸ್ವಾಮ್ಯ ಮಾಹಿತಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಏಕೀಕರಿಸುತ್ತದೆ. ಅನೇಕ ಕೋಡ್ ಫೈಲ್‌ಗಳು SPDX-ಲೈಸೆನ್ಸ್-ಐಡೆಂಟಿಫೈಯರ್ ಹೆಡರ್‌ಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಮರುಬಳಕೆಯ ಮಾರ್ಗಸೂಚಿಗಳನ್ನು ಅನುಸರಿಸಿ, ಅಪ್ಲಿಕೇಶನ್ ಕೋಡ್‌ನ ಯಾವ ಭಾಗಗಳಿಗೆ ಯಾವ ಪರವಾನಗಿ ಅನ್ವಯಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನಿರ್ಧರಿಸಲು ಸುಲಭವಾಗುತ್ತದೆ.
  • ಕಮಾಂಡ್ ಲೈನ್ ಆರ್ಗ್ಯುಮೆಂಟ್ ಕೌಂಟರ್ (argc) ಮೌಲ್ಯವನ್ನು ಪರಿಶೀಲಿಸುವುದನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಮತ್ತು ಕೌಂಟರ್ ಶೂನ್ಯವಾಗಿದ್ದರೆ ತುರ್ತು ನಿರ್ಗಮನವನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ. ಈ ಬದಲಾವಣೆಯು ಪೋಲ್ಕಿಟ್‌ನಲ್ಲಿ CVE-2021-4034 ನಂತಹ ಪಾಸ್ ಮಾಡಿದ ಕಮಾಂಡ್ ಲೈನ್ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳ ತಪ್ಪಾದ ನಿರ್ವಹಣೆಯಿಂದ ಉಂಟಾಗುವ ಭದ್ರತಾ ಸಮಸ್ಯೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ