Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Shell Script na vygenerovanie, ktoré počúva port cez internet?

Samotný jednoduchý skript shell nemôže počúvať na porte cez internet. Skripty shellu sú určené na riadenie vykonávania príkazov; Nemajú vstavané sieťové schopnosti na zvládnutie prichádzajúcich pripojení. Potrebujete program Network Server (napríklad `netcat`,` SOCAT` alebo vyhradený webový server, ako je Apache alebo nginx). Skript Shell bude iba * spustiť * a možno * spravovať * proces servera.

Tu je niekoľko príkladov, z ktorých každý má dôležité bezpečnostné úvahy:

Príklad 1:Použitie Netcat (vysoko neisté na použitie výroby)

Tento príklad používa na počúvanie portu `netcat`. Nepoužívajte to vo výrobnom prostredí bez výrazných zlepšení zabezpečenia. Netcat ponúka minimálnu bezpečnosť a je ľahko zraniteľný voči útokom.

`` `Bash

#!/bin/bash

port =8080

Echo "Počúvanie na porte Port ..."

NC -LVP $ port

`` `

* `nc -lvp $ port` :Toto je základný príkaz.

* `-l`:Počúvajte prichádzajúce pripojenia.

* `-v`:Verbose Mode (zobrazuje podrobnosti pripojenia).

* `-p $ port`:Určuje číslo portu.

Aby to bolo o niečo bezpečnejšie (ale stále nie je pripravené na výrobu): Môžete pridať pravidlo brány firewall, ktoré umožňuje iba pripojenia z konkrétnych IP adries. Avšak aj to je nedostatočné pre robustné riešenie.

Príklad 2:Používanie SOCAT (o niečo lepšie, ale stále potrebuje viac zabezpečenia)

`SOCAT` je všestrannejší nástroj na príkazový riadok ako` netcat`, čo umožňuje viac možností konfigurácie. Opäť to nie je vhodné na výrobu bez výrazných vylepšení bezpečnosti.

`` `Bash

#!/bin/bash

port =8080

Echo "Počúvanie na porte Port ..."

SOCAT TCP-LISTEN:$ Port, Fork Exec:'Echo "Prijaté pripojenie!"'

`` `

* `SOCAT TCP-LISTEN:$ port, Fork Exec:'Echo" Prijaté pripojenie! "' ':Toto počúva na zadanom porte a rozkopáva nový proces pre každé pripojenie. Prijaté pripojenie „EXEC:„ Echo “!“ „Časť je jednoduchý príkaz vykonaný pre každé pripojenie. Vymeňte to za požadovanú manipuláciu s príkazom.

Dôležité bezpečnostné úvahy:

* firewall: Svoj firewall (napr. Iptables` v systéme Linux) musíte nakonfigurovať, aby ste umožnili iba pripojenia k zadaného portu z dôveryhodných IP adries alebo sietí. V opačnom prípade bude váš server otvorený útokom od kohokoľvek na internete.

* autentifikácia a autorizácia: Tieto príklady chýbajú akékoľvek autentifikácia alebo povolenie. Ktokoľvek sa môže pripojiť. Pre čokoľvek, čo je mimo jednoduchého testovania, potrebujete správne mechanizmy overovania (napr. Ochrana hesla, šifrovanie SSL/TLS).

* Vstupné overenie: Ak váš server spracuje akékoľvek vstupy od klientov, musíte ho dôkladne overiť, aby ste zabránili injekčným útokom (napríklad injekcia príkazu alebo vstrekovanie SQL).

* Manipulácia s chybami: Skripty nemajú robustné spracovanie chýb. Skripty pripravené na výrobu musia elegantne zvládnuť chyby.

* Správa procesov: Zvážte použitie supervízora procesu (ako je SystemD alebo Supervisord) na správu procesu servera a zaistite, aby sa automaticky reštartoval, ak sa zrúti.

Pre výrobné prostredia: Používajte robustný webový server, ako je Apache alebo Nginx s príslušnými bezpečnostnými konfiguráciami (SSL/TLS, autentifikácia, firewall, validácia vstupov atď.). Tieto servery sú navrhnuté pre bezpečnú a spoľahlivú prevádzku. Tieto príklady sú iba na vzdelávacie účely a nemali by sa používať vo výrobe bez výrazného zlepšenia ich bezpečnosti.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené