ನಮ್ಮ ವಿಪಿಎಸ್ ಅನ್ನು ಸುರಕ್ಷಿತಗೊಳಿಸುವ ಕ್ರಮಗಳು

ಈ ಟ್ಯುಟೋರಿಯಲ್ ಡೆಬಿಯನ್ ಗ್ನೂ / ಲಿನಕ್ಸ್‌ನೊಂದಿಗೆ ವರ್ಚುವಲ್ ಪ್ರೈವೇಟ್ ಸರ್ವರ್ (ವಿಪಿಎಸ್) ಅನ್ನು ಹೇಗೆ ತಯಾರಿಸುವುದು ಮತ್ತು ಸುರಕ್ಷಿತಗೊಳಿಸುವುದು ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ. ನಾವು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು, ಕೆಲವು ವಿಷಯಗಳನ್ನು are ಹಿಸಲಾಗಿದೆ:

  1. ನೀವು ಗ್ನು / ಲಿನಕ್ಸ್‌ನೊಂದಿಗೆ ಮಧ್ಯಂತರ ಮಟ್ಟದ ಪರಿಚಿತತೆಯನ್ನು ಹೊಂದಿದ್ದೀರಿ.
  2. ವೈಯಕ್ತಿಕ ಬಳಕೆಗಾಗಿ ವಿಪಿಎಸ್ ಇದೆ, ಅದಕ್ಕೆ ನಾವು ಎಸ್‌ಎಸ್‌ಹೆಚ್ ಮೂಲಕ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿದ್ದೇವೆ.
  3. ವಿಪಿಎಸ್ ಮೀಸಲಾದ ಬಾಹ್ಯ ಐಪಿವಿ 4 250.250.250.155 ಅನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ನಮ್ಮ ಪೂರೈಕೆದಾರರು 250.250.0.0/16 ಬ್ಲಾಕ್ ಅನ್ನು ಹೊಂದಿದ್ದಾರೆ. (ಒಂದು)
  4. ನಮ್ಮ ವಿಪಿಎಸ್‌ನಲ್ಲಿ ನಾವು ಹೊರಗಿನಿಂದ ಪ್ರವೇಶಿಸಲು http, https ಮತ್ತು ssh ಸೇವೆಗಳನ್ನು ಮಾತ್ರ ಸಕ್ರಿಯಗೊಳಿಸುತ್ತೇವೆ.
  5. ಬಾಹ್ಯ ಡಿಎನ್‌ಎಸ್ ಅನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ನಮ್ಮ ಪೂರೈಕೆದಾರರ ಫಲಕದಲ್ಲಿ ಮಾಡಲಾಗುವುದರಿಂದ ಅದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುವುದಿಲ್ಲ. (2)
  6. ಇದು ಸೂಪರ್ ಯೂಸರ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

ಅನುಸ್ಥಾಪನೆ

ಮೊದಲ ಹಂತವಾಗಿ, ಸರ್ವರ್ ಅನ್ನು ನವೀಕರಿಸೋಣ ಮತ್ತು ನಮಗೆ ಅಗತ್ಯವಿರುವ ಕೆಲವು ಪ್ಯಾಕೇಜುಗಳನ್ನು ಸ್ಥಾಪಿಸೋಣ:

# ಆಪ್ಟಿಟ್ಯೂಡ್ ಅಪ್‌ಡೇಟ್ ಮತ್ತು ಆಪ್ಟಿಟ್ಯೂಡ್ ಸೇಫ್-ಅಪ್‌ಗ್ರೇಡ್

ಸಂರಚನಾ

ಈಗ ನಾವು ಕೆಲಸದ ಬಳಕೆದಾರರನ್ನು ರಚಿಸಲಿದ್ದೇವೆ. ಸರ್ವರ್‌ನಲ್ಲಿ ರೂಟ್‌ನಂತೆ ಕೆಲಸ ಮಾಡುವುದು ಅಸುರಕ್ಷಿತವಾಗಿದೆ, ಆದ್ದರಿಂದ ನಾವು ಮೊದಲು ವಿಶೇಷ ಬಳಕೆದಾರರನ್ನು ರಚಿಸುತ್ತೇವೆ:

adduser operator usermod -aG sudo operator

ಮೊದಲ ಆಜ್ಞೆಯು ಆಪರೇಟರ್ ಬಳಕೆದಾರರನ್ನು ರಚಿಸುತ್ತದೆ, ಎರಡನೆಯದು ಅದನ್ನು ಗುಂಪಿಗೆ ಸೇರಿಸುತ್ತದೆ ಸುಡೊ, ಇದು ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ರೂಟ್‌ನಂತೆ ಚಲಾಯಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.

ಸೂಪರ್ ಬಳಕೆದಾರರಿಗೆ ಅನುಮತಿಗಳನ್ನು ಹೊಂದಿಸಿ

ನಿಯಮಿತವಾಗಿ ಕೆಲಸ ಮಾಡಲು ನಾವು ಬಳಕೆದಾರರನ್ನು ಬಳಸುತ್ತೇವೆ ಆಪರೇಟರ್ ಹಿಂದೆ ರಚಿಸಲಾಗಿದೆ, ನಾವು ಆಜ್ಞಾ ಮರಣದಂಡನೆ ಆಯ್ಕೆಗಳನ್ನು ಸೂಪರ್‌ಯುಸರ್ ಆಗಿ ಹೊಂದಿಸಬೇಕಾಗಿದೆ, ಇದಕ್ಕಾಗಿ ನಾವು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತೇವೆ:

ವಿಸುಡೋ

ಈ ಆಜ್ಞೆಯು ಮೂಲತಃ ಫೈಲ್ ಅನ್ನು ಮಾರ್ಪಡಿಸಲು ಅನುಮತಿಸುತ್ತದೆ / etc / sudoers; ಇದರಲ್ಲಿ ನಾವು ಈ ಸಾಲುಗಳನ್ನು ಹೊಂದಿರಬೇಕು:

ಡೀಫಾಲ್ಟ್‌ಗಳು env_reset, timestamp_timeout = 0% sudo ALL = (ALL: ALL) ALL

ಮೊದಲ ಸಾಲಿನಲ್ಲಿ ಆಯ್ಕೆಯನ್ನು ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯಗಳಿಗೆ ಸೇರಿಸಲಾಗುತ್ತದೆ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್_ಟೈಮ್ out ಟ್ ಇದು ಸುಡೋ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದಾಗ ಪಾಸ್‌ವರ್ಡ್‌ನ ಮುಕ್ತಾಯ ಸಮಯವನ್ನು (ನಿಮಿಷಗಳಲ್ಲಿ) ಹೊಂದಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಡೀಫಾಲ್ಟ್ 5 ಆಗಿದೆ, ಆದರೆ ಇದು ಕೆಲವೊಮ್ಮೆ ಎರಡು ಕಾರಣಗಳಿಗಾಗಿ ಅಸುರಕ್ಷಿತವಾಗಿದೆ:

  1. ಪಾಸ್ವರ್ಡ್ ಅವಧಿ ಮುಗಿಯುವ ಮೊದಲು ನಾವು ಅಜಾಗರೂಕತೆಯಿಂದ ನಮ್ಮ ಕಂಪ್ಯೂಟರ್ ಅನ್ನು ಲಾಗ್ ಇನ್ ಮಾಡಿದ್ದರೆ, ಯಾರಾದರೂ ಯಾವುದೇ ನಿರ್ಬಂಧಗಳಿಲ್ಲದೆ ಆಜ್ಞೆಯನ್ನು ಸೂಪರ್ ಯೂಸರ್ ಆಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು.
  2. ಪಾಸ್‌ವರ್ಡ್ ಅವಧಿ ಮುಗಿಯುವ ಮೊದಲು ದುರುದ್ದೇಶಪೂರಿತ ಕೋಡ್ ಹೊಂದಿರುವ ಅಪ್ಲಿಕೇಶನ್ ಅಥವಾ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ನಾವು ಅಜ್ಞಾನದ ಮೂಲಕ ಕಾರ್ಯಗತಗೊಳಿಸಿದರೆ, ನಮ್ಮ ಸ್ಪಷ್ಟ ಒಪ್ಪಿಗೆಯಿಲ್ಲದೆ, ಅಪ್ಲಿಕೇಶನ್ ನಮ್ಮ ಸಿಸ್ಟಮ್‌ಗೆ ಸೂಪರ್‌ಯುಸರ್ ಆಗಿ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿರಬಹುದು.

ಆದ್ದರಿಂದ ಅಪಾಯಗಳನ್ನು ತಪ್ಪಿಸಲು, ನಾವು ಮೌಲ್ಯವನ್ನು ಶೂನ್ಯಕ್ಕೆ ಹೊಂದಿಸಿದ್ದೇವೆ, ಅಂದರೆ, ಪ್ರತಿ ಬಾರಿ ಸುಡೋ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದಾಗ, ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ನಮೂದಿಸಬೇಕಾಗುತ್ತದೆ. ನಕಾರಾತ್ಮಕ ಮೌಲ್ಯವನ್ನು -1 ಎಂದು ಹೊಂದಿಸಿದರೆ, ಇದರ ಪರಿಣಾಮವೆಂದರೆ ಪಾಸ್‌ವರ್ಡ್ ಎಂದಿಗೂ ಮುಕ್ತಾಯಗೊಳ್ಳುವುದಿಲ್ಲ, ಅದು ನಮಗೆ ಬೇಕಾದುದಕ್ಕೆ ವಿರುದ್ಧವಾದ ಫಲಿತಾಂಶವನ್ನು ನೀಡುತ್ತದೆ.

ಎರಡನೆಯ ಸಾಲಿನಲ್ಲಿ ಸುಡೋ ಗುಂಪು ಯಾವುದೇ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ ಯಾವುದೇ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು ಎಂದು ಸ್ಪಷ್ಟಪಡಿಸಲಾಗಿದೆ, ಇದು ಸಾಮಾನ್ಯವಾಗಿದೆ, ಆದರೂ ಅದನ್ನು ಸರಿಹೊಂದಿಸಬಹುದು. (3) ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಟೈಪ್ ಮಾಡುವುದನ್ನು ತಪ್ಪಿಸಲು ಅನುಕೂಲಕ್ಕಾಗಿ ಈ ಕೆಳಗಿನಂತೆ ಸಾಲನ್ನು ಹಾಕುವವರು ಇದ್ದಾರೆ:

% sudo ALL = (ALL: ALL) NOPASSWD: ALL

ಆದಾಗ್ಯೂ, ನಾವು ಮೊದಲೇ ವಿವರಿಸಿದಂತೆ, ಇದು ಅಪಾಯಕಾರಿ ಮತ್ತು ಆದ್ದರಿಂದ ಶಿಫಾರಸು ಮಾಡಲಾಗಿಲ್ಲ.

ಮರುಪ್ರಾರಂಭವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ

ಸುರಕ್ಷತಾ ಕಾರಣಗಳಿಗಾಗಿ, ಕೀ ಸಂಯೋಜನೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಮರುಪ್ರಾರಂಭವನ್ನು ಸಹ ನಾವು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತೇವೆ Ctrl + Alt + Del, ಇದಕ್ಕಾಗಿ ನಾವು ಈ ಸಾಲನ್ನು ಫೈಲ್‌ನಲ್ಲಿ ಸೇರಿಸಬೇಕು / etc / inittab:

ca: 12345: ctrlaltdel: / bin / echo "Ctrl + Alt + Del ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ."

ಓಪನ್ ಎಸ್‌ಎಸ್‌ಎಚ್ ಅನ್ನು ಡ್ರಾಪ್‌ಬಿಯರ್‌ನೊಂದಿಗೆ ಬದಲಾಯಿಸಿ

ಹೆಚ್ಚಿನ ವಿಪಿಎಸ್ ಓಪನ್ ಎಸ್ಎಸ್ಹೆಚ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿದೆ, ಇದು ಖಂಡಿತವಾಗಿಯೂ ತುಂಬಾ ಉಪಯುಕ್ತವಾಗಿದೆ, ಆದರೆ ಓಪನ್ ಎಸ್ಎಸ್ಎಚ್ನ ಎಲ್ಲಾ ಕಾರ್ಯಗಳನ್ನು ನಾವು ಬಳಸಿಕೊಳ್ಳುವ ಅಗತ್ಯವಿಲ್ಲದಿದ್ದರೆ, ವಿಪಿಎಸ್ಗಾಗಿ ಹಗುರವಾದ ಪರ್ಯಾಯಗಳಿವೆ ಡ್ರಾಪ್ಬಿಯರ್, ಇದು ಸಾಮಾನ್ಯವಾಗಿ ನಿಯಮಿತ ಬಳಕೆಗೆ ಸಾಕಾಗುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಈ ಅಪ್ಲಿಕೇಶನ್‌ನ ನ್ಯೂನತೆಯೆಂದರೆ ಅದು ಸಂಯೋಜಿತ ಎಸ್‌ಎಫ್‌ಟಿಪಿ ಸರ್ವರ್‌ನೊಂದಿಗೆ ಬರುವುದಿಲ್ಲ, ಮತ್ತು ಅದಕ್ಕಾಗಿಯೇ ಆರಂಭದಲ್ಲಿ ನಾವು ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿದ್ದೇವೆ gesftpserver.

ಡ್ರಾಪ್‌ಬಿಯರ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು, ನಾವು ಫೈಲ್ ಅನ್ನು ಮಾರ್ಪಡಿಸುತ್ತೇವೆ / etc / default / dropbear ಆದ್ದರಿಂದ ಇದು ಈ ಎರಡು ಸಾಲುಗಳನ್ನು ಒಳಗೊಂಡಿದೆ:

NO_START = 0 DROPBEAR_EXTRA_ARGS = "- w -p 127.0.0.1:22 -I 1200 -m"

ಮೊದಲ ಸಾಲು ಸೇವೆಯನ್ನು ಸರಳವಾಗಿ ಶಕ್ತಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಎರಡನೆಯದು ಹಲವಾರು ಕೆಲಸಗಳನ್ನು ಮಾಡುತ್ತದೆ:

  1. ಮೂಲ ಪ್ರವೇಶವನ್ನು ತಪ್ಪಿಸಿ.
  2. ಇದು ಸ್ಥಳೀಯ ಇಂಟರ್ಫೇಸ್‌ನ ಪೋರ್ಟ್ 22 ರಲ್ಲಿ ಸೇವೆಯನ್ನು ಕೇಳುವಂತೆ ಮಾಡುತ್ತದೆ (ನಂತರ ಏಕೆ ಎಂದು ನಾವು ವಿವರಿಸುತ್ತೇವೆ).
  3. ಕಾಯುವ ಸಮಯವನ್ನು ಹೊಂದಿಸುತ್ತದೆ (20 ನಿಮಿಷಗಳು).

ಎಸ್‌ಎಸ್‌ಎಲ್‌ಹೆಚ್

ಪೋರ್ಟ್ 22 (ಎಸ್‌ಎಸ್‌ಹೆಚ್) ಚಿರಪರಿಚಿತವಾಗಿದೆ ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ ಹ್ಯಾಕರ್‌ಗಳು ಉಲ್ಲಂಘಿಸಲು ಪ್ರಯತ್ನಿಸುವ ಮೊದಲನೆಯದು, ಆದ್ದರಿಂದ ನಾವು ಬದಲಿಗೆ ಪೋರ್ಟ್ 443 (ಎಸ್‌ಎಸ್‌ಎಲ್) ಅನ್ನು ಬಳಸುತ್ತೇವೆ. ಈ ಪೋರ್ಟ್ ಅನ್ನು ಎಚ್‌ಟಿಟಿಪಿಎಸ್ ಮೂಲಕ ಸುರಕ್ಷಿತ ಬ್ರೌಸಿಂಗ್‌ಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.

ಈ ಕಾರಣಕ್ಕಾಗಿ ನಾವು ಎಸ್‌ಎಸ್‌ಎಲ್‌ಹೆಚ್ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ, ಇದು ಪೋರ್ಟ್ 443 ಕ್ಕೆ ಬರುವ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುವ ಮಲ್ಟಿಪ್ಲೆಕ್ಸರ್‌ಗಿಂತ ಹೆಚ್ಚೇನೂ ಅಲ್ಲ, ಮತ್ತು ಟ್ರಾಫಿಕ್ ಪ್ರಕಾರವು ಎಸ್‌ಎಸ್‌ಹೆಚ್ ಅಥವಾ ಎಸ್‌ಎಸ್‌ಎಲ್ ಆಗಿದೆಯೇ ಎಂಬುದನ್ನು ಅವಲಂಬಿಸಿ ಅವುಗಳನ್ನು ಆಂತರಿಕವಾಗಿ ಒಂದು ಸೇವೆ ಅಥವಾ ಇನ್ನೊಂದಕ್ಕೆ ಸಾಗಿಸುತ್ತದೆ.

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

ಈಗ ನಾವು ಮಾಡಬೇಕಾಗಿರುವುದು ಇಂಟರ್ಫೇಸ್ ಮತ್ತು ಪೋರ್ಟ್ ಅನ್ನು ಎಸ್ಎಸ್ಎಲ್ಎಚ್ ಕೇಳಬೇಕು ಮತ್ತು ಅದರ ಮೂಲಕ ಕೇಳಬೇಕು ಮತ್ತು ಸೇವೆಯ ಪ್ರಕಾರವನ್ನು ಅವಲಂಬಿಸಿ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ಎಲ್ಲಿ ಮರುನಿರ್ದೇಶಿಸಬೇಕು ಎಂಬುದನ್ನು ಸೂಚಿಸುತ್ತದೆ ಮತ್ತು ಇದಕ್ಕಾಗಿ ನಾವು ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಅನ್ನು ಮಾರ್ಪಡಿಸುತ್ತೇವೆ / etc / default / sslh:

DAEMON = / usr / sbin / sslh DAEMON_OPTS = "- ಬಳಕೆದಾರ sslh --listen 250.250.250.155:443 --ssh 127.0.0.1:22 --ssl 127.0.0.1:443 --pidfile / var / run / sslh / sslh. pid "RUN = ಹೌದು

ಅಂತಿಮವಾಗಿ, ನಾವು ಸೇವೆಗಳನ್ನು ಮರುಪ್ರಾರಂಭಿಸುತ್ತೇವೆ:

service ssh stop && service dropbear start && service sslh restart

ಹಿಂದಿನ ಆಜ್ಞೆಯ ನಂತರ, ನಮ್ಮ ಸುರಕ್ಷಿತ ಅಧಿವೇಶನವು ಬಹುಶಃ ಅಡ್ಡಿಪಡಿಸುತ್ತದೆ, ಈ ಸಂದರ್ಭದಲ್ಲಿ ಮತ್ತೆ ಲಾಗಿನ್ ಆಗಲು ಸಾಕು, ಆದರೆ ಈ ಬಾರಿ ಕೆಲಸದ ಬಳಕೆದಾರರೊಂದಿಗೆ ಮತ್ತು ಪೋರ್ಟ್ 443 ಅನ್ನು ಬಳಸುವುದು. ಅಧಿವೇಶನವು ಅಡ್ಡಿಯಾಗದಿದ್ದರೆ, ಅದನ್ನು ಮುಚ್ಚಲು ಸಲಹೆ ನೀಡಲಾಗುತ್ತದೆ ಸೂಕ್ತ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ಮತ್ತೆ ಪ್ರಾರಂಭಿಸಿ.

ಎಲ್ಲವೂ ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡಿದರೆ, ನಾವು ರೂಟ್‌ನಂತೆ ಕೆಲಸ ಮಾಡುವುದನ್ನು ಮುಂದುವರಿಸಬಹುದು ಮತ್ತು ನಾವು ಬಯಸಿದರೆ, OpenSSH ಅನ್ನು ಅಸ್ಥಾಪಿಸಿ:

sudo su - aptitude -r purge openssh-server

ಫೈರ್‌ವಾಲ್

ನಾವು ಮಾಡುವ ಮುಂದಿನ ಕೆಲಸವೆಂದರೆ ಫೈರ್‌ವಾಲ್‌ನಿಂದ ಲಾಗ್‌ಗಳನ್ನು ಪ್ರತ್ಯೇಕ ಫೈಲ್‌ಗೆ ಬೇರ್ಪಡಿಸುವುದು /var/log/firewall.log ಹೆಚ್ಚಿನ ವಿಶ್ಲೇಷಣೆಗೆ ಅನುಕೂಲವಾಗುವಂತೆ, ಅದಕ್ಕಾಗಿಯೇ ನಾವು ಪ್ರಾರಂಭದಲ್ಲಿ ulogd ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿದ್ದೇವೆ. ಇದಕ್ಕಾಗಿ ನಾವು ಫೈಲ್ ಅನ್ನು ಸಂಪಾದಿಸುತ್ತೇವೆ /etc/logd.conf ಸಂಬಂಧಿತ ವಿಭಾಗವನ್ನು ಹೊಂದಿಸಲು:

[LOGEMU] file = "/ var / log / firewall.log" ಸಿಂಕ್ = 1

ಮುಂದೆ, ನಾವು ರೆಕಾರ್ಡ್ ತಿರುಗುವಿಕೆ ಫೈಲ್ ಅನ್ನು ಮಾರ್ಪಡಿಸುತ್ತೇವೆ / etc / logrotate / ulogd ದೈನಂದಿನ ತಿರುಗುವಿಕೆಯನ್ನು (ದಿನಾಂಕದೊಂದಿಗೆ) ಇರಿಸಿಕೊಳ್ಳಲು ಮತ್ತು ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಸಂಕುಚಿತ ಸಾಲ್ವೋಗಳನ್ನು ಉಳಿಸಲು / var / log / ulog /:

/var/log/ulog/*. .gz / var / log / ulog / endcript}

ನಂತರ ನಾವು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮೂಲಕ ನೆಟ್‌ಫಿಲ್ಟರ್ ನಿಯಮಗಳನ್ನು ರಚಿಸುತ್ತೇವೆ:

IPT = $ (ಇದು iptables) IPEXT = 250.250.250.155 IPEXTBLK = 250.250.0.0 / 16 IPBCAST = 255.255.255.255 $ IPT -F $ IPT -X $ IPT -Z $ IPT -A INPUT -i lo -j ACCEPT $ IPT - ಪಿ ಇನ್ಪುಟ್ ಡ್ರಾಪ್ $ ಐಪಿಟಿ -ಪಿ ಫಾರ್ವರ್ಡ್ ಡ್ರಾಪ್ $ ಐಪಿಟಿ -ಪಿ U ಟ್ಪುಟ್ ಅಕ್ಸೆಪ್ಟ್ $ ಐಪಿಟಿ -ಎ ಇನ್ಪುಟ್ -ಎಂ ಸ್ಟೇಟ್ - ಸ್ಟೇಟ್ ಇನ್ವಾಲಿಡ್ -ಜೆ ಯುಲೊಗ್ - ಯುಲಾಗ್-ಪೂರ್ವಪ್ರತ್ಯಯ IN_INVALID $ ಐಪಿಟಿ -ಎ ಇನ್ಪುಟ್ -ಪಿ igmp -j ಯುಲೊಗ್ - ಯುಲಾಗ್ -ಪ್ರೀಫಿಕ್ಸ್ IN_IGMP $ IPT -A INPUT -m pkttype --pkt- ರೀತಿಯ ಪ್ರಸಾರ -j ULOG --ulog-prefix IN_BCAST $ IPT -A INPUT -m pkttype --pkt-type multicast -j ULOG --ulog-prefix IN_MCAST $ IPT -A FORWARD -j ULOG --ulog-prefix FORWARD $ IPT -N ICMP_IN $ IPT -A INPUT!  -i lo -p icmp -j ICMP_IN $ IPT -A ICMP_IN -p icmp -f -j ULOG --ulog-prefix IN_ICMP_FRAGMENTED $ IPT -A ICMP_IN -p icmp -m icmp -m length!  --length 28: 1322 -j ULOG --ulog-prefix IN_ICMP_INVALIDSIZE $ IPT -A ICMP_IN -p icmp -m icmp -m hashlimit --hashlimit-above 4 / sec --hashlimit-mode srcip --hashlimit-srcmask 24 - -ಹ್ಯಾಶ್ಲಿಮಿಟ್-ಹೆಸರು ಐಸಿಎಂಪಿಫ್ಲೂಡ್ -ಜೆ ಯುಎಲ್ಒಜಿ - ಯುಲಾಗ್-ಪೂರ್ವಪ್ರತ್ಯಯ -ಹೆಸರು icmpattack -j ULOG --ulog-prefix IN_ICMP_FLOOD $ IPT -A ICMP_IN -p icmp -m icmp -m u64!  --u32 "0x4 & 0x3fff = 0x0" -j ULOG --ulog-prefix IN_ICMP_ATTACK $ IPT -A ICMP_IN -p icmp -m icmp!  --icmp-type echo-request -m state --state NEW -j ULOG --ulog-prefix IN_ICMP_INVALID $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type echo-request -j ULOG --ulog- IN_ICMP $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type echo-request -m limit --limit 1 / sec --limit-burst 4 -j ACCEPT $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type echo-reply -m limit --limit 2 / sec --limit-burst 4 -j ACCEPT $ IPT -A ICMP_IN -p icmp -m icmp --icmp- ಪ್ರಕಾರದ ಗಮ್ಯಸ್ಥಾನ-ತಲುಪಲಾಗದ -m ಮಿತಿ - ಮಿತಿ / IPT -A ICMP_IN -p icmp -m icmp --icmp-type ಪ್ಯಾರಾಮೀಟರ್-ಸಮಸ್ಯೆ -m ಮಿತಿ - 2 / ಸೆಕೆಂಡ್ --ಲಿಮಿಟ್-ಬರ್ಸ್ಟ್ 4 -j ACCEPT $ IPT -A ICMP_IN -j ರಿಟರ್ನ್ $ IPT -N UDP_IN $ ಐಪಿಟಿ -ಎ ಇನ್ಪುಟ್!  -i lo -p udp -j UDP_IN $ IPT -A UDP_IN!  -ಐ ಲೊ!  -p udp -f -j ULOG --ulog-prefix IN_UDP_FRAGMENTED $ IPT -A UDP_IN -p udp -m udp --sport 53 -m ಉದ್ದ!  - ಉದ್ದ 28: 576 -j ULOG --ulog-prefix IN_UDP_DNS_INVALIDSIZE $ IPT -A UDP_IN -p udp -m udp --dport 53 -m -state --state NEW -j ULOG --ulog-prefix IN_UDP_DNSREQUEST $ IPT - UDP_IN -p udp -m udp --dport 53 -m -state --state NEW -j REJECT --rect-with icmp-port-achachable $ IPT -A UDP_IN -p udp -m udp!  - ಸ್ಪೋರ್ಟ್ 53!  -s $ IPEXTBLK!  -d $ IPBCAST -m state --state NEW -j ULOG --ulog-prefix IN_UDP $ IPT -A UDP_IN -p udp -m udp -m state --state ESTABLISHED, RELATED -j ACCEPT $ IPT -A UDP_IN -j ಹಿಂತಿರುಗಿ $ IPT -N TCP_IN $ IPT -A INPUT!  -i lo -p tcp -j TCP_IN $ IPT -A TCP_IN!  -ಐ ಲೊ!  -p tcp -f -j ULOG --ulog-prefix IN_TCP_FRAGMENTED $ IPT -A TCP_IN -p tcp -m tcp --sport 53 -m state --state ESTABLISHED, RELATED -m length!  --length 513: 1500 -j ULOG --ulog-prefix IN_TCP_DNS_INVALIDSIZE $ IPT -A TCP_IN -p tcp -m tcp --dport 53 -m state --state NEW -j ULOG --ulog-prefix IN_TCP_DNS $ IPT -A TCP_IN -p tcp -m tcp --dport 53 -m state --state NEW -j REJECT --rect-with icmp-port-achacable $ IPT -A TCP_IN -p tcp -m tcp -m multiport!  --dports 80,443 -m state --state NEW -j ULOG --ulog-prefix IN_TCP $ IPT -A TCP_IN -p tcp -m tcp -m multiport --dports 80,443 -m state --state NEW -m hashlimit - hashlimit -ಅಪ್ 4 / ಸೆಕೆಂಡ್ - ಹ್ಯಾಶ್ಲಿಮಿಟ್-ಬರ್ಸ್ಟ್ 16 - ಹ್ಯಾಶ್ಲಿಮಿಟ್-ಮೋಡ್ ಎಸ್ಆರ್ಸಿಪಿ - ಹ್ಯಾಶ್ಲಿಮಿಟ್-ನೇಮ್ ನವ್ರೆಕ್ -ಜೆ ಎಕ್ಸೆಪ್ಟ್ $ ಐಪಿಟಿ -ಎ ಟಿಸಿಪಿ_ಐಎನ್ -ಪಿ ಟಿಸಿಪಿ -ಎಂ ಟಿಸಿಪಿ -ಎಂ ಮಲ್ಟಿಪೋರ್ಟ್ - ಡಿಪೋರ್ಟ್ಸ್ 80,443 -ಎಂ ಸ್ಟೇಟ್ - ಸ್ಟೇಟ್ ಇಸ್ಟಾಬ್ಲಿಶ್ಡ್ -ಎಂ ಸಂಪರ್ಕ!  --conllimit-above 16 -j ACCEPT $ IPT -A TCP_IN -p tcp -m tcp -m multiport! 

ಹಿಂದಿನ ಸಂರಚನೆಯೊಂದಿಗೆ, ನಮ್ಮ ವಿಪಿಎಸ್ ಅನ್ನು ಸಮಂಜಸವಾಗಿ ಸುರಕ್ಷಿತವಾಗಿರಿಸಿಕೊಳ್ಳಬೇಕು, ಆದರೆ ನಾವು ಬಯಸಿದರೆ ಅದನ್ನು ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಸುರಕ್ಷಿತಗೊಳಿಸಬಹುದು, ಇದಕ್ಕಾಗಿ ನಾವು ಇನ್ನೂ ಕೆಲವು ಸುಧಾರಿತ ನಿಯಮಗಳನ್ನು ಬಳಸಬಹುದು.

ಎಲ್ಲಾ ವಿಪಿಎಸ್ ನೆಟ್‌ಫಿಲ್ಟರ್‌ಗಾಗಿ ಹೆಚ್ಚುವರಿ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಸ್ಥಾಪಿಸಲು ಅನುಮತಿಸುವುದಿಲ್ಲ, ಆದರೆ ಬಹಳ ಉಪಯುಕ್ತವಾಗಿದೆ PSD, ಇದು ಪೋರ್ಟ್ ಸ್ಕ್ಯಾನ್‌ಗಳನ್ನು ತಪ್ಪಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ದುರದೃಷ್ಟವಶಾತ್, ಈ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ನೆಟ್‌ಫಿಲ್ಟರ್‌ಗೆ ಸಂಯೋಜಿಸಲಾಗಿಲ್ಲ, ಆದ್ದರಿಂದ ಕೆಲವು ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಸ್ಥಾಪಿಸುವುದು ಮತ್ತು ನಂತರ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ನಿರ್ಮಿಸುವುದು ಅವಶ್ಯಕ:

aptitude -RvW ಸ್ಥಾಪಿಸು iptables-dev xtables-addons-source module-ಸಹಾಯಕ ಮಾಡ್ಯೂಲ್-ಸಹಾಯಕ --verbose --text-mode ಸ್ವಯಂ-ಸ್ಥಾಪನೆ xtables-addons-source

ಮೇಲಿನವುಗಳನ್ನು ಮಾಡಿದ ನಂತರ, ನಾವು ಈ ರೀತಿಯ ನಿಯಮವನ್ನು ಸೇರಿಸಬಹುದು:

iptables -A INPUT -m psd --psd-weight -reshold 15 --psd-delay -reshold 2000 --psd-lo-port-weight 3 --psd-hi-ports-weight 1 -j ULOG --ulog- IN_PORTSCAN ಪೂರ್ವಪ್ರತ್ಯಯ

ಹಿಂದಿನ ನಿಯಮವು ಮೂಲತಃ ನಾವು 3 ಕ್ಕಿಂತ ಕಡಿಮೆ ಬಂದರನ್ನು ಪ್ರವೇಶಿಸಲು ಪ್ರಯತ್ನಿಸಿದಾಗ ಪ್ರತಿ ಬಾರಿ 1024 ರಷ್ಟು ಹೆಚ್ಚಾಗುವ ಕೌಂಟರ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ ಮತ್ತು ಪ್ರತಿ ಬಾರಿ 1 ಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಬಂದರನ್ನು ಪ್ರವೇಶಿಸಲು ಪ್ರಯತ್ನಿಸಿದಾಗ ಮತ್ತು ಈ ಕೌಂಟರ್ ಯಾವಾಗ 1023 ಸೆಕೆಂಡುಗಳಿಗಿಂತ ಕಡಿಮೆ ಅವಧಿಯಲ್ಲಿ 15 ಕ್ಕೆ ತಲುಪುತ್ತದೆ, ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ನೋಂದಾಯಿಸಲಾಗುತ್ತದೆ ulog ಪೋರ್ಟ್‌ಸ್ಕಾನ್‌ನ ಪ್ರಯತ್ನವಾಗಿ. ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ಇನ್ನೂ ಒಮ್ಮೆಗೇ ತಿರಸ್ಕರಿಸಬಹುದು, ಆದರೆ ಈ ಸಂದರ್ಭದಲ್ಲಿ ನಾವು ಬಳಸಲು ಉದ್ದೇಶಿಸಿದ್ದೇವೆ ಫೇಲ್ 2 ಬಾನ್, ನಾವು ಅದನ್ನು ನಂತರ ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ.

ನಿಯಮಗಳನ್ನು ರಚಿಸಿದ ನಂತರ, ಅವುಗಳನ್ನು ನಿರಂತರವಾಗಿ ಮಾಡಲು ನಾವು ಕೆಲವು ಮುನ್ನೆಚ್ಚರಿಕೆಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬೇಕು, ಇಲ್ಲದಿದ್ದರೆ ಸರ್ವರ್ ಮರುಪ್ರಾರಂಭಿಸಿದಾಗ ನಾವು ಅವುಗಳನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತೇವೆ. ಇದನ್ನು ಸಾಧಿಸಲು ಹಲವಾರು ಮಾರ್ಗಗಳಿವೆ; ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು ಆರಂಭದಲ್ಲಿ ಸ್ಥಾಪಿಸಿದ ಐಪ್ಟೇಬಲ್ಸ್-ನಿರಂತರ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ, ಅದು ನಿಯಮಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ /etc/iptables/rules.v4 y /etc/iptables/rules.v6 ipv6 ಗಾಗಿ.

iptables-save> /etc/iptables/rules.v4

ವಾಸ್ತವವಾಗಿ, ಕ್ಯೂಬಾದಲ್ಲಿ ಐಪಿವಿ 6 ಬಳಕೆ ಇನ್ನೂ ವ್ಯಾಪಕವಾಗಿಲ್ಲವಾದರೂ, ನಾವು ಕೆಲವು ಮೂಲಭೂತ ನಿಯಮಗಳನ್ನು ರಚಿಸಬಹುದು:

IPT = $ (ಇದು ip6tables) $ IPT -P INPUT DROP $ IPT -P FORWARD DROP $ IPT -P U ಟ್‌ಪುಟ್ ಸ್ವೀಕರಿಸಿ $ IPT -A INPUT -i lo -j ACCEPT $ IPT -A INPUT! -i ಲೋ-ಎಂ ಸ್ಟೇಟ್ - ಸ್ಟೇಟ್ ಸ್ಥಾಪಿಸಲಾಗಿದೆ, ಸಂಬಂಧಿತ -ಜೆ ಸ್ವೀಕರಿಸಿ ಐಪಿಟಿಯನ್ನು ಹೊಂದಿಸಬೇಡಿ

ಈ ನಿಯಮಗಳನ್ನು ಸಹ ನಿರಂತರಗೊಳಿಸಬಹುದು:

ip6tables-save> /etc/iptables/rules.v6

ಅಂತಿಮವಾಗಿ ಹೆಚ್ಚಿನ ಸುರಕ್ಷತೆಗಾಗಿ, ನಾವು ಫೈರ್‌ವಾಲ್‌ನ ನೋಂದಾವಣೆಯನ್ನು ಸ್ವಚ್ clean ಗೊಳಿಸುತ್ತೇವೆ ಮತ್ತು ಸೇವೆಗಳನ್ನು ಮರುಪ್ರಾರಂಭಿಸುತ್ತೇವೆ:

echo -n> /var/log/firewall.log ಸೇವೆ ಲೋಗ್ರೊಟೇಟ್ ಮರುಪ್ರಾರಂಭ ಸೇವೆ ulogd ಮರುಪ್ರಾರಂಭ ಸೇವೆ iptables- ನಿರಂತರ ಮರುಪ್ರಾರಂಭ

ಎನ್ನಿಕ್ಸ್

ನಾವು Nginx ಅನ್ನು ವೆಬ್ ಸರ್ವರ್ ಆಗಿ ಬಳಸುತ್ತೇವೆ, ಏಕೆಂದರೆ ನಿಜವಾದ ಸರ್ವರ್‌ಗೆ ಹೋಲಿಸಿದರೆ VPS ಗಳು ಕಡಿಮೆ ಪ್ರಮಾಣದ RAM ಅನ್ನು ಹೊಂದಿರುತ್ತವೆ, ಆದ್ದರಿಂದ ಸಾಮಾನ್ಯವಾಗಿ ಅಪಾಚೆಗಿಂತ ಹಗುರವಾದದ್ದನ್ನು ಹೊಂದಿರುವುದು ಒಳ್ಳೆಯದು.

Nginx ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುವ ಮೊದಲು, HTTPS ಮೂಲಕ ಬಳಸಲು ನಾವು ಪ್ರಮಾಣಪತ್ರವನ್ನು ರಚಿಸುತ್ತೇವೆ (ಪಾಸ್‌ವರ್ಡ್ ಇಲ್ಲ):

cd / etc / nginx openssl genrsa -des3 -out cert.key 4096 cp -v cert.key cert.key.original openssl req -New -key cert.key -out cert.csr openssl rsa -in cert.key.original - cert cert.key openssl x509 -req -days 365 -in cert.csr -signkey cert.key -out cert.crt

ಇದನ್ನು ಮಾಡಿದ ನಂತರ, ನಾವು "elusuario" ಬಳಕೆದಾರರಿಗಾಗಿ ಪಾಸ್ವರ್ಡ್ ಫೈಲ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ:

htpasswd -c .htpasswd ಬಳಕೆದಾರ

ಮುಂದೆ, ನಾವು ಫೈಲ್ ಅನ್ನು ಮಾರ್ಪಡಿಸುತ್ತೇವೆ / etc / nginx / sites-available / default ಡೀಫಾಲ್ಟ್ ಸೈಟ್ ಆದ್ಯತೆಗಳನ್ನು ಹೊಂದಿಸಲು. ಇದು ಈ ರೀತಿ ಕಾಣಿಸಬಹುದು:

ಸರ್ವರ್ {server_name localhost; index index.html index.htm default.html default.htm; ರೂಟ್ / ವರ್ / www; ಸ್ಥಳ / {# ಪರಿಶೀಲನೆಯ ಕ್ರಮವನ್ನು ಮತ್ತು ಪುಟವನ್ನು ಲೋಡ್ ಮಾಡಲು ಹೊಂದಿಸಿ, URI ಕಂಡುಬಂದಿಲ್ಲವಾದರೆ try_files $ uri $ uri / /index.html; }} ಸರ್ವರ್ {ಆಲಿಸಿ 127.0.0.1:443; ಸರ್ವರ್_ಹೆಸರು ಲೋಕಲ್ ಹೋಸ್ಟ್; index index.html index.htm default.html default.htm; ರೂಟ್ / ವರ್ / www; ssl ಆನ್; ssl_certificate cert.crt; ssl_certificate_key cert.key; ssl_session_timeout 5 ಮೀ; # ಎಚ್‌ಟಿಟಿಪಿಎಸ್ ಅನ್ನು ಟಿಎಲ್‌ಎಸ್ ಮೂಲಕ ಮಾತ್ರ ಸಕ್ರಿಯಗೊಳಿಸಿ (ಎಸ್‌ಎಸ್‌ಎಲ್‌ಗಿಂತ ಹೆಚ್ಚು ಸುರಕ್ಷಿತ) ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # ಹೆಚ್ಚಿನ ಸಾಮರ್ಥ್ಯದ ಸೈಫರ್‌ಗಳಿಗೆ ಆದ್ಯತೆ ನೀಡಿ [HIGH], # ಮಧ್ಯಮ-ಸಾಮರ್ಥ್ಯದ ಸೈಫರ್‌ಗಳನ್ನು [MEDIUM] ಪಟ್ಟಿಯ ಕೊನೆಯಲ್ಲಿ ಸರಿಸಿ, # ಕಡಿಮೆ-ಸಾಮರ್ಥ್ಯದ ಸೈಫರ್‌ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ [ಕಡಿಮೆ] (40 ಮತ್ತು 56 ಬಿಟ್‌ಗಳು) # ರಫ್ತು ಕ್ರಮಾವಳಿಗಳೊಂದಿಗೆ ಸೈಫರ್‌ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ [ EXP] # ದೃ hentic ೀಕರಣವಿಲ್ಲದೆ [aNULL], SSL (ಆವೃತ್ತಿಗಳು 2 ಮತ್ತು 3) ಮತ್ತು DSS (1024 ಬಿಟ್‌ಗಳವರೆಗೆ ಕೀಲಿಗಳನ್ನು ಮಾತ್ರ ಅನುಮತಿಸಿ) ssl_ciphers ಹೈ: + ಮಾಧ್ಯಮ :! ಕಡಿಮೆ :! EXP :! eNULL :! SSLv3 :! SSLv2 :! DSS; # ಸರ್ವರ್‌ನ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ವಿಧಾನಗಳಿಗೆ ಆದ್ಯತೆ ನೀಡಿ (ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಕ್ಲೈಂಟ್‌ಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ) ssl_prefer_server_ciphers ಆನ್; ಸ್ಥಳ / {# ದೃ hentic ೀಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ auth_basic "ಲಾಗಿನ್"; auth_basic_user_file /etc/nginx/.htpasswd; # URI try_files $ uri $ uri / = 404 ಕಂಡುಬಂದಿಲ್ಲದಿದ್ದರೆ, ಪರಿಶೀಲನೆಯ ಕ್ರಮ ಮತ್ತು ಪುಟ ಕೋಡ್ ಅನ್ನು ಲೋಡ್ ಮಾಡಲು ಹೊಂದಿಸಿ; # ಸ್ವಯಂಚಾಲಿತ ಬಳಕೆದಾರರಿಗೆ ಸ್ವಯಂಚಾಲಿತ ಸೂಚ್ಯಂಕವನ್ನು ರಚಿಸಲು ಅನುಮತಿಸಿ; autoindex_exact_size off; autoindex_localtime ಆನ್ ಆಗಿದೆ; }}

ಸಂರಚನೆ ಸರಿಯಾಗಿದೆಯೇ ಎಂದು ನಾವು ಪರಿಶೀಲಿಸುತ್ತೇವೆ:

nginx -t

ಅಂತಿಮವಾಗಿ, ನಾವು ಸೇವೆಯನ್ನು ಮರುಪ್ರಾರಂಭಿಸುತ್ತೇವೆ:

ಸೇವೆ nginx ಮರುಪ್ರಾರಂಭಿಸಿ

ವಿಫಲ 2 ಬ್ಯಾನ್

Fail2Ban ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು, ಹೆಚ್ಚಿನ ಸುರಕ್ಷತೆಗಾಗಿ ನಾವು ಸೇವೆಯನ್ನು ನಿಲ್ಲಿಸುತ್ತೇವೆ ಮತ್ತು ನೋಂದಾವಣೆಯನ್ನು ಸ್ವಚ್ clean ಗೊಳಿಸುತ್ತೇವೆ:

fail2ban-client stop echo -n> /var/log/fail2ban.log

ಮುಂದೆ, ನಾವು ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ /etc/fail2ban/jail.local ಕೆಳಗಿನ ಕಸ್ಟಮ್ ವಿಷಯದೊಂದಿಗೆ:

# ಕಸ್ಟಮ್ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ /etc/fail2ban/jail.local # [DEFAULT] findtime = 43200; 12 ಗಂಟೆಗಳ ಬ್ಯಾಂಟಿಮ್ = 86400; 1 ದಿನದ ಗರಿಷ್ಠ = 3; 4 ನೇ ಪ್ರಯತ್ನದ ನಂತರ ನಿಷೇಧವು ಜಾರಿಗೆ ಬರುತ್ತದೆ [ssh] enable = false [nginx-auth] enable = true filter = nginx-auth action = iptables-multiport [name = NoAuthFailures, port = "http, https"] logpath = / var / log / nginx * / * error * .log [nginx-badbots] enable = true filter = apache-badbots action = iptables-multiport [name = BadBots, port = "http, https"] logpath = / var / log / nginx * /*access*.log bantime = 604800; 1 ವಾರ ಗರಿಷ್ಠ = 0 [nginx-login] enable = true filter = nginx-login action = iptables-multiport [name = NoLoginFailures, port = "http, https"] logpath = / var / log / nginx * / * access *. ಲಾಗ್ ಬ್ಯಾಂಟಿಮ್ = 1800; 30 ನಿಮಿಷಗಳು [nginx-noscript] enable = true action = iptables-multiport [name = NoScript, port = "http, https"] filter = nginx-noscript logpath = /var/log/nginx*/*access*.log maxretry = 0 [nginx-proxy] enable = true action = iptables-multiport [name = NoProxy, port = "http, https"] filter = nginx-proxy logpath = /var/log/nginx*/*access*.log bantime = 604800 ; 1 ವಾರ ಗರಿಷ್ಠ = 0 [ಫೈರ್‌ವಾಲ್] ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ = ನಿಜವಾದ ಕ್ರಿಯೆ = ಐಪ್ಟೇಬಲ್‌ಗಳು-ಮಲ್ಟಿಪೋರ್ಟ್ [ಹೆಸರು = ಫೈರ್‌ವಾಲ್] ಫಿಲ್ಟರ್ = ಫೈರ್‌ವಾಲ್ ಲಾಗ್‌ಪಾತ್ = /var/log/firewall.log ಮ್ಯಾಕ್ಸ್‌ಟ್ರೀ = 0

ಇದನ್ನು ಮಾಡಿದ ನಂತರ, ನಾವು ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ರಚಿಸುತ್ತೇವೆ /etc/fail2ban/filters.d/ ಕೆಳಗಿನ ಫೈಲ್‌ಗಳು:

# /etc/fail2ban/filter.d/nginx-auth.conf # ದೃ uth ೀಕರಣ ಫಿಲ್ಟರ್ # ಮೂಲ ದೃ hentic ೀಕರಣವನ್ನು ಬಳಸಿಕೊಂಡು ದೃ ate ೀಕರಿಸಲು ವಿಫಲವಾದ ಐಪಿಗಳನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತದೆ # [ವ್ಯಾಖ್ಯಾನ] failregex = ಮೂಲ ದೃ hentic ೀಕರಣಕ್ಕಾಗಿ ಯಾವುದೇ ಬಳಕೆದಾರ / ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಒದಗಿಸಲಾಗಿಲ್ಲ. * ಕ್ಲೈಂಟ್: ಬಳಕೆದಾರ. * ಕಂಡುಬಂದಿಲ್ಲ. * ಕ್ಲೈಂಟ್: ಬಳಕೆದಾರ. * ಪಾಸ್ವರ್ಡ್ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ. * ಕ್ಲೈಂಟ್: ignreregex =
# /etc/fail2ban/filter.d/nginx-login.conf # ಲಾಗಿನ್ ಫಿಲ್ಟರ್ # ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ನ ಲಾಗ್ ಇನ್ ಪುಟವನ್ನು ಬಳಸಿಕೊಂಡು ದೃ ate ೀಕರಿಸಲು ವಿಫಲವಾದ ಐಪಿಗಳನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತದೆ # HTTP 200 + POST / session => ಗೆ ಪ್ರವೇಶ ಲಾಗ್ ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಿ ] failregex = ^ -. * POST / ಸೆಷನ್‌ಗಳು HTTP / 1 \ .. "200 ignreregex =
# /etc/fail2ban/filter.d/nginx-noscript.conf # ನೋಸ್ಕ್ರಿಪ್ಟ್ ಫಿಲ್ಟರ್ # .php, .pl, .exe ಮತ್ತು ಇತರ ತಮಾಷೆಯ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಂತಹ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವ ಐಪಿಗಳನ್ನು ನಿರ್ಬಂಧಿಸಿ. # ಪಂದ್ಯಗಳು ಉದಾ # 192.168.1.1 - - "GET /something.php # [ವ್ಯಾಖ್ಯಾನ] failregex = ^ -. * GET. * (\. Php | \ .asp | \ .exe | \ .pl | \ .cgi | \ scgi) ignreregex =
# /etc/fail2ban/filter.d/proxy.conf # ಪ್ರಾಕ್ಸಿ ಫಿಲ್ಟರ್ # ಸರ್ವರ್ ಅನ್ನು ಪ್ರಾಕ್ಸಿಯಾಗಿ ಬಳಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವ ಐಪಿಗಳನ್ನು ನಿರ್ಬಂಧಿಸಿ. # ಪಂದ್ಯಗಳು ಉದಾ # 192.168.1.1 - - "ಪಡೆಯಿರಿ http://www.something.com/ # [ವ್ಯಾಖ್ಯಾನ] failregex = ^ -. * ಪಡೆಯಿರಿ http. * Ignoreregex =
# /etc/fail2ban/filter.d/firewall.conf # ಫೈರ್‌ವಾಲ್ ಫಿಲ್ಟರ್ # [ವ್ಯಾಖ್ಯಾನ] failregex = ^. * IN_ (INVALID | PORTSCAN | UDP | TCP |). * SRC = . * $ ignreregex =

ಅಂತಿಮವಾಗಿ, ನಾವು ಸೇವೆಯನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ ಮತ್ತು ಸಂರಚನೆಯನ್ನು ಲೋಡ್ ಮಾಡುತ್ತೇವೆ:

fail2ban-service -b fail2ban-client ಮರುಲೋಡ್

ಪರಿಶೀಲನೆ

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

ಒಂದು ವೇಳೆ ಇಮೇಲ್ ಖಾತೆಯನ್ನು ವಿಪಿಎಸ್‌ನಲ್ಲಿ ಕಾನ್ಫಿಗರ್ ಮಾಡದಿದ್ದರೆ, ಮಲ್ಟಿಟೇಲ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುವಾಗ ಗೋಚರಿಸುವ ಎಚ್ಚರಿಕೆ ಸಂದೇಶವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವುದು ಸೂಕ್ತವಾಗಿದೆ, ಇದಕ್ಕಾಗಿ ನಾವು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತೇವೆ:

ಪ್ರತಿಧ್ವನಿ "check_mail: 0"> ~ / .multitailrc

ವಾಸ್ತವವಾಗಿ, ಲಾಗ್‌ಗಳನ್ನು ಸಣ್ಣ ಆಜ್ಞೆಯೊಂದಿಗೆ ತ್ವರಿತವಾಗಿ ವೀಕ್ಷಿಸಲು ನಾವು ಅಲಿಯಾಸ್ (4) ಅನ್ನು ತಯಾರಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ, "ಫ್ಲಾಗ್":

ಅಲಿಯಾಸ್ ಫ್ಲಾಗ್ = 'ಮಲ್ಟಿಟೇಲ್ - ಫಾಲೋ-ಆಲ್ /var/log/firewall.log /var/log/fail2ban.log'

1) ಇವು ಕಾಲ್ಪನಿಕ ಮೌಲ್ಯಗಳು.
2) ಇತರ ಸೇವೆಗಳು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ನೀವು ಅರ್ಥಮಾಡಿಕೊಂಡ ನಂತರ ಅದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವುದು ಸುಲಭ.
3) ಹೆಚ್ಚಿನ ವಿವರಗಳಿಗಾಗಿ, ಮ್ಯಾನ್ ಸುಡೋರ್‌ಗಳನ್ನು ಚಲಾಯಿಸಿ.
4) ಐಚ್ ally ಿಕವಾಗಿ ~ / .bash_aliases ಫೈಲ್‌ಗೆ ಸೇರಿಸಬಹುದು


ನಿಮ್ಮ ಅಭಿಪ್ರಾಯವನ್ನು ಬಿಡಿ

ನಿಮ್ಮ ಈಮೇಲ್ ವಿಳಾಸ ಪ್ರಕಟವಾದ ಆಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಜಾಗ ಗುರುತಿಸಲಾಗಿದೆ *

*

*

  1. ಡೇಟಾಗೆ ಜವಾಬ್ದಾರಿ: ಮಿಗುಯೆಲ್ ಏಂಜೆಲ್ ಗಟಾನ್
  2. ಡೇಟಾದ ಉದ್ದೇಶ: ನಿಯಂತ್ರಣ SPAM, ಕಾಮೆಂಟ್ ನಿರ್ವಹಣೆ.
  3. ಕಾನೂನುಬದ್ಧತೆ: ನಿಮ್ಮ ಒಪ್ಪಿಗೆ
  4. ಡೇಟಾದ ಸಂವಹನ: ಕಾನೂನುಬದ್ಧ ಬಾಧ್ಯತೆಯನ್ನು ಹೊರತುಪಡಿಸಿ ಡೇಟಾವನ್ನು ಮೂರನೇ ವ್ಯಕ್ತಿಗಳಿಗೆ ಸಂವಹನ ಮಾಡಲಾಗುವುದಿಲ್ಲ.
  5. ಡೇಟಾ ಸಂಗ್ರಹಣೆ: ಆಕ್ಸೆಂಟಸ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು (ಇಯು) ಹೋಸ್ಟ್ ಮಾಡಿದ ಡೇಟಾಬೇಸ್
  6. ಹಕ್ಕುಗಳು: ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ನೀವು ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಮಿತಿಗೊಳಿಸಬಹುದು, ಮರುಪಡೆಯಬಹುದು ಮತ್ತು ಅಳಿಸಬಹುದು.

  1.   msx ಡಿಜೊ

    ಕೆಲವು ಆಸಕ್ತಿದಾಯಕ ವಿಷಯಗಳಿವೆ, +1

  2.   ಯುಕಿಟೆರು ಡಿಜೊ

    Line ಸಂರಚನೆಯಲ್ಲಿ ಈ ಸಾಲನ್ನು ಹ್ಯೂಗೋ ಮಾಡಿ:

    ssl_protocols SSLv3 TLSv1;

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

    ಇಲ್ಲಿ ವಿಷಯದ ಬಗ್ಗೆ ಮಾಹಿತಿ:

    https://www.linode.com/docs/security/security-patches/disabling-sslv3-for-poodle
    http://disablessl3.com/

    1.    ಹ್ಯೂಗೊ ಡಿಜೊ

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

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

  3.   ಡೇನಿಯಲ್ ಪಿ Z ಡ್ ಡಿಜೊ

    Muchas gracias por este estupendo tutorial, ahora lo pondré en practica! :D, Sigan así DesdeLinux, siempre me sorprenden, Saludos desde Perú.

  4.   Eandekuera ಡಿಜೊ

    ಹಂಚಿಕೊಂಡಿದ್ದಕ್ಕೆ ತುಂಬಾ ಧನ್ಯವಾದಗಳು.

  5.   ಫರ್ನಾಂಡೊ ಡಿಜೊ

    ಉತ್ತಮ ಮಾರ್ಗದರ್ಶಿ ಮತ್ತು ಈಗ ನಾನು ಈ ಬ್ಲಾಗ್‌ನಲ್ಲಿ ಪ್ರಾರಂಭಿಸಿದ ಮುತ್ತುಗಳಿಂದ ಬಂದಿದೆ ಆದರೆ ಅದಕ್ಕಿಂತ ಹೆಚ್ಚಾಗಿ ಈಗ ನಾನು ನನ್ನ ಮೊದಲ ವಿಪಿಎಸ್ ಅನ್ನು ಆರೋಹಿಸಲು ಹೊರಟಿದ್ದೇನೆ ಮತ್ತು ಇನ್ನೂ ಅನೇಕ ಸಮಸ್ಯೆಗಳೊಂದಿಗೆ ಆದರೆ ಈ ಲೇಖನವು ನನ್ನನ್ನು ಅನೇಕ ಅನುಮಾನಗಳಿಂದ, ಧನ್ಯವಾದಗಳು ಮತ್ತು ಶುಭಾಶಯಗಳಿಂದ ತೆಗೆದುಕೊಂಡಿದೆ