Linux ಸಲಹೆಗಳು ಮತ್ತು ತಂತ್ರಗಳು: ಸರ್ವರ್, ತೆರೆಯಿರಿ

SSH/RDP/ಇತರ ಮೂಲಕ ಪ್ರಪಂಚದ ಎಲ್ಲಿಂದಲಾದರೂ ತಮ್ಮ ಸರ್ವರ್‌ಗಳಿಗೆ ಪ್ರವೇಶದೊಂದಿಗೆ, ತಮ್ಮ ಪ್ರೀತಿಪಾತ್ರರನ್ನು ಒದಗಿಸಬೇಕಾದವರಿಗೆ, ಒಂದು ಸಣ್ಣ RTFM/spur.

ಕೈಯಲ್ಲಿರುವ ಯಾವುದೇ ಸಾಧನದಿಂದ ನಾವು VPN ಮತ್ತು ಇತರ ಬೆಲ್‌ಗಳು ಮತ್ತು ಸೀಟಿಗಳಿಲ್ಲದೆಯೇ ಮಾಡಬೇಕಾಗಿದೆ.

ಮತ್ತು ಆದ್ದರಿಂದ ನೀವು ಸರ್ವರ್‌ನೊಂದಿಗೆ ಹೆಚ್ಚು ವ್ಯಾಯಾಮ ಮಾಡಬೇಕಾಗಿಲ್ಲ.

ಇದಕ್ಕಾಗಿ ನಿಮಗೆ ಬೇಕಾಗಿರುವುದು ಬಡಿದಿದೆ, ನೇರ ತೋಳುಗಳು ಮತ್ತು 5 ನಿಮಿಷಗಳ ಕೆಲಸ.

"ಎಲ್ಲವೂ ಇಂಟರ್ನೆಟ್‌ನಲ್ಲಿದೆ," ಸಹಜವಾಗಿ (ಸಹ ಹಬ್ರೆ), ಆದರೆ ಇದು ಒಂದು ನಿರ್ದಿಷ್ಟ ಅನುಷ್ಠಾನಕ್ಕೆ ಬಂದಾಗ, ಇದು ಪ್ರಾರಂಭವಾಗುತ್ತದೆ...

ನಾವು Fedora/CentOS ಅನ್ನು ಉದಾಹರಣೆಯಾಗಿ ಬಳಸಲು ಅಭ್ಯಾಸ ಮಾಡುತ್ತೇವೆ, ಆದರೆ ಅದು ಅಪ್ರಸ್ತುತವಾಗುತ್ತದೆ.

ಈ ವಿಷಯದಲ್ಲಿ ಆರಂಭಿಕರಿಗಾಗಿ ಮತ್ತು ತಜ್ಞರಿಗೆ ಸ್ಪರ್ ಸೂಕ್ತವಾಗಿದೆ, ಆದ್ದರಿಂದ ಕಾಮೆಂಟ್‌ಗಳು ಇರುತ್ತವೆ, ಆದರೆ ಅವು ಚಿಕ್ಕದಾಗಿರುತ್ತವೆ.

1. ಸರ್ವರ್

  • ನಾಕ್-ಸರ್ವರ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿ:
    yum/dnf install knock-server

  • ಇದನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ (ಉದಾಹರಣೆಗೆ ssh ನಲ್ಲಿ) - /etc/knockd.conf:

    [options]
        UseSyslog
        interface = enp1s0f0
    [SSHopen]
        sequence        = 33333,22222,11111
        seq_timeout     = 5
        tcpflags        = syn
        start_command   = iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
        cmd_timeout     = 3600
        stop_command    = iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
    [SSHclose]
        sequence        = 11111,22222,33333
        seq_timeout     = 5
        tcpflags        = syn
        command         = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

    "ಆರಂಭಿಕ" ಭಾಗವನ್ನು 1 ಗಂಟೆಯ ನಂತರ ಸ್ವಯಂ ಮುಚ್ಚಲು ಹೊಂದಿಸಲಾಗಿದೆ. ನಿನಗೆ ತಿಳಿಯದೇ ಇದ್ದೀತು...

  • /etc/sysconfig/iptables:

    ...
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 11111 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 22222 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 33333 -j ACCEPT
    ...

  • ಮುಂದೆ:

    service iptables restart
    service knockd start

  • ಒಳಗೆ ತಿರುಗುತ್ತಿರುವ ವರ್ಚುವಲ್ ವಿಂಡೋಸ್ ಸರ್ವರ್‌ಗೆ ನೀವು RDP ಅನ್ನು ಸೇರಿಸಬಹುದು (/etc/knockd.conf; ನಿಮ್ಮ ರುಚಿಗೆ ತಕ್ಕಂತೆ ಇಂಟರ್ಫೇಸ್ ಹೆಸರನ್ನು ಬದಲಿಸಿ):

    [RDPopen]
        sequence        = 44444,33333,22222
        seq_timeout     = 5
        tcpflags        = syn
        start_command   = iptables -t nat -A PREROUTING -s %IP% -i enp1s0f0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2
        cmd_timeout     = 3600
        stop_command    = iptables -t nat -D PREROUTING -s %IP% -i enp1s0f0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2
    [RDPclose]
        sequence        = 22222,33333,44444
        seq_timeout     = 5
        tcpflags        = syn
        command         = iptables -t nat -D PREROUTING -s %IP% -i enp1s0f0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2

    ಕಮಾಂಡ್‌ನೊಂದಿಗೆ ಸರ್ವರ್‌ನಲ್ಲಿ ಕ್ಲೈಂಟ್‌ನಿಂದ ನಮ್ಮ ಎಲ್ಲಾ ಒದೆತಗಳನ್ನು ನಾವು ಟ್ರ್ಯಾಕ್ ಮಾಡುತ್ತೇವೆ iptables -S.

2. ಕುಂಟೆಗಳಿಗೆ ಮಾರ್ಗದರ್ಶಿ

knockd.conf:

ಮನವು ಎಲ್ಲವನ್ನೂ ಒಳಗೊಂಡಿದೆ (ಆದರೆ ಇದು ನಿಖರವಾಗಿಲ್ಲ), ಆದರೆ ನಾಕ್ಡ್ ಸಂದೇಶಗಳೊಂದಿಗೆ ಸಾಕಷ್ಟು ಜಿಪುಣನಾದ ಸ್ನೇಹಿತ, ಆದ್ದರಿಂದ ನೀವು ತುಂಬಾ ಜಾಗರೂಕರಾಗಿರಬೇಕು.

  • ಆವೃತ್ತಿ
    Fedora/CentOS ರೆಪೊಸಿಟರಿಗಳಲ್ಲಿ, ಇಂದಿನ ಇತ್ತೀಚಿನ ನಾಕ್ಡ್ 0.63 ಆಗಿದೆ. ಯಾರಿಗೆ UDP ಬೇಕು - 0.70 ಪ್ಯಾಕೆಟ್‌ಗಳಿಗಾಗಿ ನೋಡಿ.
  • ಇಂಟರ್ಫೇಸ್
    ಡೀಫಾಲ್ಟ್ Fedora/CentOS ಸಂರಚನೆಯಲ್ಲಿ ಈ ಸಾಲು ಯಾವುದೇ. ನಿಮ್ಮ ಕೈಗಳಿಂದ ಸೇರಿಸಿ, ಇಲ್ಲದಿದ್ದರೆ ಅದು ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ.
  • ಸಮಯ ಮೀರಿದೆ
    ಇಲ್ಲಿ ನೀವು ನಿಮ್ಮ ರುಚಿಗೆ ಅನುಗುಣವಾಗಿ ಆಯ್ಕೆ ಮಾಡಬಹುದು. ಕ್ಲೈಂಟ್ ಎಲ್ಲಾ ಕಿಕ್‌ಗಳಿಗೆ ಸಾಕಷ್ಟು ಸಮಯವನ್ನು ಹೊಂದಿರುವುದು ಅವಶ್ಯಕ - ಮತ್ತು ಪೋರ್ಟ್ ಸ್ಕ್ಯಾನರ್ ಬೋಟ್ ಒಡೆಯುತ್ತದೆ (ಮತ್ತು 146% ಸ್ಕ್ಯಾನ್ ಮಾಡುತ್ತದೆ).
  • ಪ್ರಾರಂಭ/ನಿಲ್ಲಿಸು/ಆಜ್ಞೆ.
    ಒಂದು ಆಜ್ಞೆ ಇದ್ದರೆ, ನಂತರ ಕಮಾಂಡ್, ಎರಡು ಇದ್ದರೆ, ನಂತರ start_command+stop_command.
    ನೀವು ತಪ್ಪು ಮಾಡಿದರೆ, ನಾಕ್ಡ್ ಮೌನವಾಗಿ ಉಳಿಯುತ್ತದೆ, ಆದರೆ ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ.
  • ಪ್ರೊಟೊ
    ಸೈದ್ಧಾಂತಿಕವಾಗಿ, UDP ಅನ್ನು ಬಳಸಬಹುದು. ಪ್ರಾಯೋಗಿಕವಾಗಿ, ನಾನು tcp ಮತ್ತು udp ಅನ್ನು ಮಿಶ್ರಣ ಮಾಡಿದ್ದೇನೆ ಮತ್ತು ಬಾಲಿಯ ಕಡಲತೀರದ ಕ್ಲೈಂಟ್ ಐದನೇ ಬಾರಿಗೆ ಮಾತ್ರ ಗೇಟ್ ತೆರೆಯಲು ಸಾಧ್ಯವಾಯಿತು. ಏಕೆಂದರೆ ಅಗತ್ಯವಿದ್ದಾಗ TCP ಬಂದಿತು, ಆದರೆ UDP ಒಂದು ಸತ್ಯವಲ್ಲ. ಆದರೆ ಇದು ಮತ್ತೊಮ್ಮೆ ರುಚಿಯ ವಿಷಯವಾಗಿದೆ.
  • ಅನುಕ್ರಮ
    ಸೀಕ್ವೆನ್ಸ್‌ಗಳು ಛೇದಿಸಬಾರದು ಎಂಬುದು ಸೂಚ್ಯವಾದ ಕುಂಟೆ... ಇದನ್ನು ಹೇಗೆ ಹೇಳಲಿ...

ಉದಾಹರಣೆಗೆ, ಇದು:

open: 11111,22222,33333
close: 22222,11111,33333

ಕಿಕ್ 11111 ಮೂಲಕ ತೆರೆದ 22222 ನಲ್ಲಿ ಮುಂದಿನ ಕಿಕ್‌ಗಾಗಿ ಕಾಯುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಈ (22222) ಕಿಕ್‌ನ ನಂತರ ಅದು ಕೆಲಸ ಮಾಡಲು ಪ್ರಾರಂಭಿಸುತ್ತದೆ. ನಿಕಟ ಮತ್ತು ಎಲ್ಲವೂ ಮುರಿಯುತ್ತವೆ. ಇದು ಗ್ರಾಹಕರ ವಿಳಂಬವನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. ಅಂತಹ ವಿಷಯಗಳು ©.

iptables

/etc/sysconfig/iptables ನಲ್ಲಿ ಇದ್ದರೆ ಇದು:

*nat
:PREROUTING ACCEPT [0:0]

ಇದು ನಿಜವಾಗಿಯೂ ನಮಗೆ ತೊಂದರೆ ಕೊಡುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಇಲ್ಲಿದೆ:

*filter
:INPUT ACCEPT [0:0]
...
-A INPUT -j REJECT --reject-with icmp-host-prohibited

ಇದು ಹಸ್ತಕ್ಷೇಪ ಮಾಡುತ್ತದೆ.

INPUT ಸರಪಳಿಯ ಅಂತ್ಯಕ್ಕೆ ನಾಕ್ಡ್ ನಿಯಮಗಳನ್ನು ಸೇರಿಸುವುದರಿಂದ, ನಾವು ತಿರಸ್ಕರಿಸುತ್ತೇವೆ.

ಮತ್ತು ಈ ತಿರಸ್ಕಾರವನ್ನು ಆಫ್ ಮಾಡುವುದು ಎಂದರೆ ಕಾರನ್ನು ಎಲ್ಲಾ ಗಾಳಿಗಳಿಗೆ ತೆರೆಯುವುದು.

ಐಪ್ಟೇಬಲ್ಸ್‌ನಲ್ಲಿ ಕಳೆದುಹೋಗದಿರಲು ಯಾವುದನ್ನು ಮೊದಲು ಸೇರಿಸಬೇಕು (ಈ ರೀತಿ ಜನರು ಸೂಚಿಸಿ) ಅದನ್ನು ಸರಳಗೊಳಿಸೋಣ:

  • ಪೂರ್ವನಿಯೋಜಿತ CentOS/Fedora ನಲ್ಲಿ ಮೊದಲನೆಯದು ನಿಯಮವನ್ನು ("ನಿಷೇಧಿಸಲಾಗದ್ದನ್ನು ಅನುಮತಿಸಲಾಗಿದೆ") ವಿರುದ್ಧವಾಗಿ ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ,
  • ಮತ್ತು ನಾವು ಕೊನೆಯ ನಿಯಮವನ್ನು ತೆಗೆದುಹಾಕುತ್ತೇವೆ.

ಫಲಿತಾಂಶವು ಹೀಗಿರಬೇಕು:

*filter
:INPUT DROP [0:0]
...
#-A INPUT -j REJECT --reject-with icmp-host-prohibited

ನೀವು ಸಹಜವಾಗಿ, DROP ಬದಲಿಗೆ ತಿರಸ್ಕರಿಸಬಹುದು, ಆದರೆ DROP ಜೀವನವು ಬಾಟ್‌ಗಳಿಗೆ ಹೆಚ್ಚು ಮೋಜಿನದಾಗಿರುತ್ತದೆ.

3. ಗ್ರಾಹಕ

ಈ ಸ್ಥಳವು ಅತ್ಯಂತ ಆಸಕ್ತಿದಾಯಕವಾಗಿದೆ (ನನ್ನ ದೃಷ್ಟಿಕೋನದಿಂದ), ಏಕೆಂದರೆ ನೀವು ಯಾವುದೇ ಬೀಚ್‌ನಿಂದ ಮಾತ್ರವಲ್ಲದೆ ಯಾವುದೇ ಸಾಧನದಿಂದಲೂ ಕೆಲಸ ಮಾಡಬೇಕಾಗುತ್ತದೆ.

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

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

ಮತ್ತು ಹೌದು, ಕ್ಲೈಂಟ್ ಅನ್ನು ಹೊಂದಿಸುವಾಗ, ನೀವು ವಿಳಂಬವನ್ನು ನೀವೇ ಆರಿಸಬೇಕಾಗುತ್ತದೆ. ತುಂಬಾ ಸಮಯ ಮೀರಿದೆ - ಬಾಟ್‌ಗಳು ದಾಳಿ ಮಾಡುತ್ತವೆ, ತುಂಬಾ ಕಡಿಮೆ - ಕ್ಲೈಂಟ್‌ಗೆ ಸಮಯ ಇರುವುದಿಲ್ಲ. ತುಂಬಾ ವಿಳಂಬ - ಕ್ಲೈಂಟ್ ಸಮಯಕ್ಕೆ ಅದನ್ನು ಮಾಡುವುದಿಲ್ಲ ಅಥವಾ ಮೂರ್ಖರ ಘರ್ಷಣೆ ಇರುತ್ತದೆ ("ರೇಕ್‌ಗಳು" ನೋಡಿ), ತುಂಬಾ ಕಡಿಮೆ - ಪ್ಯಾಕೆಟ್‌ಗಳು ಇಂಟರ್ನೆಟ್‌ನಲ್ಲಿ ಕಳೆದುಹೋಗುತ್ತವೆ.

ಸಮಯ ಮೀರುವುದರೊಂದಿಗೆ=5s, ವಿಳಂಬ=100..500ms ಸಂಪೂರ್ಣವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಆಯ್ಕೆಯಾಗಿದೆ

ವಿಂಡೋಸ್

ಇದು ಎಷ್ಟೇ ತಮಾಷೆಯೆನಿಸಿದರೂ, ಈ ಪ್ಲ್ಯಾಟ್‌ಫಾರ್ಮ್‌ಗಾಗಿ Google ಸ್ಪಷ್ಟವಾದ ನಾಕ್ ಕ್ಲೈಂಟ್‌ಗೆ ಇದು ಕ್ಷುಲ್ಲಕವಲ್ಲ. CLI ವಿಳಂಬ, TCP - ಮತ್ತು ಬಿಲ್ಲುಗಳಿಲ್ಲದೆ ಬೆಂಬಲಿಸುತ್ತದೆ.

ಪರ್ಯಾಯವಾಗಿ, ನೀವು ಪ್ರಯತ್ನಿಸಬಹುದು ಇದು ಇದು. ಸ್ಪಷ್ಟವಾಗಿ ನನ್ನ Google ಒಂದು ಕೇಕ್ ಅಲ್ಲ.

ಲಿನಕ್ಸ್

ಇಲ್ಲಿ ಎಲ್ಲವೂ ಸರಳವಾಗಿದೆ:

dnf install knock -y
knock -d <delay> <dst_ip> 11111 22222 33333

ಮ್ಯಾಕೋಸ್

ಹೋಮ್ಬ್ರೂನಿಂದ ಪೋರ್ಟ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವುದು ಸುಲಭವಾದ ಮಾರ್ಗವಾಗಿದೆ:
brew install knock
ಮತ್ತು ಆಜ್ಞೆಗಳಿಗೆ ಅಗತ್ಯವಾದ ಬ್ಯಾಚ್ ಫೈಲ್‌ಗಳನ್ನು ಸೆಳೆಯಿರಿ:

#!bin/sh
knock -d <delay> <dst_ip> 11111 22222 33333

ಐಒಎಸ್

ಕೆಲಸ ಮಾಡುವ ಆಯ್ಕೆಯು KnockOnD ಆಗಿದೆ (ಉಚಿತ, ಅಂಗಡಿಯಿಂದ).

ಆಂಡ್ರಾಯ್ಡ್

"ನಾಕ್ ಆನ್ ಪೋರ್ಟ್ಸ್" ಜಾಹೀರಾತು ಅಲ್ಲ, ಆದರೆ ಅದು ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಮತ್ತು ಅಭಿವರ್ಧಕರು ಸಾಕಷ್ಟು ಸ್ಪಂದಿಸುತ್ತಾರೆ.

ಹಬ್ರೆ ಮೇಲೆ PS ಮಾರ್ಕ್‌ಡೌನ್, ಖಂಡಿತವಾಗಿಯೂ, ದೇವರು ಅವನನ್ನು ಒಂದು ದಿನ ಆಶೀರ್ವದಿಸಲಿ...

ಯುಪಿಡಿ 1: ಇವರಿಗೆ ಧನ್ಯವಾದಗಳು ಒಳ್ಳೆಯ ವ್ಯಕ್ತಿಗೆ ಕಂಡು ಕೆಲಸ ಮಾಡುವ ಕ್ಲೈಂಟ್ ವಿಂಡೋಸ್ ಅಡಿಯಲ್ಲಿ.
ಯುಪಿಡಿ 2: ಮತ್ತೊಂದು ಒಳ್ಳೆಯ ವ್ಯಕ್ತಿ iptables ನ ಕೊನೆಯಲ್ಲಿ ಹೊಸ ನಿಯಮಗಳನ್ನು ಹಾಕುವುದು ಯಾವಾಗಲೂ ಉಪಯುಕ್ತವಲ್ಲ ಎಂದು ನನಗೆ ನೆನಪಿಸಿತು. ಆದರೆ - ಇದು ಅವಲಂಬಿಸಿರುತ್ತದೆ.

ಮೂಲ: www.habr.com

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