ಲಿನಕ್ಸ್ ಸರ್ವರ್ ರಕ್ಷಣೆ. ಮೊದಲು ಏನು ಮಾಡಬೇಕು

ಲಿನಕ್ಸ್ ಸರ್ವರ್ ರಕ್ಷಣೆ. ಮೊದಲು ಏನು ಮಾಡಬೇಕು
ಹಬೀಬ್ ಮೆಹೆನ್ನಿ/ವಿಕಿಮೀಡಿಯಾ ಕಾಮನ್ಸ್, CC BY-SA

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

ಪರಿವಿಡಿ

ರೂಟ್ ಅಲ್ಲದ ಬಳಕೆದಾರ

ನೀವು ಮಾಡಬೇಕಾದ ಮೊದಲನೆಯದು ರೂಟ್ ಅಲ್ಲದ ಬಳಕೆದಾರರನ್ನು ರಚಿಸುವುದು. ಪಾಯಿಂಟ್ ಎಂಬುದು ಬಳಕೆದಾರ root ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಸಂಪೂರ್ಣ ಸವಲತ್ತುಗಳು, ಮತ್ತು ನೀವು ರಿಮೋಟ್ ಆಡಳಿತವನ್ನು ಅನುಮತಿಸಿದರೆ, ನೀವು ಹ್ಯಾಕರ್‌ಗೆ ಅರ್ಧದಷ್ಟು ಕೆಲಸವನ್ನು ಮಾಡುತ್ತೀರಿ, ಅವನಿಗೆ ಮಾನ್ಯವಾದ ಬಳಕೆದಾರಹೆಸರನ್ನು ಬಿಟ್ಟುಬಿಡುತ್ತೀರಿ.

ಆದ್ದರಿಂದ, ನೀವು ಇನ್ನೊಬ್ಬ ಬಳಕೆದಾರರನ್ನು ರಚಿಸಬೇಕು ಮತ್ತು ರೂಟ್‌ಗಾಗಿ SSH ಮೂಲಕ ರಿಮೋಟ್ ಆಡಳಿತವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬೇಕು.

ಆಜ್ಞೆಯೊಂದಿಗೆ ಹೊಸ ಬಳಕೆದಾರರನ್ನು ರಚಿಸಲಾಗಿದೆ useradd:

useradd [options] <username>

ನಂತರ ಆಜ್ಞೆಯೊಂದಿಗೆ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಸೇರಿಸಲಾಗುತ್ತದೆ passwd:

passwd <username>

ಅಂತಿಮವಾಗಿ, ಈ ಬಳಕೆದಾರರನ್ನು ಉನ್ನತ ಸವಲತ್ತುಗಳೊಂದಿಗೆ ಆಜ್ಞೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಹಕ್ಕನ್ನು ಹೊಂದಿರುವ ಗುಂಪಿಗೆ ಸೇರಿಸಬೇಕಾಗಿದೆ sudo. ಲಿನಕ್ಸ್ ವಿತರಣೆಯನ್ನು ಅವಲಂಬಿಸಿ, ಇವು ವಿಭಿನ್ನ ಗುಂಪುಗಳಾಗಿರಬಹುದು. ಉದಾಹರಣೆಗೆ, CentOS ಮತ್ತು Red Hat ನಲ್ಲಿ ಬಳಕೆದಾರರನ್ನು ಗುಂಪಿಗೆ ಸೇರಿಸಲಾಗುತ್ತದೆ wheel:

usermod -aG wheel <username>

ಉಬುಂಟುನಲ್ಲಿ ಇದನ್ನು ಗುಂಪಿಗೆ ಸೇರಿಸಲಾಗಿದೆ sudo:

usermod -aG sudo <username>

SSH ಪಾಸ್‌ವರ್ಡ್‌ಗಳ ಬದಲಿಗೆ ಕೀಗಳು

ಬ್ರೂಟ್ ಫೋರ್ಸ್ ಅಥವಾ ಪಾಸ್‌ವರ್ಡ್ ಸೋರಿಕೆ ಪ್ರಮಾಣಿತ ದಾಳಿ ವೆಕ್ಟರ್ ಆಗಿದೆ, ಆದ್ದರಿಂದ ಎಸ್‌ಎಸ್‌ಹೆಚ್ (ಸುರಕ್ಷಿತ ಶೆಲ್) ನಲ್ಲಿ ಪಾಸ್‌ವರ್ಡ್ ದೃಢೀಕರಣವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವುದು ಮತ್ತು ಬದಲಿಗೆ ಕೀ ದೃಢೀಕರಣವನ್ನು ಬಳಸುವುದು ಉತ್ತಮ.

SSH ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ವಿಭಿನ್ನ ಕಾರ್ಯಕ್ರಮಗಳಿವೆ, ಉದಾಹರಣೆಗೆ lsh и ಡ್ರಾಪ್ಬಿಯರ್, ಆದರೆ ಅತ್ಯಂತ ಜನಪ್ರಿಯವಾದದ್ದು OpenSSH. ಉಬುಂಟುನಲ್ಲಿ OpenSSH ಕ್ಲೈಂಟ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲಾಗುತ್ತಿದೆ:

sudo apt install openssh-client

ಸರ್ವರ್ ಸ್ಥಾಪನೆ:

sudo apt install openssh-server

ಉಬುಂಟು ಸರ್ವರ್‌ನಲ್ಲಿ SSH ಡೀಮನ್ (sshd) ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ:

sudo systemctl start sshd

ಪ್ರತಿ ಬೂಟ್‌ನಲ್ಲಿ ಡೀಮನ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಾರಂಭಿಸಿ:

sudo systemctl enable sshd

OpenSSH ಸರ್ವರ್ ಭಾಗವು ಕ್ಲೈಂಟ್ ಭಾಗವನ್ನು ಒಳಗೊಂಡಿದೆ ಎಂದು ಗಮನಿಸಬೇಕು. ಅಂದರೆ, ಮೂಲಕ openssh-server ನೀವು ಇತರ ಸರ್ವರ್‌ಗಳಿಗೆ ಸಂಪರ್ಕಿಸಬಹುದು. ಇದಲ್ಲದೆ, ನಿಮ್ಮ ಕ್ಲೈಂಟ್ ಯಂತ್ರದಿಂದ ನೀವು ರಿಮೋಟ್ ಸರ್ವರ್‌ನಿಂದ ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಹೋಸ್ಟ್‌ಗೆ SSH ಸುರಂಗವನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು ಮತ್ತು ನಂತರ ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಹೋಸ್ಟ್ ರಿಮೋಟ್ ಸರ್ವರ್ ಅನ್ನು ವಿನಂತಿಗಳ ಮೂಲವೆಂದು ಪರಿಗಣಿಸುತ್ತದೆ. ನಿಮ್ಮ ಸಿಸ್ಟಮ್ ಅನ್ನು ಮರೆಮಾಚಲು ತುಂಬಾ ಅನುಕೂಲಕರ ಕಾರ್ಯ. ಹೆಚ್ಚಿನ ವಿವರಗಳಿಗಾಗಿ, ಲೇಖನವನ್ನು ನೋಡಿ. "ಪ್ರಾಯೋಗಿಕ ಸಲಹೆಗಳು, ಉದಾಹರಣೆಗಳು ಮತ್ತು SSH ಸುರಂಗಗಳು".

ಕಂಪ್ಯೂಟರ್‌ಗೆ ರಿಮೋಟ್ ಸಂಪರ್ಕದ ಸಾಧ್ಯತೆಯನ್ನು ತಡೆಗಟ್ಟಲು ಕ್ಲೈಂಟ್ ಯಂತ್ರದಲ್ಲಿ ಪೂರ್ಣ ಪ್ರಮಾಣದ ಸರ್ವರ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವುದರಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿ ಯಾವುದೇ ಅರ್ಥವಿಲ್ಲ (ಸುರಕ್ಷತಾ ಕಾರಣಗಳಿಗಾಗಿ).

ಆದ್ದರಿಂದ, ನಿಮ್ಮ ಹೊಸ ಬಳಕೆದಾರರಿಗಾಗಿ, ನೀವು ಮೊದಲು ನೀವು ಸರ್ವರ್ ಅನ್ನು ಪ್ರವೇಶಿಸುವ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ SSH ಕೀಗಳನ್ನು ರಚಿಸಬೇಕಾಗಿದೆ:

ssh-keygen -t rsa

ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಫೈಲ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ .pub ಮತ್ತು ಪ್ರಾರಂಭವಾಗುವ ಯಾದೃಚ್ಛಿಕ ಅಕ್ಷರಗಳ ಸ್ಟ್ರಿಂಗ್‌ನಂತೆ ಕಾಣುತ್ತದೆ ssh-rsa.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname

ನಂತರ, ರೂಟ್ ಆಗಿ, ಬಳಕೆದಾರರ ಹೋಮ್ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಸರ್ವರ್‌ನಲ್ಲಿ SSH ಡೈರೆಕ್ಟರಿಯನ್ನು ರಚಿಸಿ ಮತ್ತು ಫೈಲ್‌ಗೆ SSH ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಸೇರಿಸಿ authorized_keysVim ನಂತಹ ಪಠ್ಯ ಸಂಪಾದಕವನ್ನು ಬಳಸುವುದು:

mkdir -p /home/user_name/.ssh && touch /home/user_name/.ssh/authorized_keys

vim /home/user_name/.ssh/authorized_keys

ಅಂತಿಮವಾಗಿ, ಫೈಲ್‌ಗೆ ಸರಿಯಾದ ಅನುಮತಿಗಳನ್ನು ಹೊಂದಿಸಿ:

chmod 700 /home/user_name/.ssh && chmod 600 /home/user_name/.ssh/authorized_keys

ಮತ್ತು ಈ ಬಳಕೆದಾರರಿಗೆ ಮಾಲೀಕತ್ವವನ್ನು ಬದಲಾಯಿಸಿ:

chown -R username:username /home/username/.ssh

ಕ್ಲೈಂಟ್ ಬದಿಯಲ್ಲಿ, ದೃಢೀಕರಣಕ್ಕಾಗಿ ನೀವು ರಹಸ್ಯ ಕೀಲಿಯ ಸ್ಥಳವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕಾಗಿದೆ:

ssh-add DIR_PATH/keylocation

ಈಗ ನೀವು ಈ ಕೀಲಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಬಳಕೆದಾರಹೆಸರಿನ ಅಡಿಯಲ್ಲಿ ಸರ್ವರ್‌ಗೆ ಲಾಗ್ ಇನ್ ಮಾಡಬಹುದು:

ssh [username]@hostname

ದೃಢೀಕರಣದ ನಂತರ, ನೀವು ಫೈಲ್ಗಳನ್ನು ನಕಲಿಸಲು scp ಆಜ್ಞೆಯನ್ನು ಬಳಸಬಹುದು, ಉಪಯುಕ್ತತೆ sshfs ಫೈಲ್ ಸಿಸ್ಟಮ್ ಅಥವಾ ಡೈರೆಕ್ಟರಿಗಳನ್ನು ರಿಮೋಟ್ ಆಗಿ ಆರೋಹಿಸಲು.

ಖಾಸಗಿ ಕೀಲಿಯ ಹಲವಾರು ಬ್ಯಾಕಪ್ ನಕಲುಗಳನ್ನು ಮಾಡಲು ಸಲಹೆ ನೀಡಲಾಗುತ್ತದೆ, ಏಕೆಂದರೆ ನೀವು ಪಾಸ್‌ವರ್ಡ್ ದೃಢೀಕರಣವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದರೆ ಮತ್ತು ಅದನ್ನು ಕಳೆದುಕೊಂಡರೆ, ನಿಮ್ಮ ಸ್ವಂತ ಸರ್ವರ್‌ಗೆ ಲಾಗ್ ಇನ್ ಮಾಡಲು ನಿಮಗೆ ಯಾವುದೇ ಮಾರ್ಗವಿಲ್ಲ.

ಮೇಲೆ ಹೇಳಿದಂತೆ, SSH ನಲ್ಲಿ ನೀವು ರೂಟ್‌ಗಾಗಿ ದೃಢೀಕರಣವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬೇಕಾಗಿದೆ (ಈ ಕಾರಣಕ್ಕಾಗಿ ನಾವು ಹೊಸ ಬಳಕೆದಾರರನ್ನು ರಚಿಸಿದ್ದೇವೆ).

CentOS/Red Hat ನಲ್ಲಿ ನಾವು ರೇಖೆಯನ್ನು ಕಂಡುಕೊಳ್ಳುತ್ತೇವೆ PermitRootLogin yes ಸಂರಚನಾ ಕಡತದಲ್ಲಿ /etc/ssh/sshd_config ಮತ್ತು ಅದನ್ನು ಬದಲಾಯಿಸಿ:

PermitRootLogin no

ಉಬುಂಟುನಲ್ಲಿ ಸಾಲನ್ನು ಸೇರಿಸಿ PermitRootLogin no ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ಗೆ 10-my-sshd-settings.conf:

sudo echo "PermitRootLogin no" >> /etc/ssh/sshd_config.d/10-my-sshd-settings.conf

ಹೊಸ ಬಳಕೆದಾರರು ತಮ್ಮ ಕೀಲಿಯನ್ನು ಬಳಸಿಕೊಂಡು ದೃಢೀಕರಿಸಿದ್ದಾರೆ ಎಂದು ಪರಿಶೀಲಿಸಿದ ನಂತರ, ಪಾಸ್‌ವರ್ಡ್ ಸೋರಿಕೆ ಅಥವಾ ವಿವೇಚನಾರಹಿತ ಶಕ್ತಿಯ ಅಪಾಯವನ್ನು ತೊಡೆದುಹಾಕಲು ನೀವು ಪಾಸ್‌ವರ್ಡ್ ದೃಢೀಕರಣವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು. ಈಗ, ಸರ್ವರ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು, ಆಕ್ರಮಣಕಾರರು ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಪಡೆಯಬೇಕಾಗುತ್ತದೆ.

CentOS/Red Hat ನಲ್ಲಿ ನಾವು ರೇಖೆಯನ್ನು ಕಂಡುಕೊಳ್ಳುತ್ತೇವೆ PasswordAuthentication yes ಸಂರಚನಾ ಕಡತದಲ್ಲಿ /etc/ssh/sshd_config ಮತ್ತು ಅದನ್ನು ಈ ಕೆಳಗಿನಂತೆ ಬದಲಾಯಿಸಿ:

PasswordAuthentication no

ಉಬುಂಟುನಲ್ಲಿ ಸಾಲನ್ನು ಸೇರಿಸಿ PasswordAuthentication no ಕಡತಕ್ಕೆ 10-my-sshd-settings.conf:

sudo echo "PasswordAuthentication no" >> /etc/ssh/sshd_config.d/10-my-sshd-settings.conf

SSH ಮೂಲಕ ಎರಡು ಅಂಶದ ದೃಢೀಕರಣವನ್ನು ಹೇಗೆ ಸಕ್ರಿಯಗೊಳಿಸುವುದು ಎಂಬುದರ ಕುರಿತು ಸೂಚನೆಗಳಿಗಾಗಿ, ನೋಡಿ ಇಲ್ಲಿ.

ಫೈರ್ವಾಲ್

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

ಫೈರ್ವಾಲ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವ ಮೊದಲು, SSH ಅನ್ನು ಹೊರಗಿಡುವ ಪಟ್ಟಿಯಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆ ಮತ್ತು ನಿರ್ಬಂಧಿಸಲಾಗುವುದಿಲ್ಲ ಎಂದು ನೀವು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬೇಕು. ಇಲ್ಲದಿದ್ದರೆ, ಫೈರ್‌ವಾಲ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿದ ನಂತರ, ನಾವು ಸರ್ವರ್‌ಗೆ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.

ಉಬುಂಟು ವಿತರಣೆಯು ಜಟಿಲವಲ್ಲದ ಫೈರ್‌ವಾಲ್‌ನೊಂದಿಗೆ ಬರುತ್ತದೆ (ಅದ್ಭುತ), ಮತ್ತು CentOS/Red Hat ಜೊತೆಗೆ - ಫೈರ್‌ವಾಲ್ಡ್.

ಉಬುಂಟುನಲ್ಲಿ ಫೈರ್‌ವಾಲ್‌ನಲ್ಲಿ SSH ಅನ್ನು ಅನುಮತಿಸಲಾಗುತ್ತಿದೆ:

sudo ufw allow ssh

CentOS/Red Hat ನಲ್ಲಿ ನಾವು ಆಜ್ಞೆಯನ್ನು ಬಳಸುತ್ತೇವೆ firewall-cmd:

sudo firewall-cmd --zone=public --add-service=ssh --permanent

ಈ ಕಾರ್ಯವಿಧಾನದ ನಂತರ, ನೀವು ಫೈರ್ವಾಲ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು.

CentOS/Red Hat ನಲ್ಲಿ ನಾವು ಫೈರ್‌ವಾಲ್‌ಗಾಗಿ systemd ಸೇವೆಯನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ:

sudo systemctl start firewalld
sudo systemctl enable firewalld

ಉಬುಂಟುನಲ್ಲಿ ನಾವು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಬಳಸುತ್ತೇವೆ:

sudo ufw enable

ವಿಫಲ 2 ಬ್ಯಾನ್

ಸೇವೆ ವಿಫಲ 2 ಬ್ಯಾನ್ ಸರ್ವರ್ ಲಾಗ್‌ಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರತಿ IP ವಿಳಾಸದಿಂದ ಪ್ರವೇಶ ಪ್ರಯತ್ನಗಳ ಸಂಖ್ಯೆಯನ್ನು ಎಣಿಸುತ್ತದೆ. ನಿರ್ದಿಷ್ಟ ಮಧ್ಯಂತರದಲ್ಲಿ ಎಷ್ಟು ಪ್ರವೇಶ ಪ್ರಯತ್ನಗಳನ್ನು ಅನುಮತಿಸಲಾಗಿದೆ ಎಂಬುದಕ್ಕೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳು ನಿಯಮಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತವೆ - ಅದರ ನಂತರ ಈ IP ವಿಳಾಸವನ್ನು ನಿರ್ದಿಷ್ಟ ಸಮಯದವರೆಗೆ ನಿರ್ಬಂಧಿಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ನಾವು 5 ಗಂಟೆಗಳ ಅವಧಿಯಲ್ಲಿ SSH ಮೂಲಕ 2 ವಿಫಲ ದೃಢೀಕರಣ ಪ್ರಯತ್ನಗಳನ್ನು ಅನುಮತಿಸುತ್ತೇವೆ, ಅದರ ನಂತರ ನಾವು ಈ IP ವಿಳಾಸವನ್ನು 12 ಗಂಟೆಗಳ ಕಾಲ ನಿರ್ಬಂಧಿಸುತ್ತೇವೆ.

CentOS ಮತ್ತು Red Hat ನಲ್ಲಿ Fail2Ban ಅನ್ನು ಸ್ಥಾಪಿಸಲಾಗುತ್ತಿದೆ:

sudo yum install fail2ban

ಉಬುಂಟು ಮತ್ತು ಡೆಬಿಯನ್‌ನಲ್ಲಿ ಸ್ಥಾಪನೆ:

sudo apt install fail2ban

ಲಾಂಚ್:

systemctl start fail2ban
systemctl enable fail2ban

ಪ್ರೋಗ್ರಾಂ ಎರಡು ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ಗಳನ್ನು ಹೊಂದಿದೆ: /etc/fail2ban/fail2ban.conf и /etc/fail2ban/jail.conf. ನಿಷೇಧದ ನಿರ್ಬಂಧಗಳನ್ನು ಎರಡನೇ ಫೈಲ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆ.

ಡೀಫಾಲ್ಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳೊಂದಿಗೆ ಡೀಫಾಲ್ಟ್ ಆಗಿ SSH ಗಾಗಿ ಜೈಲ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ (5 ಪ್ರಯತ್ನಗಳು, ಮಧ್ಯಂತರ 10 ನಿಮಿಷಗಳು, 10 ನಿಮಿಷಗಳ ಕಾಲ ನಿಷೇಧ).

[ಡೀಫಾಲ್ಟ್] ನಿರ್ಲಕ್ಷಿಸು ಕಮಾಂಡ್ = ಬ್ಯಾನ್‌ಟೈಮ್ = 10 ಮೀ ಫೈಂಡ್‌ಟೈಮ್ = 10 ಮೀ ಮ್ಯಾಕ್ಸ್‌ರೆಟ್ರಿ = 5

SSH ಜೊತೆಗೆ, Fail2Ban nginx ಅಥವಾ Apache ವೆಬ್ ಸರ್ವರ್‌ನಲ್ಲಿ ಇತರ ಸೇವೆಗಳನ್ನು ರಕ್ಷಿಸಬಹುದು.

ಸ್ವಯಂಚಾಲಿತ ಭದ್ರತಾ ನವೀಕರಣಗಳು

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

ಉಬುಂಟು ಸರ್ವರ್‌ಗಳು ಸ್ವಯಂಚಾಲಿತ ಭದ್ರತಾ ನವೀಕರಣಗಳನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಿವೆ, ಆದ್ದರಿಂದ ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ಹಂತಗಳ ಅಗತ್ಯವಿಲ್ಲ.

CentOS/Red Hat ನಲ್ಲಿ ನೀವು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಸ್ಥಾಪಿಸಬೇಕಾಗಿದೆ dnf-ಸ್ವಯಂಚಾಲಿತ ಮತ್ತು ಟೈಮರ್ ಆನ್ ಮಾಡಿ:

sudo dnf upgrade
sudo dnf install dnf-automatic -y
sudo systemctl enable --now dnf-automatic.timer

ಟೈಮರ್ ಪರಿಶೀಲನೆ:

sudo systemctl status dnf-automatic.timer

ಡೀಫಾಲ್ಟ್ ಪೋರ್ಟ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಲಾಗುತ್ತಿದೆ

ಟೆಲ್ನೆಟ್ (ಪೋರ್ಟ್ 1995) ಮತ್ತು ftp (ಪೋರ್ಟ್ 23) ಅನ್ನು ಬದಲಿಸಲು SSH ಅನ್ನು 21 ರಲ್ಲಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಯಿತು, ಆದ್ದರಿಂದ ಕಾರ್ಯಕ್ರಮದ ಲೇಖಕರು ಟಾಟು ಇಲ್ಟೋನೆನ್ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಪೋರ್ಟ್ 22 ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿದೆ, ಮತ್ತು ಇದನ್ನು IANA ಅನುಮೋದಿಸಿದೆ.

ಸ್ವಾಭಾವಿಕವಾಗಿ, ಎಲ್ಲಾ ದಾಳಿಕೋರರು SSH ಯಾವ ಪೋರ್ಟ್‌ನಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿದೆ ಎಂದು ತಿಳಿದಿದ್ದಾರೆ - ಮತ್ತು ಸಾಫ್ಟ್‌ವೇರ್ ಆವೃತ್ತಿಯನ್ನು ಕಂಡುಹಿಡಿಯಲು, ಪ್ರಮಾಣಿತ ರೂಟ್ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಮತ್ತು ಇತರ ಪ್ರಮಾಣಿತ ಪೋರ್ಟ್‌ಗಳೊಂದಿಗೆ ಅದನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಿ.

ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಪೋರ್ಟ್‌ಗಳನ್ನು ಬದಲಾಯಿಸುವುದು - ಅಸ್ಪಷ್ಟತೆ - ಜಂಕ್ ಟ್ರಾಫಿಕ್‌ನ ಪರಿಮಾಣ, ಲಾಗ್‌ಗಳ ಗಾತ್ರ ಮತ್ತು ಸರ್ವರ್‌ನಲ್ಲಿನ ಲೋಡ್ ಅನ್ನು ಹಲವಾರು ಬಾರಿ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ದಾಳಿಯ ಮೇಲ್ಮೈಯನ್ನು ಸಹ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಕೆಲವು ಆದರೂ "ಅಸ್ಪಷ್ಟತೆಯ ಮೂಲಕ ರಕ್ಷಣೆ" ಯ ಈ ವಿಧಾನವನ್ನು ಟೀಕಿಸಿ (ಅಸ್ಪಷ್ಟತೆಯ ಮೂಲಕ ಭದ್ರತೆ). ಕಾರಣ ಈ ತಂತ್ರವು ಮೂಲಭೂತವಾದಕ್ಕೆ ವಿರುದ್ಧವಾಗಿದೆ ವಾಸ್ತುಶಿಲ್ಪ ರಕ್ಷಣೆ. ಆದ್ದರಿಂದ, ಉದಾಹರಣೆಗೆ, US ನ್ಯಾಷನಲ್ ಇನ್‌ಸ್ಟಿಟ್ಯೂಟ್ ಆಫ್ ಸ್ಟ್ಯಾಂಡರ್ಡ್ಸ್ ಅಂಡ್ ಟೆಕ್ನಾಲಜಿ "ಸರ್ವರ್ ಭದ್ರತಾ ಮಾರ್ಗದರ್ಶಿ" ತೆರೆದ ಸರ್ವರ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ಅಗತ್ಯವನ್ನು ಸೂಚಿಸುತ್ತದೆ: "ಸಿಸ್ಟಮ್ನ ಭದ್ರತೆಯು ಅದರ ಘಟಕಗಳ ಅನುಷ್ಠಾನದ ರಹಸ್ಯವನ್ನು ಅವಲಂಬಿಸಬಾರದು" ಎಂದು ಡಾಕ್ಯುಮೆಂಟ್ ಹೇಳುತ್ತದೆ.

ಸಿದ್ಧಾಂತದಲ್ಲಿ, ಡೀಫಾಲ್ಟ್ ಪೋರ್ಟ್‌ಗಳನ್ನು ಬದಲಾಯಿಸುವುದು ಓಪನ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ಅಭ್ಯಾಸಗಳಿಗೆ ವಿರುದ್ಧವಾಗಿದೆ. ಆದರೆ ಪ್ರಾಯೋಗಿಕವಾಗಿ, ದುರುದ್ದೇಶಪೂರಿತ ಸಂಚಾರದ ಪ್ರಮಾಣವು ವಾಸ್ತವವಾಗಿ ಕಡಿಮೆಯಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಇದು ಸರಳ ಮತ್ತು ಪರಿಣಾಮಕಾರಿ ಅಳತೆಯಾಗಿದೆ.

ನಿರ್ದೇಶನವನ್ನು ಬದಲಾಯಿಸುವ ಮೂಲಕ ಪೋರ್ಟ್ ಸಂಖ್ಯೆಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು Port 22 ಸಂರಚನಾ ಕಡತದಲ್ಲಿ / etc / ssh / sshd_config. ಇದನ್ನು ನಿಯತಾಂಕದಿಂದಲೂ ಸೂಚಿಸಲಾಗುತ್ತದೆ -p <port> в ssh. SSH ಕ್ಲೈಂಟ್ ಮತ್ತು ಕಾರ್ಯಕ್ರಮಗಳು sftp ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಸಹ ಬೆಂಬಲಿಸುತ್ತದೆ -p <port>.

ನಿಯತಾಂಕ -p <port> ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಸಂಪರ್ಕಿಸುವಾಗ ಪೋರ್ಟ್ ಸಂಖ್ಯೆಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ಬಳಸಬಹುದು ssh Linux ನಲ್ಲಿ. IN sftp и scp ನಿಯತಾಂಕವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ -P <port> (ಬಂಡವಾಳ ಪಿ). ಆಜ್ಞಾ ಸಾಲಿನಿಂದ ಅದನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವುದರಿಂದ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ಗಳಲ್ಲಿನ ಯಾವುದೇ ಮೌಲ್ಯವನ್ನು ಅತಿಕ್ರಮಿಸುತ್ತದೆ.

ಬಹಳಷ್ಟು ಸರ್ವರ್‌ಗಳಿದ್ದರೆ, ಲಿನಕ್ಸ್ ಸರ್ವರ್ ಅನ್ನು ರಕ್ಷಿಸಲು ಈ ಎಲ್ಲಾ ಕ್ರಿಯೆಗಳನ್ನು ಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಬಹುದು. ಆದರೆ ಒಂದೇ ಸರ್ವರ್ ಇದ್ದರೆ, ಪ್ರಕ್ರಿಯೆಯನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ನಿಯಂತ್ರಿಸುವುದು ಉತ್ತಮ.

ಜಾಹೀರಾತು ಹಕ್ಕುಗಳ ಮೇಲೆ

ಆದೇಶ ಮತ್ತು ಈಗಿನಿಂದಲೇ ಕೆಲಸ ಪ್ರಾರಂಭಿಸಿ! ವಿಡಿಎಸ್ ರಚನೆ ಯಾವುದೇ ಕಾನ್ಫಿಗರೇಶನ್ ಮತ್ತು ಯಾವುದೇ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂನೊಂದಿಗೆ ಒಂದು ನಿಮಿಷದಲ್ಲಿ. ಗರಿಷ್ಠ ಕಾನ್ಫಿಗರೇಶನ್ ನಿಮಗೆ ಬ್ಲಾಸ್ಟ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ - 128 CPU ಕೋರ್ಗಳು, 512 GB RAM, 4000 GB NVMe. ಸಾಕಷ್ಟು ಮಹಾಕಾವ್ಯ :)

ಲಿನಕ್ಸ್ ಸರ್ವರ್ ರಕ್ಷಣೆ. ಮೊದಲು ಏನು ಮಾಡಬೇಕು

ಮೂಲ: www.habr.com