Удряне на портове: Най-добрата защита, която можете да имате на вашия компютър или сървър (разполагане + конфигурация)

Поразителни пристанища (на английски чукане на пристанището) Несъмнено е практика, която всички ние, които управляваме сървъри, трябва да знаем добре, тук обяснявам подробно какво е това и как да внедрим и конфигурираме това 😉

В момента тези от нас, които управляват сървър, имат SSH достъп до този сървър, някои променяме порта по подразбиране на SSH и вече не използва порт 22, а други просто го оставят така (нещо не се препоръчва), но сървърът е разрешил SSH достъп през някакъв порт и това вече е „уязвимост“.

с Чукане на порт можем да постигнем следното:

1. SSH достъпът не е активиран от нито един порт. Ако сме конфигурирали SSH за порт 9191 (например), този порт (9191) ще бъде затворен за всички.
2. Ако някой иска да получи достъп до сървъра чрез SSH, очевидно няма да може, тъй като порт 9191 е затворен ... но, ако използваме „магия“ или тайна комбинация, този порт ще бъде отворен, например:

1. Аз се свързвам към порт 7000 на сървъра
2. Правя още един телнет към порт 8000 на сървъра
3. Правя още един telnet към порт 9000 на сървъра
4. Сървърът открива, че някой е направил тайната комбинация (сензорни портове 7000, 8000 и 9000 в този ред) и ще отвори порт 9191, за да поиска влизането от SSH (ще го отвори само за IP, от който е направена комбинацията задоволително).
5. Сега, за да затворя SSH, просто телне до порт 3500
6. Ще направя още един телнет към порт 4500
7. И накрая още един телнет към порт 5500
8. Извършването на тази друга тайна комбинация, която сървърът открие, ще затвори порт 9191 отново.

С други думи, обясняването на това още по-просто ...

с Чукане на порт нашият сървър може да има затворени определени портове, но когато сървърът открие това от X IP е направена правилната комбинация от портове (конфигурация, предварително дефинирана в конфигурационен файл) ще изпълни определена команда върху себе си очевидно (comando също дефиниран в конфигурационния файл).

Не се ли разбира? 🙂

Как да инсталирам демон за Port Knocking?

Правя го с пакета изкопан, което ще ни позволи по много, много прост и бърз начин да внедрим и конфигурираме Чукане на порт.

Инсталирайте пакета: knockd

Как да конфигурирам Knocking на порта с knockd?

Веднъж инсталиран, ние продължаваме да го конфигурираме, за това редактираме (като корен) файла /etc/knockd.conf:

nano /etc/knockd.conf

Както можете да видите в този файл, вече има конфигурация по подразбиране:

 Обяснението на настройките по подразбиране е наистина просто.

- Първо, UseSyslog означава, че за записване на активност (дневник) ще използваме / Var / дневник / Syslog.
- Второ, в раздела [OpenSSH] Тук очевидно ще отидат инструкциите за отваряне на SSH, първо имаме последователността от портове (тайната комбинация), която е конфигурирана по подразбиране (порт 7000, порт 8000 и накрая порт 9000). Очевидно портовете могат да се променят (всъщност го препоръчвам), както и не е задължително да са 3, те могат да бъдат повече или по-малко, зависи от вас.
- Трето, seq_timeout = 5 означава времето за изчакване на тайната комбинация от портове. По подразбиране е зададено на 5 секунди, това означава, че след като започнем да извършваме чукането на порта (т.е. когато се свържем към порт 7000), имаме максимум 5 секунди, за да завършим правилната последователност, ако минат 5 секунди и не сме завършили порт чука, тогава просто ще бъде така, сякаш последователността е невалидна.
- четвърто, команда не се нуждае от много обяснения. Това просто ще бъде командата, която сървърът ще изпълни, когато открие комбинацията, дефинирана по-горе. Командата, която е зададена по подразбиране, това, което прави, е отворен порт 22 (променете този порт за вашия SSH порт) само на IP, който е направил правилната комбинация от портове.
- Пето, tcpflags = syn С този ред ние посочваме вида на пакетите, които сървърът ще разпознае като валидни за чукащия порт.

След това има секцията за затваряне на SSH, че конфигурацията по подразбиране не е нищо повече от същата последователност от портове по-горе, но в обратен ред.

Ето конфигурация с някои модификации:

 Как да стартирам knockd демона?

За да го стартираме, първо трябва да модифицираме (като корен) файла / etc / default / knockd:

nano /etc/default/knockd

Там сменяме ред номер 12, който казва: «START_KNOCKD = 0»И променете това 0 на 1, ще получим:«START_KNOCKD = 1«

След като това стане сега, ние просто го стартираме:

service knockd start

И voila, той е конфигуриран и работи.

Порт Knocking с почукано и работещо!

Както можете да видите в предишната конфигурация, ако се извърши чук на порт към порт 1000, след това до 2000 и накрая до 3000, тогава ще се отвори порт 2222 (моят SSH), а тук е друг компютър, изпълняващ чук на порта:

След като натисна [Enter] на Knock No.1, на No2 и накрая на No3, портът ще се отвори, ето дневника:

Както можете да видите, когато чуках порт 1000, беше регистриран етап 1, след това в 2000 ще бъде етап 2 и накрая в 3 с 3000, когато правим това, командата, която декларирах в .conf, се изпълнява и това е всичко. .

Тогава, за да затворите порта, би било само да почукате 9000, 8000 и накрая 7000, ето дневника:

И тук обяснението за употреба свършва 😀

Както можете да видите, чукването на порта е наистина интересно и полезно, защото въпреки че не искаме просто да отворим порт след определена комбинация от портове, командата или заповедта, която сървърът ще изпълни, може да варира, тоест ... вместо да отворим порт, ние можем декларирайте да убиете процес, спрете услуга като apache или mysql и т.н. ... ограничението е вашето въображение.

Port Knocking работи само когато имате физически сървър или когато виртуалният сървър е KVM технология. Ако вашият VPS (виртуален сървър) е OpenVZ, тогава Knocking на порта не мисля, че работи за вас, защото не можете директно да манипулирате iptables

Е и засега статията ... Аз не съм далеч експерт по този въпрос, но исках да споделя с вас този интересен процес.

Поздрави 😀


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Ерунамо ДЖАЗ каза той

    Отлична статия, доста интересна е и не знаех, че съществува ... би било чудесно, ако продължавате да пускате статии за sysadmin начинаещи и това 😀

    Поздрави и благодарности ^ _ ^

    1.    KZKG ^ Гаара каза той

      Благодаря ви за коментар.
      Да ... това е, че със статиите за DNS на FICO, не искам да бъда изоставен LOL !!!

      Нищо сериозно. Преди няколко месеца чух нещо за Port Knocking и той веднага привлече вниманието ми, но тъй като мислех, че ще бъде много сложно по това време, не реших да вляза в него, точно вчера, преглеждайки някои пакети от репото, открих knockd и реших да опитам и ето урок

      Винаги съм обичал да поставям технически статии, някои може да не са достатъчно интересни, но ... Надявам се, че други 😉

      поздрави

    2.    Mario каза той

      Здравейте, знам, че тази статия съществува от известно време, но стартирам заявката си, за да видя дали някой може да я реши вместо мен.
      Факт е, че съм приложил чукване на портове към моята малина, за да се опитам да подобря сигурността, когато се свържа с нея извън локалната мрежа. За да работи това, трябваше да отворя гамата от портове на рутера 7000-9990, насочващи към машината. Безопасно ли е да отворите тези портове на рутера или, напротив, когато се опитвам да имам по-голяма сигурност, правя ли обратното?

      Поздрави и благодаря.

  2.   някога каза той

    Чудесно, аз съм сисадмин от години и не го познавах.
    Един въпрос ... как се прави "ударите"?
    Телнете ли срещу тези пристанища? Какво ви отговаря telnet? Или има някаква команда "чук" вълна?
    Страхотна готина е статията. Грандиозен. Благодаря много

    1.    KZKG ^ Гаара каза той

      Направих теста с telnet и всичко направи чудеса ... но, любопитното е, че има команда "почукване", направете човек почука така че можете да видите 😉

      Telnet всъщност изобщо не ми отговаря, iptables с политиката DROP го кара да не реагира изобщо и telnet остава там в очакване на отговор (който никога няма да пристигне), но демонът knockd ще разпознае удара, дори ако никой не отговори 😀

      Благодаря ви много за коментара, удоволствие е да знам, че моите статии все още харесват ^ _ ^

  3.   st0rmt4il каза той

    Добавено към любими! : Д!

    Благодаря ви!

    1.    KZKG ^ Гаара каза той

      Благодаря 😀

  4.   dhunter каза той

    Ааа охрана, онова приятно усещане, когато осигурим компютъра към отвес, а след това дни / седмици по-късно се опитваме да се свържем от някое отдалечено място, до което нямаме достъп, тъй като защитната стена е в режим „никой за никого“, това се нарича оставане извън замъка по отношение на сисадмините. 😉

    Ето защо тази публикация е толкова полезна, с knockd можете да получите достъп от всяко място, което може да изпрати пакет до вашата локална мрежа, а нападателите губят интерес, когато видят, че ssh портът е затворен, не мисля, че ще почукат груба сила за отваряне на пристанището.

  5.   Мануел каза той

    Ей, статията е страхотна.

    Едно нещо: служи ли за свързване извън локалната мрежа?

    Казвам това, защото имам рутера със затворени портове минус този, който съответства на ssh, който е пренасочен към сървъра.

    Предполагам, че за да работи извън локалната мрежа, ще е необходимо да се отворят портовете на рутера, съответстващи на Port Knocking, и те да бъдат пренасочени към сървъра.

    Ммм ...

    Не знам колко безопасно е да направя това.

    Какво мислиш?

    1.    KZKG ^ Гаара каза той

      Не съм наистина сигурен, не съм направил теста, но мисля, че да, трябва да отворите портове на рутера, защото в противен случай няма да можете да чукнете сървъра.

      Направете теста, без да отваряте портове на рутера, ако не работи за вас е жалко, защото съм съгласен с вас, не е препоръчително да отваряте тези портове на рутера.

      1.    Мануел каза той

        Всъщност трябва да отворим портовете и да ги пренасочим към компютъра, който се обаждаме.

        Жалко.

  6.   Раба08 каза той

    Много благодаря! Тепърва започвам да уча мрежи и тези уроци са чудесни за мен! благодаря, че отделихте време за споделяне на знанията

    1.    KZKG ^ Гаара каза той

      През годините научих много с глобалната общност на Linux ... от няколко години и аз исках да допринеса, точно затова пиша 😀

  7.   янус981 каза той

    Благодаря ви много, не знаете как ми помага, на път съм да настроя сървър и това ми върви чудесно.

    поздрави

    1.    KZKG ^ Гаара каза той

      За това сме, за да помогнем 😉

  8.   Жан Вентура каза той

    Отлична статия! Не знаех за това и това ми помага много (използвам RackSpace, който използва KVM, така че ми подхожда като ръкавица!). Добавено към любимо.

    1.    KZKG ^ Гаара каза той

      Благодаря за коментара 🙂

  9.   Алгабе каза той

    Como siempre DesdeLinux предлага ни отлични публикации с уроци, които са наистина полезни за прилагане, благодаря за споделянето!! 🙂

    1.    KZKG ^ Гаара каза той

      Благодаря ви за коментара 🙂
      Да, ние винаги се опитваме да задоволим жаждата за знание, която имат нашите читатели 😀

  10.   Тимблек каза той

    Интересно, не знаех опцията.
    Отидете направо към угояване на моята библиотека с котлети.
    Благодаря ви!

    1.    KZKG ^ Гаара каза той

      Удоволствие за мен 😀
      поздрави

  11.   Фредерик. А. Валдес Тужаге каза той

    Поздрави KZKG ^ Гаара !!! Стиснахте. Огромна статия за сигурни сървъри. Няма @% * & ^ идея, че такова нещо съществува. Ще го опитам. Благодаря ти

  12.   Бяло ^ колие каза той

    това е страхотно…. ^ - ^

  13.   LearnLinux каза той

    Здравейте, бихте ли обяснили как да го инсталирате в CentOS 5.x?

    Изтеглих rpm:
    http://pkgs.repoforge.org/knock/knock-0.5-3.el5.rf.x86_64.rpm

    Инсталиран:
    rpm -i knock-0.5-3.el5.rf.x86_64.rpm

    Конфигурирайте конфигурационния файл с 15 секунди време и порта, който използвам за свързване чрез ssh към моя vps

    Демонът започва:
    / usr / sbin / knockd &

    Аз telnet и нищо портът не се затваря, по подразбиране портът е отворен, но не се затваря.

    Правя ли нещо нередно?

  14.   здравей каза той

    Мммм, заявките за telnet към тези портове могат да бъдат научени от администратора на нашата локална мрежа или от нашия доставчик на услуги, не? Това би блокирало външни хора, но не и тях, така че ако те искат да активират нашия порт, те биха могли да го направят, защото Вижте заявките, които отправяме, да кажем, че защитава, но не на 100%

    1.    Roberto каза той

      Може да бъде, но не мисля, че те ще си представят, че определен telnet изпълнява X действие. Освен ако не видят, че се следват същите модели на telnet.

  15.   Пабло Андрес Диас Арамбуро каза той

    Интересна статия, имам въпрос. Мисля, че има грешка в изображението на конфигурационния файл, защото ако анализирате добре, и в двата реда на командата използвате ACCEPT в Iptables. Мисля, че един трябва да бъде ПРИЕМ, а друг трябва да бъде ОТХВЪРЛЕН.

    В противен случай отлична инициатива. Благодаря ви много, че отделихте време да обясните знанията си на другите.

    поздрави