Linux لارښوونې او چلونه: سرور، خلاص

د هغو کسانو لپاره چې اړتیا لري ځان چمتو کړي، خپل عزیزان، د نړۍ له هر ځای څخه د SSH/RDP/نور، یو کوچنی RTFM/spur له لارې د دوی سرورونو ته لاسرسی ولري.

موږ اړتیا لرو پرته له VPN او نورو زنګونو او ویسلونو څخه ، په لاس کې له هرې وسیلې څخه.

او د دې لپاره چې تاسو اړتیا نلرئ د سرور سره ډیر تمرین وکړئ.

ټول هغه څه چې تاسو ورته اړتیا لرئ دا دي ټکولمستقیم لاسونه او 5 دقیقې کار.

"هر څه په انټرنیټ کې دي،" البته (حتی په هبری)، مګر کله چې دا د ځانګړي پلي کولو خبره راځي، دا هغه ځای دی چې پیل کیږي ...

راځئ چې د مثال په توګه د فیډورا کارولو تمرین وکړو.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 په هغه مجازی ماشین کې اضافه کړئ چې دننه روان دی 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:

مینه هم هر څه لري (مګر دا غلط دی) ، مګر دستک یو ملګری دی چې د پیغامونو سره خورا بخیل دی ، نو تاسو اړتیا لرئ ډیر احتیاط وکړئ.

  • نسخه
    په فیډورا زیرمو کې/CentOS د نن ورځې وروستۍ ضرب الاجل 0.63 دی. هغه کسان چې UDP غواړي باید د 0.70 پاکټونو په لټه کې شي.
  • د ليدنمخ
    د فیډورا په ډیفالټ ترتیب کې/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

دا مداخله کوي.

څنګه چې knockd د INPUT سلسلې پای ته قواعد اضافه کوي، موږ به رد کړو.

او د دې رد بندول د ټولو بادونو لپاره د موټر خلاصولو معنی لري.

د دې لپاره چې په iptables کې له لاسه ورنکړل شي څه باید مخکې له مخکې داخل شي (لکه دا خلک وړاندیز وکړئ) راځئ چې دا ساده کړو:

  • ډیفالټ в CentOS/ فیډورا لومړی قاعده ("هغه څه چې منع شوي ندي اجازه لري") به د مخالف لخوا بدل شي،
  • او موږ وروستی قاعده لرې کوو.

پایله باید دا وي:

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

تاسو کولی شئ، البته، د DROP پرځای رد کړئ، مګر د DROP سره ژوند به د بوټو لپاره ډیر ساتیري وي.

3. پیرودونکي

دا ځای خورا په زړه پوری دی (زما له نظره) ، ځکه چې تاسو اړتیا لرئ نه یوازې له کوم ساحل څخه ، بلکه له هرې وسیلې څخه کار وکړئ.

په اصولو کې، یو شمیر مشتریان لیست شوي دي سایټ پروژه، مګر دا د ورته لړۍ څخه دی "هر څه په انټرنیټ کې دي." له همدې امله، زه به هغه څه لیست کړم چې زما په ګوتو کې دلته او اوس کار کوي.

کله چې یو پیرودونکي غوره کړئ، تاسو اړتیا لرئ ډاډ ترلاسه کړئ چې دا د پاکټونو ترمنځ د ځنډ اختیار ملاتړ کوي. هو، د ساحلونو او 100 میګابایټ ترمنځ توپیرونه شتون لري هیڅکله تضمین نه کوي چې پاکټونه به په مناسب وخت کې د یو ټاکل شوي ځای څخه په سم ترتیب کې راشي.

او هو ، کله چې د پیرودونکي تنظیم کول ، تاسو اړتیا لرئ ځنډ پخپله وټاکئ. ډیر وخت پای - بوټونه به برید وکړي ، ډیر لږ - پیرودونکي به وخت ونه لري. ډیر ځنډ - پیرودونکی به دا په خپل وخت ونه کړي یا به د احمقانو شخړه وي ("ریکیک" وګورئ) ، ډیر لږ - پاکټونه به په انټرنیټ کې ورک شي.

د وخت پای = 5s سره، ځنډ = 100..500ms یو بشپړ کاري اختیار دی

Windows

مهمه نده چې دا څومره مسخره ښکاري ، دا د ګوګل لپاره د دې پلیټ فارم لپاره د واضح دستک پیرودونکي لپاره خورا غیر معمولي دی. داسې چې CLI د ځنډ ملاتړ کوي، TCP - او پرته له کمان.

په بدیل سره، تاسو کولی شئ هڅه وکړئ دا دی. په ښکاره ډول زما ګوګل کیک نه دی.

Linux

دلته هرڅه ساده دي:

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

MacOS

ترټولو اسانه لار د هومبریو څخه د بندر نصب کول دي:
brew install knock
او د کمانډونو لپاره اړین بیچ فایلونه رسم کړئ لکه:

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

iOS

یو کاري اختیار دی KnockOnD (وړیا، له پلورنځي څخه).

Android

"په بندرونو ټک وکړئ" اعلان نه، مګر دا یوازې کار کوي. او پراختیا کونکي خورا ځواب ویونکي دي.

په هابري باندې د PS نښه کول ، البته ، خدای دې یوه ورځ برکت ورکړي ...

UPD1: مننه یو ښه سړی ته موندل کاري پیرودونکي لاندې Windows.
UPD2: بل یو ښه سړی ما ته یادونه وکړه چې د iptables په پای کې د نوي مقرراتو ایښودل تل ګټور ندي. مګر - دا پورې اړه لري.

سرچینه: www.habr.com

د DDoS محافظت ، VPS VDS سرورونو سره د سایټونو لپاره معتبر کوربه توب واخلئ 🔥 د DDoS محافظت، VPS VDS سرورونو سره د باور وړ ویب پاڼې کوربه توب واخلئ | ProHoster