សម្រាប់អ្នកដែលត្រូវការផ្តល់ឱ្យខ្លួនគេ មនុស្សជាទីស្រឡាញ់របស់ពួកគេដោយមានការចូលដំណើរការទៅកាន់ម៉ាស៊ីនបម្រើរបស់ពួកគេពីគ្រប់ទីកន្លែងក្នុងពិភពលោកតាមរយៈ SSH / RDP / ផ្សេងទៀត RTFM / spur តូច។
យើងត្រូវធ្វើដោយគ្មាន VPN និងកណ្តឹង និងហួចផ្សេងទៀតពីឧបករណ៍ណាមួយនៅនឹងដៃ។
ហើយដូច្នេះអ្នកមិនចាំបាច់ធ្វើលំហាត់ប្រាណច្រើនពេកជាមួយម៉ាស៊ីនមេទេ។
អ្វីដែលអ្នកត្រូវការសម្រាប់នេះគឺ ដៃត្រង់និង 5 នាទីនៃការងារ។
"អ្វីគ្រប់យ៉ាងគឺនៅលើអ៊ីនធឺណិត" ជាការពិតណាស់ (សូម្បីតែនៅលើ ) ប៉ុន្តែនៅពេលដែលវាមកដល់ការអនុវត្តជាក់លាក់មួយ នេះគឺជាកន្លែងដែលវាចាប់ផ្តើម ...
ចូរយើងអនុវត្តដោយប្រើ Fedora ជាឧទាហរណ៍។CentOSប៉ុន្តែវាមិនសំខាន់ទេ។
spur គឺសមរម្យសម្រាប់អ្នកចាប់ផ្តើមដំបូងនិងអ្នកជំនាញក្នុងបញ្ហានេះដូច្នេះនឹងមានមតិយោបល់ប៉ុន្តែពួកគេនឹងខ្លីជាង។
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 ទៅម៉ាស៊ីននិម្មិតដែលកំពុងដំណើរការនៅខាងក្នុង Windows Server (/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 យើងនឹងទទួលបានការបដិសេធ។
ហើយការបិទការបដិសេធនេះមានន័យថាបើកឡានទៅគ្រប់ខ្យល់។
ដើម្បីកុំឱ្យបាត់បង់នៅក្នុង iptables អ្វីដែលត្រូវបញ្ចូលមុនអ្វី (ដូចនេះ ណែនាំ) ចូរធ្វើឱ្យវាកាន់តែសាមញ្ញ៖
- លំនាំដើម в CentOS/ហ្វេដូរ៉ា ដំបូង ច្បាប់ ("អ្វីដែលមិនត្រូវបានហាមឃាត់ត្រូវបានអនុញ្ញាត") នឹងត្រូវបានជំនួសដោយផ្ទុយ,
- ហើយយើងដកច្បាប់ចុងក្រោយចេញ។
លទ្ធផលគួរតែជា៖
*filter
:INPUT DROP [0:0]
...
#-A INPUT -j REJECT --reject-with icmp-host-prohibitedជាការពិតណាស់ អ្នកអាចធ្វើ REJECT ជំនួសឱ្យ DROP ប៉ុន្តែជាមួយនឹងជីវិត DROP នឹងកាន់តែរីករាយសម្រាប់ bots ។
3. អតិថិជន
កន្លែងនេះគឺគួរឱ្យចាប់អារម្មណ៍បំផុត (តាមទស្សនៈរបស់ខ្ញុំ) ដោយសារតែអ្នកត្រូវការធ្វើការមិនត្រឹមតែពីឆ្នេរណាមួយប៉ុណ្ណោះទេប៉ុន្តែថែមទាំងពីឧបករណ៍ណាមួយផងដែរ។
ជាគោលការណ៍អតិថិជនមួយចំនួនត្រូវបានចុះបញ្ជីនៅលើ គម្រោង ប៉ុន្តែនេះគឺមកពីស៊េរីដូចគ្នា "អ្វីគ្រប់យ៉ាងគឺនៅលើអ៊ីនធឺណិត" ។ ដូច្នេះហើយ ខ្ញុំនឹងរាយបញ្ជីអ្វីដែលកំពុងដំណើរការនៅចុងម្រាមដៃរបស់ខ្ញុំនៅទីនេះ និងឥឡូវនេះ។
នៅពេលជ្រើសរើសអតិថិជន អ្នកត្រូវប្រាកដថាវាគាំទ្រជម្រើសពន្យាពេលរវាងកញ្ចប់ព័ត៌មាន។ បាទ/ចាស មានភាពខុសគ្នារវាងឆ្នេរ និង 100 មេហ្គាហឺត មិនដែលធានាថាកញ្ចប់ព័ត៌មាននឹងមកដល់តាមលំដាប់ត្រឹមត្រូវនៅពេលត្រឹមត្រូវពីទីតាំងដែលបានផ្តល់ឱ្យនោះទេ។
ហើយបាទ ពេលរៀបចំអតិថិជន អ្នកត្រូវជ្រើសរើសការពន្យារពេលដោយខ្លួនឯង។ អស់ពេលច្រើនពេក - bots នឹងវាយប្រហារ តិចតួចពេក - អតិថិជននឹងមិនមានពេលទេ។ ការពន្យារពេលច្រើនពេក - អតិថិជននឹងមិនធ្វើវាទាន់ពេលទេ ឬវានឹងមានជម្លោះរវាងមនុស្សល្ងង់ (សូមមើល "តុងរួច") តិចតួចពេក - កញ្ចប់ព័ត៌មាននឹងបាត់បង់នៅលើអ៊ីនធឺណិត។
ជាមួយនឹង timeout=5s ការពន្យាពេល=100..500ms គឺជាជម្រើសដំណើរការទាំងស្រុង
Windows
មិនថាវាស្តាប់ទៅគួរឱ្យអស់សំណើចប៉ុណ្ណានោះទេ វាពិតជាមិនសំខាន់សម្រាប់ Google ដែលជាអតិថិជនគោះច្បាស់លាស់សម្រាប់វេទិកានេះ។ ដូច្នេះ CLI គាំទ្រការពន្យារពេល TCP - និងដោយគ្មានធ្នូ។
ជាជម្រើសអ្នកអាចសាកល្បង . ជាក់ស្តែង Google របស់ខ្ញុំមិនមែនជានំខេកទេ។
Linux
អ្វីគ្រប់យ៉ាងគឺសាមញ្ញនៅទីនេះ៖
dnf install knock -y
knock -d <delay> <dst_ip> 11111 22222 33333MacOS
មធ្យោបាយងាយស្រួលបំផុតគឺត្រូវដំឡើងច្រកពី homebrew៖
brew install knock
ហើយគូរឯកសារបាច់ចាំបាច់សម្រាប់ពាក្យបញ្ជាដូចជា៖
#!bin/sh
knock -d <delay> <dst_ip> 11111 22222 33333ប្រព័ន្ធប្រតិបត្តិការ iOS
ជម្រើសធ្វើការគឺ KnockOnD (ឥតគិតថ្លៃពីហាង) ។
Android
"គោះលើច្រក" មិនមែនផ្សាយពាណិជ្ជកម្មទេ ប៉ុន្តែវាដំណើរការ។ ហើយអ្នកអភិវឌ្ឍន៍គឺឆ្លើយតបណាស់។
PS markdown on Habre ពិតណាស់ព្រះប្រទានពរគាត់នៅថ្ងៃណាមួយ ...
UPD១៤: អរគុណចំពោះ បានរកឃើញ ក្រោម Windows.
UPD១៤: មួយផ្សេងទៀត បានរំលឹកខ្ញុំថាការដាក់ច្បាប់ថ្មីនៅចុងបញ្ចប់នៃ iptables គឺមិនតែងតែមានប្រយោជន៍នោះទេ។ ប៉ុន្តែ - វាអាស្រ័យ។
ប្រភព: www.habr.com
