MaxSessions, MaxStartups ಅಥವಾ ಸಾಧನ ನೋಂದಣಿ: ಯಾವ SSH ಮಿತಿಯನ್ನು ಆರಿಸಬೇಕು
MaxSessions ಒಂದು ಟ್ರಾನ್ಸ್ಪೋರ್ಟ್ ಒಳಗಿನ ಚಾನೆಲ್ಗಳನ್ನು ಎಣಿಸುತ್ತದೆ, MaxStartups ದೃಢೀಕರಿಸದ ಹ್ಯಾಂಡ್ಶೇಕ್ಗಳನ್ನು ಕಾಪಾಡುತ್ತದೆ, ಮತ್ತು ಎರಡೂ ಸಾಧನಗಳನ್ನು ಎಣಿಸುವುದಿಲ್ಲ. ಮೊದಲು ಮಾತಿನ ಒಪ್ಪಂದವನ್ನು ನಿರ್ಧರಿಸಿ.
ಪ್ರತಿ ಚಂದಾದಾರರಿಗೆ ಒಂದು ಸಾಧನದ ಭರವಸೆ ನೀಡುವ ಸುರಂಗ ಸೇವೆಗಳಿಗೆ ಆ ಭರವಸೆ MaxSessions ನಿಂದ ಅಪರೂಪವಾಗಿ ಸಿಗುತ್ತದೆ, ಮತ್ತು ಮೊದಲ ಪರೀಕ್ಷೆ ಸಾಮಾನ್ಯವಾಗಿ ಅದನ್ನು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ. ಚಂದಾದಾರರು ಎರಡನೇ ssh ಪ್ರಕ್ರಿಯೆಯನ್ನು ತೆರೆಯುತ್ತಾರೆ, ಮೊದಲ ಅಧಿವೇಶನ ಮುಂದುವರಿಯುತ್ತದೆ, ಮತ್ತು ಎರಡೂ ಸುರಂಗಗಳು ಸಂಚಾರವನ್ನು ಸಾಗಿಸುತ್ತವೆ. ಪ್ರತಿ ಸಂರಚನಾ ಆಯ್ಕೆ ಬೇರೆ ಬೇರೆ ವಸ್ತುವನ್ನು ಎಣಿಸುತ್ತದೆ, ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಯಾವುದೂ ಸಾಧನಗಳನ್ನು ಎಣಿಸುವುದಿಲ್ಲ. ಮೊದಲು ಭರವಸೆಗೆ ಹೆಸರಿಡುವುದೇ ಅವುಗಳ ನಡುವಿನ ಆಯ್ಕೆಯನ್ನು ಸ್ಪಷ್ಟಗೊಳಿಸುತ್ತದೆ.
ಪ್ರತಿ ಆಯ್ಕೆ ನಿಜವಾಗಿ ಏನನ್ನು ಎಣಿಸುತ್ತದೆ
MaxSessions ಒಂದು ದೃಢೀಕೃತ ನೆಟ್ವರ್ಕ್ ಸಂಪರ್ಕವು ಸಾಗಿಸುವ ತೆರೆದ ಅಧಿವೇಶನಗಳ ಸಂಖ್ಯೆಯನ್ನು ಮಿತಿಗೊಳಿಸುತ್ತದೆ. ಇಲ್ಲಿ ಅಧಿವೇಶನ ಎಂದರೆ ಶೆಲ್, exec ವಿನಂತಿ, SFTP ನಂತಹ ಉಪವ್ಯವಸ್ಥೆ, ಅಥವಾ ಒಂದು SSH ಸಾರಿಗೆಯ ಒಳಗೆ ಮಲ್ಟಿಪ್ಲೆಕ್ಸ್ ಆದ ಸಮಾನ ಚಾನೆಲ್. ಎರಡನೇ ssh ಕರೆ ಎರಡನೇ ಸಾರಿಗೆಯನ್ನು ತೆರೆಯುತ್ತದೆ, ಮತ್ತೆ ದೃಢೀಕರಿಸುತ್ತದೆ ಮತ್ತು ತನ್ನದೇ ಅನುಮತಿಯನ್ನು ಪಡೆಯುತ್ತದೆ. ಮೊದಲ ಸಂಪರ್ಕದ ಅಧಿವೇಶನ ಸಂಖ್ಯೆ ಅದಕ್ಕೆ ಅಪ್ರಸ್ತುತ.
MaxStartups ಇನ್ನೂ ದೃಢೀಕರಿಸದ ಏಕಕಾಲಿಕ ಸಂಪರ್ಕಗಳನ್ನು ಮಿತಿಗೊಳಿಸುತ್ತದೆ, ಅವು ಆರಂಭ ಮಿತಿ, ದರ ಮತ್ತು ಪೂರ್ಣ ಮಿತಿಯಾಗಿ ವ್ಯಕ್ತವಾಗುತ್ತವೆ. ಅರ್ಧ-ತೆರೆದ ಹ್ಯಾಂಡ್ಶೇಕ್ಗಳ ಸ್ಫೋಟವು ದೃಢೀಕರಣಕ್ಕೆ ಮೊದಲು ಡೀಮನ್ನ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಖಾಲಿ ಮಾಡದಂತೆ ಇರಲು ಇದು ಇದೆ. ಗ್ರಾಹಕರು ದೃಢೀಕರಿಸಿದ ತಕ್ಷಣ ಆ ಸಂಪರ್ಕವು MaxStartups ವಿರುದ್ಧ ಎಣಿಕೆಯಾಗುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ ಮತ್ತು ಯಾರೋ ಒಬ್ಬರ ಅಧಿವೇಶನವಾಗುತ್ತದೆ. ಇದು ಎಂದೂ ಪ್ರತಿ-ಬಳಕೆದಾರರ ಕೋಟಾ ಆಗಿರಲಿಲ್ಲ, ಮತ್ತು ಇದನ್ನು ಹೆಚ್ಚಿಸಿದರೆ ಚಂದಾದಾರರು ಹೆಚ್ಚು ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ.
ಸಾಧನ ನೋಂದಣಿ ನಿಯಮವು sshd ಆಯ್ಕೆಯೇ ಅಲ್ಲ. ಅದು ರುಜುವಾತುಗಳನ್ನು ನೀಡುವ ಮತ್ತು ಯಾವ ಸಾಧನ ಅವನ್ನು ಹೊಂದಿದೆ ಎಂಬುದನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುವ ಯಾವುದೇ ವ್ಯವಸ್ಥೆಗೆ ಸೇರಿದೆ, ಅಂದರೆ ಅದಕ್ಕೆ ಎಣಿಕೆಯ ಬದಲು ನೋಂದಣಿ, ದಾಸ್ತಾನು ಮತ್ತು ರದ್ದತಿ ಬೇಕು. ಈ ಅಗತ್ಯವನ್ನು sshd ಸಂರಚನೆಯಲ್ಲಿ ಬೆರೆಸುವುದೇ ಈ ವಿನ್ಯಾಸಗಳಲ್ಲಿ ಹೆಚ್ಚಿನವು ನಿಲ್ಲುವ ಸ್ಥಳ.
MaxSessions ಎಲ್ಲಿಂದ ಕೋಟಾ ಆಗಿರುವುದಿಲ್ಲ
Match User ಬ್ಲಾಕ್ ಆ ಬಳಕೆದಾರರಿಗೆ ಯಾವ ಸಂರಚನಾ ಮೌಲ್ಯಗಳು ಅನ್ವಯವಾಗುತ್ತವೆ ಎಂಬುದನ್ನು ಬದಲಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಸೇವಾ ಖಾತೆಗೆ ಕಠಿಣವಾದ MaxSessions ಹೊಂದಿಸಲು ಇದು ಸಹಜ ಸ್ಥಳ. ಇದು ಮಾಡಲಾಗದ್ದು ಸಂಪರ್ಕಗಳ ನಡುವೆ ಒಟ್ಟುಗೂಡಿಸುವುದು, ಏಕೆಂದರೆ ಆಯ್ಕೆಯನ್ನು ಪ್ರತಿ ಸಾರಿಗೆಗೂ ಮೌಲ್ಯಮಾಪನ ಮಾಡಲಾಗುತ್ತದೆ. ಎರಡು ಸಾರಿಗೆಗಳಿಗೆ ಪ್ರತ್ಯೇಕ ಮಿತಿಗಳು ಸಿಗುತ್ತವೆ, ಮತ್ತು ಬಳಕೆದಾರರು ಕೊನೆಗೆ ಬ್ಲಾಕ್ ಅನುಮತಿಸಿದ್ದಕ್ಕಿಂತ ಎರಡು ಪಟ್ಟು ಪಡೆಯುತ್ತಾರೆ.
ಮುಂದುವರಿಸುವಿಕೆ ಪ್ರತ್ಯೇಕ ಆಶ್ಚರ್ಯ. TCP ಮುಂದುವರಿಸುವಿಕೆಗೆ ಅಧಿವೇಶನ ಚಾನೆಲ್ ಬೇಕಿಲ್ಲ, ಆದ್ದರಿಂದ MaxSessions 0 ಶೆಲ್ ಮತ್ತು ಉಪವ್ಯವಸ್ಥೆಗಳನ್ನು ನಿಷೇಧಿಸಬಹುದು ಮತ್ತು -L ಹಾಗೂ -R ಸುರಂಗಗಳನ್ನು ಇನ್ನೂ ಅನುಮತಿಸಬಹುದು. ಕೇವಲ ಮುಂದುವರಿಸುವ ಮತ್ತು ಅಧಿವೇಶನ ಸಂಖ್ಯೆಯನ್ನು ತನ್ನ ಸುರಂಗ ಕೋಟಾ ಎಂದು ಪರಿಗಣಿಸುವ ಸೇವೆ ಏನನ್ನೂ ಅಳೆಯುವುದಿಲ್ಲ. ಆ ವರ್ತನೆ OpenSSH ಸರ್ವರ್ ಸಂರಚನಾ ಉಲ್ಲೇಖದಲ್ಲಿ ದಾಖಲಾಗಿದೆ, ಮತ್ತು ಆಯ್ಕೆಯ ಹೆಸರಿನ ಸುತ್ತ ವಿನ್ಯಾಸ ಮಾಡುವ ಮೊದಲು ಅದನ್ನು ಓದುವುದು ಯೋಗ್ಯ.
ಲೋಡ್ ಆಗಿದೆ ಎಂದು ನೀವು ಭಾವಿಸುವ ಫೈಲ್ ಬದಲು ಪರಿಣಾಮಕಾರಿ ಸಂರಚನೆಯನ್ನು ಡಂಪ್ ಮಾಡಿ. ಒಳಗೊಳ್ಳುವಿಕೆಗಳು ಮತ್ತು drop-in ಡೈರೆಕ್ಟರಿಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಜಾರಿಯಲ್ಲಿರುವ ಮೌಲ್ಯವು ನೀವು ಸಂಪಾದಿಸಿದ ಮೌಲ್ಯವಲ್ಲ ಎಂದು ಅರ್ಥ.
MaxStartups ಚಂದಾದಾರನನ್ನಲ್ಲ, ಡೀಮನ್ ಅನ್ನು ಕಾಪಾಡುತ್ತದೆ
MaxStartups ನ ಮೂರು ಭಾಗದ ರೂಪವು ಡೀಮನ್ ಹೊಸ ಸಂಪರ್ಕಗಳ ಒಂದು ಶೇಕಡಾವನ್ನು ಬಿಡಲು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಎಷ್ಟು ದೃಢೀಕರಿಸದ ಸಂಪರ್ಕಗಳು ಇರಬಹುದು ಎಂಬುದನ್ನು ವಿವರಿಸುತ್ತದೆ. ಅದರ ಡೀಫಾಲ್ಟ್ ರೂಪವು ಇರುವುದು ದೃಢೀಕರಿಸದ SSH ಸಂಪರ್ಕವನ್ನು ತೆರೆಯುವುದು ಅಗ್ಗ ಮತ್ತು ಇಟ್ಟುಕೊಳ್ಳುವುದು ದುಬಾರಿ. ಇದು ಸರ್ವರ್ಗಾಗಿ ಸಂಪನ್ಮೂಲ ರಕ್ಷಣಾ ನಿಯಂತ್ರಣ, ಮತ್ತು ಇದು ಎಲ್ಲರಿಗೂ ಒಂದೇ ಸಮಯದಲ್ಲಿ ಅನ್ವಯವಾಗುತ್ತದೆ.
ಲಾಗಿನ್ ಬಿರುಗಾಳಿಯ ಸಮಯದಲ್ಲಿ ಇದನ್ನು ಹೆಚ್ಚಿಸುವುದು ಡೀಮನ್ ರಕ್ಷಣೆಯನ್ನು ಪ್ರವೇಶಕ್ಕೆ ಬದಲಾಯಿಸುತ್ತದೆ, ಅದು ಕೆಲವೊಮ್ಮೆ ಸರಿಯಾದ ವಿನಿಮಯ ಮತ್ತು ಯಾವಾಗಲೂ ಉದ್ದೇಶಪೂರ್ವಕ. ಎರಡನೇ ಸುರಂಗ ಬಯಸುವ ಚಂದಾದಾರರಿಗೆ ಇದು ಏನನ್ನೂ ಮಾಡುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಮೊದಲ ಸುರಂಗ ಈಗಾಗಲೇ ದೃಢೀಕೃತವಾಗಿದೆ. ಎರಡನ್ನೂ ಗೊಂದಲಿಸುವುದು ತಪ್ಪಾದ ಲಕ್ಷಣವನ್ನು ಸರಿಪಡಿಸುವ ಮತ್ತು ಅದೇ ಸಮಯದಲ್ಲಿ ಸರ್ವರ್ ಅನ್ನು ದುರ್ಬಲಗೊಳಿಸುವ ಬದಲಾವಣೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ.
ಲಾಗಿನ್ಗಳನ್ನು ಗುಂಪುಗಳಲ್ಲಿ ನಿರಾಕರಿಸಿದಾಗ, ಎರಡೂ ಆಯ್ಕೆಗಳಲ್ಲಿ ಯಾವುದನ್ನೂ ಮುಟ್ಟುವ ಮೊದಲು ಡೀಮನ್ ಲಾಗ್ನಲ್ಲಿ ದೃಢೀಕರಣ-ಪೂರ್ವ ಸಂದೇಶವನ್ನು ನೋಡಿ. ಸಂದೇಶವು ಯಾವ ಕಾವಲುಗಾರ ಪ್ರಚೋದಿಸಲ್ಪಟ್ಟಿತು ಎಂದು ಹೆಸರಿಸುತ್ತದೆ, ಮತ್ತು ಕಾವಲುಗಾರರು ಪರಸ್ಪರ ಬದಲಾಯಿಸಬಹುದಾದವಲ್ಲ.
ಪ್ರತಿ-ಬಳಕೆದಾರ ಸ್ಲಾಟ್ಗೆ ಹಂಚಿದ ಸ್ಥಿತಿ ಬೇಕು
ನಿಜವಾದ ಒಂದು ಸಕ್ರಿಯ ಸಾರಿಗೆಯ ನೀತಿಗೆ sshd ನ ಹೊರಗೆ ಎಲ್ಲೋ ಇಟ್ಟುಕೊಳ್ಳುವ ಕಾಯ್ದಿರಿಸುವಿಕೆ ಬೇಕು. ಪ್ರವೇಶ ಹಂತವು ಖಾತೆಯ ಸ್ಲಾಟ್ ಅನ್ನು ಪರಮಾಣು ರೀತಿಯಲ್ಲಿ ಕ್ಲೇಮ್ ಮಾಡಬೇಕು, ಸಂಪರ್ಕ ಮುಚ್ಚಿದಾಗ ಅದನ್ನು ಬಿಡುಗಡೆ ಮಾಡಬೇಕು, ಗ್ರಾಹಕರು ಮುಚ್ಚದೆ ಕಣ್ಮರೆಯಾದಾಗ ಅದರ ಅವಧಿ ಮುಗಿಸಬೇಕು, ಮತ್ತು ಹೊಸ ಪ್ರಯತ್ನವನ್ನು ನಿರಾಕರಿಸಬೇಕೇ ಅಥವಾ ಹಳೆಯದನ್ನು ಬದಲಾಯಿಸಬೇಕೇ ಎಂದು ನಿರ್ಧರಿಸಬೇಕು. ಆ ಕೊನೆಯ ನಿರ್ಧಾರ ಉತ್ಪನ್ನದ ನಿರ್ಧಾರ, ತಾಂತ್ರಿಕ ವಿವರವಲ್ಲ, ಏಕೆಂದರೆ ಸಕ್ರಿಯ ಸುರಂಗವನ್ನು ಬದಲಾಯಿಸುವುದು ಯಾರನ್ನೋ ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸುತ್ತದೆ.
ಕಾಯ್ದಿರಿಸುವಿಕೆಯನ್ನು ಖಾತೆಯನ್ನು ಸ್ವೀಕರಿಸುವ ಪ್ರತಿ ಸರ್ವರ್ ಕೂಡ ಹಂಚಿಕೊಳ್ಳಬೇಕು. ಸ್ವತಂತ್ರ ಸ್ಥಳೀಯ ಎಣಿಕೆಗಳನ್ನು ಹೊಂದಿರುವ ಎರಡು ಹೋಸ್ಟ್ಗಳು ಎರಡು ಪ್ರತ್ಯೇಕ ಮಿತಿಗಳನ್ನು ಜಾರಿಗೊಳಿಸುತ್ತವೆ, ಮತ್ತು ಇನ್ನೊಂದು ಗೇಟ್ವೇ ಮೂಲಕ ಮರುಸಂಪರ್ಕಿಸುವ ಚಂದಾದಾರರು ಉಚಿತವಾಗಿ ಎರಡನೇ ಸ್ಲಾಟ್ ಪಡೆಯುತ್ತಾರೆ. ಸ್ಥಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸುವ ಯಾವುದಕ್ಕೂ ತನ್ನದೇ ವೈಫಲ್ಯ ವರ್ತನೆ ಬೇಕು, ಏಕೆಂದರೆ ತಲುಪಲಾಗದ ಸಂಗ್ರಹ ಎಲ್ಲಾ ಚಂದಾದಾರರನ್ನು ಲಾಕ್ ಮಾಡಬಾರದು.
ಒಂದು ಸಾಧನದ ಭರವಸೆಗೆ, ನೋಂದಾಯಿತ ಪ್ರತಿ ಸಾಧನಕ್ಕೂ ಪ್ರತ್ಯೇಕ ರುಜುವಾತು ನೀಡಿ ಮತ್ತು ಆ ಪದರದಲ್ಲಿ ನೋಂದಣಿ ಮತ್ತು ರದ್ದತಿಯನ್ನು ನಿಯಂತ್ರಿಸಿ. ನಕಲಿಸಿದ ಖಾಸಗಿ ಕೀ ಇನ್ನೂ ಎಲ್ಲಿಂದಲಾದರೂ ದೃಢೀಕರಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಪ್ರತಿ ಬಳಕೆದಾರರಿಗೆ ಒಂದು ಕೀ ನೀಡುವುದು ಅದನ್ನು ಎಷ್ಟು ಯಂತ್ರಗಳು ಹೊಂದಿವೆ ಎಂಬುದಕ್ಕೆ ಸಾಕ್ಷಿಯಲ್ಲ.
ಎರಡು ನಿಜವಾದ ಸಂಪರ್ಕಗಳಿಂದ ನೀತಿ ಪರಿಶೀಲಿಸಿ
ನೀತಿ ಬರೆಯುವ ಮೊದಲು ಸ್ವೀಕೃತಿ ಪರೀಕ್ಷೆಗಳನ್ನು ಆದೇಶಗಳಾಗಿ ಬರೆಯಿರಿ. ಐದು ಸಂದರ್ಭಗಳೆಂದರೆ ಮೊದಲನೆಯದು ಸಕ್ರಿಯವಾಗಿರುವಾಗ ತೆರೆಯುವ ಎರಡನೇ ಸಾರಿಗೆ, ಒಂದು ಸಾರಿಗೆಯೊಳಗೆ ಹಲವು ಚಾನೆಲ್ಗಳು, ಪೋರ್ಟ್ಗಳನ್ನು ಮಾತ್ರ ಮುಂದುವರಿಸುವ ಗ್ರಾಹಕ, ಕೊಂಡಿ ಬಿದ್ದ ನಂತರ ಮರುಸಂಪರ್ಕ, ಮತ್ತು ಅದೇ ಖಾತೆ ಇನ್ನೊಂದು ಗೇಟ್ವೇಗೆ ಬರುವುದು.
ಮೊದಲು ಪರಿಣಾಮಕಾರಿ ಮಿತಿಗಳನ್ನು ಓದಿ, ನಂತರ ನೀತಿ ನಿರಾಕರಿಸಬೇಕಾದ ಸಂಪರ್ಕಗಳನ್ನು ತೆರೆಯಿರಿ. ಆ ಪರೀಕ್ಷೆಯ ಎರಡೂ ಅರ್ಧಗಳು ಮುಖ್ಯ, ಮತ್ತು ಯಾವುದೂ ಇನ್ನೊಂದರ ಬದಲಿಯಲ್ಲ.
sshd -T | grep -iE "maxsessions|maxstartups|allowtcpforwarding|permitopen"
ss -tn state established '( sport = :22 )' | head
ssh -N -L 8080:127.0.0.1:80 [email protected]ಎರಡು ಟರ್ಮಿನಲ್ಗಳಲ್ಲಿ ಸುರಂಗ ಆದೇಶವನ್ನು ಎರಡು ಬಾರಿ ಚಲಾಯಿಸಿ ಮತ್ತು ಪೋರ್ಟ್ 22 ನಲ್ಲಿ ಸ್ಥಾಪಿತವಾದ ಸಂಪರ್ಕಗಳನ್ನು ಎಣಿಸಿ. ನಿಮ್ಮ ನೀತಿ ಒಂದು ಸಕ್ರಿಯ ಸಾರಿಗೆ ಎಂದು ಹೇಳುತ್ತಿರುವಾಗ ಎರಡೂ ಸಂಚಾರವನ್ನು ಸಾಗಿಸಿದರೆ, ನೀತಿ ಜಾರಿಯಲ್ಲ, ದಾಖಲೆ. ಆ ಅಂತರವನ್ನು ಪ್ರವೇಶ ಪದರದಲ್ಲಿ ಸರಿಪಡಿಸಿ, MaxSessions ಕಡಿಮೆ ಮಾಡಿ ಎರಡನೇ ಸಾರಿಗೆ ಗಮನಿಸುತ್ತದೆ ಎಂದು ನಿರೀಕ್ಷಿಸುವುದರಿಂದಲ್ಲ.