லினக்ஸ் உதவிக்குறிப்புகள் & தந்திரங்கள்: சர்வர், திறக்கவும்

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 சங்கிலியின் முடிவில் knockd விதிகளைச் சேர்ப்பதால், நாங்கள் நிராகரிக்கப்படுவோம்.

இந்த நிராகரிப்பை அணைப்பது என்பது எல்லா காற்றுக்கும் காரைத் திறப்பதாகும்.

ஐப்டேபிள்களில் தொலைந்து போகாமல் இருக்க, எதைச் செருக வேண்டும் (இது போன்றது மக்கள் பரிந்துரைக்கவும்) அதை எளிதாக்குவோம்:

  • இயல்புநிலை CentOS/Fedora இல் முதல் விதி ("தடை செய்யப்படாதது அனுமதிக்கப்படுகிறது") எதிர்மாறாக மாற்றப்படும்,
  • கடைசி விதியை அகற்றுவோம்.

முடிவு இருக்க வேண்டும்:

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

நீங்கள் நிச்சயமாக, DROP க்குப் பதிலாக நிராகரிக்கலாம், ஆனால் DROP வாழ்க்கை போட்களுக்கு மிகவும் வேடிக்கையாக இருக்கும்.

3. வாடிக்கையாளர்

இந்த இடம் மிகவும் சுவாரஸ்யமானது (எனது பார்வையில்), நீங்கள் எந்த கடற்கரையிலிருந்தும் மட்டுமல்ல, எந்த சாதனத்திலிருந்தும் வேலை செய்ய வேண்டும்.

கொள்கையளவில், பல வாடிக்கையாளர்கள் பட்டியலிடப்பட்டுள்ளனர் வலைத்தளத்தில் திட்டம், ஆனால் இது அதே தொடரிலிருந்து "எல்லாம் இணையத்தில் உள்ளது." எனவே, என் விரல் நுனியில் என்ன வேலை செய்கிறது என்பதை இங்கே மற்றும் இப்போது பட்டியலிடுகிறேன்.

ஒரு கிளையண்டைத் தேர்ந்தெடுக்கும்போது, ​​அது பாக்கெட்டுகளுக்கு இடையே உள்ள தாமத விருப்பத்தை ஆதரிக்கிறதா என்பதை உறுதிப்படுத்திக் கொள்ள வேண்டும். ஆம், கடற்கரைகளுக்கும் 100 மெகாபிட்களுக்கும் இடையே வேறுபாடுகள் உள்ளன, கொடுக்கப்பட்ட இடத்திலிருந்து சரியான நேரத்தில் பாக்கெட்டுகள் சரியான வரிசையில் வரும் என்பதற்கு உத்தரவாதம் அளிக்காது.

ஆம், ஒரு கிளையண்டை அமைக்கும் போது, ​​தாமதத்தை நீங்களே தேர்ந்தெடுக்க வேண்டும். அதிக நேரம் முடிந்தது - போட்கள் தாக்கும், மிகக் குறைவு - வாடிக்கையாளருக்கு நேரம் இருக்காது. அதிக தாமதம் - வாடிக்கையாளர் சரியான நேரத்தில் அதைச் செய்ய மாட்டார் அல்லது முட்டாள்களின் மோதல் இருக்கும் (“ரேக்குகள்” ஐப் பார்க்கவும்), மிகக் குறைவு - பாக்கெட்டுகள் இணையத்தில் தொலைந்துவிடும்.

காலக்கெடு=5 வினாடிகள், தாமதம்=100..500எம்எஸ் என்பது முழுமையாக வேலை செய்யும் விருப்பமாகும்

விண்டோஸ்

இது எவ்வளவு வேடிக்கையாகத் தோன்றினாலும், இந்த இயங்குதளத்திற்கான தெளிவான நாக் கிளையண்ட் கூகுளுக்கு இது மிகவும் அற்பமானது அல்ல. CLI ஆனது தாமதம், TCP - மற்றும் வில் இல்லாமல் ஆதரிக்கிறது.

மாற்றாக, நீங்கள் முயற்சி செய்யலாம் இதுதான். வெளிப்படையாக என் கூகுள் ஒரு கேக் அல்ல.

லினக்ஸ்

இது இங்கே எளிது:

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

iOS,

வேலை செய்யும் விருப்பம் KnockOnD (இலவசம், கடையில் இருந்து).

அண்ட்ராய்டு

"துறைமுகங்களில் தட்டுங்கள்" விளம்பரம் அல்ல, ஆனால் அது வேலை செய்கிறது. மற்றும் டெவலப்பர்கள் மிகவும் பதிலளிக்கக்கூடியவர்கள்.

ஹப்ரே மீதான PS மார்க் டவுன், நிச்சயமாக, கடவுள் அவரை ஒருநாள் ஆசீர்வதிப்பார்...

UPD1: நன்றி ஒரு நல்ல நபருக்கு கண்டறியப்பட்டது வேலை செய்யும் வாடிக்கையாளர் விண்டோஸ் கீழ்.
UPD2: மற்றொன்று நல்ல மனிதன் iptables இன் முடிவில் புதிய விதிகளை வைப்பது எப்போதும் பயனுள்ளதாக இருக்காது என்பதை எனக்கு நினைவூட்டியது. ஆனால் - அது சார்ந்துள்ளது.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்