ãããèšäºã®æåŸã®éšåã§ãããããããå§ãŸãã§ã
ååã¯ããã€ã¹ç£èŠã®å®è£
æ¹æ³ã«ã€ããŠæžããŸããããä»åã¯ç®¡çã«ã€ããŠèª¬æããŸãã ã客æ§åŽã®ãæè¡è
ããšã®è©±ãåãã®äžã§ããã®ãããªå°åããã€ã¹ (ã¡ã¢ãª ãªãœãŒã¹ãããã©ãŒãã³ã¹ãäœã) ã®æ©èœã«ã€ããŠã®èªèãéãããŠããããšã«ããééããŸããå€ãã®äººã¯ããå¿
èŠãªã®ã¯åèµ·åãéä¿¡ããããšã ãã§ãããã«äœããè¡ãããšã§ãããšèããŠããŸããçå£ã«ããŒã ãéããŸããã
ããããå®éã«ãã£ãŠã¿ããšããããå®å
šã«çå®ã§ã¯ãªãããšãããããŸãã
- ãããã¯ãŒã¯ã®èšºæãšãã©ãã«ã·ã¥ãŒãã£ã³ã°ã éåžžãã«ãŒã¿ãŒã®ã€ãŒãµããã ããŒãã®èåŸã«ã¯ãç¬èªã®å éš IP ã¢ãã¬ã¹ãæã€å¥ã®ããŒããŠã§ã¢ããããŸãã å Žåã«ãã£ãŠã¯ããpingããå®è¡ã§ãã (ããå¿ èŠããã) ããšããããŸãã ãŸãã¯ããã³ãã«ç®¡ç - 3G ã¢ãã ãä»ããŠåäœããŠããã«ãŒã¿ãŒã§ãã³ãã«ãçªç¶ç«ã¡äžãããªããªã£ãå Žåã§ããã«ãŒã¿ãŒèªäœã¯ç¢ºèªã§ããŸãã
- ã·ã¹ãã ã»ã¡ã³ããã³ã¹ã ãã¡ãŒã ãŠã§ã¢ã®ã¢ããããŒãããµãŒãã¹ ã¹ã¯ãªããã®ã¢ããã°ã¬ãŒãã
- 綱枡ãã ããã¯ãåé¯ããšãèšããŸããããå衡䞻矩ãã®æŠå¿µã¯æ¬¡ã®ããã«åŒçšããŸãã ãäžå®å®ãªäœã®äœçœ®ã§ããã©ã³ã¹ãç¶æãããµãŒã«ã¹ã®ããã©ãŒããŒã®èœåã - ãããã£ããããŸãã ãã®ãããªç¶æ³ã¯ã顧客ã®äºç®ãéãããŠããããã«çºçããŸãã 以äžã«ããã€ãäŸãæããŸããã⊠ç©èªã®ããŒããšã¯çŽæ¥é¢ä¿ãªãã®ã§ã¡ã¢ã«æ®ããŠãããŸã
Wi-Fiç£èŠéå»XNUMX幎éãäž»ã«é£éŠå°å£²ãã§ãŒã³ã®éã§æµè¡ãã話é¡ã ããªãããã¬ãŒãã£ã³ã°ããã¢ãã®ãã³ãæ£æ©ããŠãããšãWi-Fi ããªã³ã«ããæºåž¯é»è©±ãããããã¯ãŒã¯ã®ã¹ã¬ããã«ããã£ã€ããããšããŠå®æçã«ãããŒã ãªã¯ãšã¹ã ãã±ãããéä¿¡ããŸãããã®ãã±ããã¯ã次ã®ããšãèšç®ããããã«åæã§ããŸããããªã: ãã®åºã«ã©ã®ãããã®é »åºŠã§æ¥ãŸãã? ã©ã®ãããªçç±ã§æ¥ãŸãã? è»è·¡ã«æ²¿ã£ãŠæ©ããŸãã ãã®åŸãããŒã¿ãåéãåæãããããŒã ããããäœæããã管çè ã¯ãã®ãããªç»åã®ããã«çµå¶é£ãæè³å®¶ããééãã匷èŠãããŸãã ãŸããä»ã®ãšããã¯...ããéã¯ãªããã©ãã¡ãã£ãšåŸ ã£ãŠãã ãã...ããããŠãçµæïŒçŸå®ïŒã¯ãã§ã«ç€ºãããŠããå¿ èŠããããå€ãè¯ãæãå§ãŸããŸãïŒãã¯ããã¯ãããããªããã¡ããç§ãã¡ã¯ã cis ãšå¿ èŠãªãã®ãã¹ãŠãã€ã³ã¹ããŒã«ããŸãããä»åºŠã¯ã客æ§ã«çµæã瀺ãå¿ èŠããããŸãã ãšããã§ãèšãå¿ããŠããŸããããã客æ§ã¯ãããããã²ã¹ã ã¯ã©ã€ã¢ã³ãã§ãããã®ããã«ãWi-Fi çµç±ã§ç§ãã¡ã®æ©åšããããã¹ãããã«æ¥ç¶ããããšãèš±å¯ããŠãããŸãããã ããã§ããã©ã³ã·ã³ã° ã«ãŒã¿ãŒãäœæããå¿ èŠããããŸããããã€ãã® WiFi ãµãã€ã³ã¿ãŒãã§ã€ã¹ãèµ·åããããã®ãã¡ã® XNUMX ã€ã¯ãããã¹ãããã«ããã¿ã€ããXNUMX ã€ç®ã¯ç°å¢ãç£èŠããå¿ æ»ã« tcpdump ã®çµæãèªåèªèº«ã«ã¢ããããŒããããã¡ã€ã«ã®å 容ãã¢ãŒã«ã€ãã«ããã¯ããŠãªã¹ã¯ãè² ããŸãã ãéé£ãã§æ»ã«ãããªäººã¯ãFTPãµãŒããŒäžã«å 容ãåãåºãããšããŸãã ãã©ã³ã·ã³ã° ã«ãŒã¿ãŒãé »ç¹ã«ãæ éãããäœããã®æ¹æ³ã§é éããã埩掻ããããå¿ èŠãããã®ã¯é©ãã¹ãããšã§ã¯ãããŸããã
ååŸããã§ã®ç¶æ³ã¯ãã客æ§ã®æ¬¡ã®ãããªçºèšã§èª¬æããæ¹ãç°¡åã§ãã ãç§ãã¡ã¯ãã¢ãã«ãäºåã«ããã£ãŠããªãæ©åšã§ãããã£ãã«ãéããŠæ©èœãããããã¹ãããã®åæ£åãããã¯ãŒã¯ãæãã§ããŸãããã©ã®ãã£ãã«ãã¯ãŸã ããã£ãŠããŸããã ãããèšãå¿ããŠããŸããããç§ãã¡ã¯ã¯ã©ã€ã¢ã³ãã«åºåã衚瀺ããã ãã§ãªãããããã¹ããããèšçœ®ãããŠããå Žæã®åšå²ã®ãããããã®ãåæããããšèããŠããŸãã ããããçç±ã¯ãŸã ããããŸããããç§ãã¡ã¯ãããç解ããŸããçãå¿ èŠã¯ãããŸãããç§ãã¡ã¯ãã®ã¢ã€ãã¢ãæãã€ãããšãã§ããŸãããã
ãããŠããããŸã§ç¥ãããŠããªãã£ãå€ãã®ç¶æ³ã«ãããIP: ããŒããä»ããŠã«ãŒã¿ãŒã«çŽæ¥æ¥ç¶ã§ãããã«ãŒã¿ãŒããã®ã¢ã¯ãã£ããã£ãåã«åŸ æ©ããå¿ èŠãããå Žåãå¶åŸ¡ã¯éæšæºçãªæ¡ä»¶ã§å®è¡ãããªããã°ãªããªãããšãå¿ããŠã¯ãªããŸããã èªåèªèº«ãæœè±¡åãããšããµãŒããŒãšã«ãŒã¿ãŒéã®å¯Ÿè©±ã¯æ¬¡ã®ããã«è¡šãããšãã§ããŸãã
- ã«ãŒã¿ãŒïŒ ããã«ã¡ã¯ã ç§ã¯ããããã®ã«ãŒã¿ãŒã§ãããäœãã¿ã¹ã¯ã¯ãããŸãã?
- СеÑвеÑ: ã«ãŒã¿ãŒãããããããªããçããŠããããšãç»é²ããŸããã ããã§èª²é¡ããããŸããifconfig ã³ãã³ãã®çµæãèŠããŠãã ããã
- ã«ãŒã¿ãŒïŒ ããã«ã¡ã¯ã ç§ã¯ããããã®ã«ãŒã¿ãŒã§ããååãifconfig ã®çµæã衚瀺ããããã«èŠæ±ãããŸããããããããã®çµæã§ãã ç§ã«äœãä»äºã¯ãããŸããïŒ
- СеÑвеÑ: ã«ãŒã¿ãŒãããããããªããçããŠããããšãç»é²ããŸããã ããªãã«èª²ããããã¿ã¹ã¯ã¯ãããŸããã
æãèå³æ·±ã質åã¯ããªã¢ãŒã ã«ãŒã¿ãŒã¯ã©ã®ããã«ããŠäžå®éã®æ å ±ãéä¿¡ã§ããã®ããšããããšã§ãã æåŸã®éšåã§ããªãœãŒã¹ãéãããŠãããããã«ãŒã¿ãŒã«ã¯ãå¿ èŠãªãã®ãåãé€ãããwget ã ãããããGET çµç±ã§ã®ã¿æ©èœããä»ã«ã¯äœãæ©èœãããFTP ã¯ã©ã€ã¢ã³ããã«ãŒã«ã¯ååšããªããšèª¬æããŸããã ããæ£ç¢ºã«ã¯ãç»åã¢ã»ã³ããªã®æ©èœã«é¢ä¿ãªããæ®éçãªæ¹æ³ãå¿ èŠã§ãã wgetã䜿ãããšã«ããŸããã ãã£ãšæ£ç¢ºã«èšãã°ãã©ããã£ãŠãããããããšãããšãåã«éžæè¢ããªãã£ãã®ã§ã:)
ãã ã®å 責äºé ç§ã®ç®¡çãœãªã¥ãŒã·ã§ã³ã¯æ©èœããŠãããããã»ã©å¶éã¯ãããŸããããããšãã»ãšãã©ã®é¡§å®¢ã«é©ããŠãããšããŠãããããæªãã§ããããšã¯ç¢ºãã§ãã ã©ãããã°è³¢æã«å®è¡ã§ããã§ãããããããŒã 80 çµç±ã§ POST ãã€ã㪠ããŒã¿ãéä¿¡ããå°ããªãŠãŒãã£ãªãã£ãäœæããã®ã§ãã ãã (ãŠãŒãã£ãªãã£) ãã«ãŒã¿ãŒã®ãã¡ãŒã ãŠã§ã¢ã«çµã¿èŸŒã¿ãbash ã䜿çšããŠã¢ã¯ã»ã¹ããŸãã ãããçŸå®ã¯æ¬¡ã®ãšããã§ã: a) ããã«è¡ãå¿ èŠããã b) ããããæ¢åã®ãã«ãŒã¿ãŒã®åç©åãã§ãã¹ãŠãè¡ãå¿ èŠããã c) ãå±å®³ãå ããªãã§ãã ãã!ã â ã«ãŒã¿ãŒãåäœããŠãããä»ã®ã¿ã¹ã¯ãå®è¡ããŠããå Žåã¯ãæ¢åã®æ©èœã«åœ±é¿ãäžããªãå€æŽãå ããŠã¿ãŠãã ããã
å®è£
ã«ç§»ããŸãããã 顧客ããããŠã¹ã®ã¯ãªãã¯ãã ãã§ç°¡åãã€èªç¶ã«ã«ãŒã¿ãŒã zabbix ããåèµ·åããããšèããŠãããšããŸãã ä»æ¥ã¯Zabbixã䜿ã£ãå®è£
ã«ã€ããŠèª¬æããŠãããŸãã
ã管çãâãã¹ã¯ãªãããã¡ãã¥ãŒã§ãæ°ããã¹ã¯ãªãããè¿œå ããŸãã ããããåèµ·åããšåŒã³ãŸããã³ãã³ããšããŠãphp /usr/share/zabbix/reboot.php {HOST.HOST}ããå
¥åããŸãã
次ã«ãã¡ãã¥ãŒãç£èŠãâãææ°ããŒã¿ãâãç®çã®ãããã¯ãŒã¯ããŒããå³ã¯ãªãã¯ãããŸãã ã¹ã¯ãªãããè¿œå ãããšãã¡ãã¥ãŒã¯æ¬¡ã®ããã«ãªããŸãã
ãããã£ãŠãreboot.php ã¹ã¯ãªããã /usr/share/zabbix ãã£ã¬ã¯ããªã«çœ®ããŸã (å®éã®ãã£ã¬ã¯ããªãšã¯ç°ãªãå ŽåããããŸããç§ã¯ zabbixa ã«ãŒã ãã£ã¬ã¯ããªã䜿çšããŸã)ã
å®å šäžã®å 責äºé ã¹ã¯ãªããå ã®èª¬æãããããããããããã«ãã«ãŒã¿ãŒ ID ã®ã¿ã䜿çšãããã¹ã¯ãŒãã¯äœ¿çšããŸããã 補åçã§ã¯ãããè¡ãããšã¯ãå§ãã§ããŸããã ãªããããªããšãããã®ããšãããšãã«ãŒã¿ãŒã®ãã¹ã¯ãŒããã©ãã«ä¿åãããã倧ããªåé¡ã ããã§ãã zabbixeèªäœã®ãã€ã³ãã³ããªããŒã¿ãã«ããã®ã§ããããïŒ ç©è°ãéžãå®è·µã ãããã¯ãreboot.php ãã¡ã€ã«èªäœãžã®å€éšã¢ã¯ã»ã¹ãå¶éããŸãã
ãã¡ã€ã«reboot.php
<?php
// пÑОÑваОваеЌ паÑаЌеÑÑÑ Ñ ÐºÐŸÐœÑПлО пеÑеЌеММÑÐŒ
$user = $argv[1];
// ÐÐÐÐÐÐÐÐ. ÐÐŸÑ Ð·ÐŽÐµÑÑ Ð² ÑелÑÑ
безПпаÑМПÑÑО вÑе-ÑакО пÑПпОÑÑваÑÑ Ð¿Ð°ÑÐŸÐ»Ñ ÑÑÑÑПйÑÑва! ÐП ÐŽÐ»Ñ ÐŽÐµÐŒÐŸÐœÑÑÑаÑОО ÐŒÑ Ð±ÑЎеЌ ПбÑаÑаÑÑÑÑ Ðº базе ЎаММÑÑ
без ОÑпПлÑÐ·ÐŸÐ²Ð°ÐœÐžÑ Ð¿Ð°ÑПлÑ.
//$password = $argv[2];
$conn=new mysqli("localhost","db_user","db_password","db_name");
if (mysqli_connect_errno()) {
exit();
}
$conn->set_charset("utf8");
// "ÐÑпÑавлÑеЌ" ÐºÐŸÐŒÐ°ÐœÐŽÑ reboot за ÑÑÐµÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ Ð¿ÐŸÐ»Ñ task ÑаблОÑÑ users. РпПле task ЌПжМП ПÑпÑавлÑÑÑ Ð»ÑбÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ.
$sql_users=$conn->prepare("UPDATE users SET task='reboot' WHERE id=? AND status='active';");
$sql_users->bind_param('s', $user);
$sql_users->execute();
$sql_users->close();
?>
ããã ãã§ãã ãããã€ã¹ããã³ãã³ããå®è¡ããçµæãã©ã®ããã«ååŸãããããšããçåã¯æªè§£æ±ºã®ãŸãŸã§ãã ifconfig ã³ãã³ããäŸãšããŠäœ¿çšããŠã¿ã¹ã¯ãèŠãŠã¿ãŸãããã ãã®ã³ãã³ãã¯ããã€ã¹ã«éä¿¡ã§ããŸãã
message=`ifconfig`; wget "http://xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai/a.php?u=user&p=password!&m=$message" -O /tmp/out.txt
ããã§ã
ã¡ãã»ãŒãž=`ifconfig` â ifconfig ã³ãã³ãåºåã®çµæã $message å€æ°ã«ä»£å
¥ããŸã
ãŠã£ã²ããã
u=ãŠãŒã¶ãŒ&p=ãã¹ã¯ãŒã!&m=$ã¡ãã»ãŒãž â èªèšŒæ
å ±ãšãªã¯ãšã¹ãå€æ° m ã®å€ â $message å€æ°ã®å
容ãå²ãåœãŠãŸã
-O /tmp/out.txt â ãã®å Žåããã¡ã€ã« /tmp/out.txt ã«åºåããå¿
èŠã¯ãããŸãããããã®ãã©ã¡ãŒã¿ãŒãæå®ãããŠããªãå Žåãwget ã¯æ©èœããŸããã
ãªããããæ©èœããªãã®ã§ãããã?ããã¯æœåšçãªã»ãã¥ãªãã£ããŒã«ã ããã§ãã çºçããå¯èœæ§ã®ããæãç¡å®³ãªãšã©ãŒã¯ãããšãã°ãã³ãã³ãã®åºåã«ã&ãæåãå«ãŸããå Žåã§ãã ãããã£ãŠãã«ãŒã¿ãŒããéä¿¡ããããã¹ãŠã®ãã®ãšãµãŒããŒã«éä¿¡ããããã¹ãŠã®ãã®ã®äž¡æ¹ããã£ã«ã¿ãªã³ã°ããå¿ èŠããããŸãã ãããæ¬åœã«æ¥ããããã§ãã ç§ã®åŒè·ãšããŠã¯ããã®èšäºå šäœããäºåã«å®çŸ©ããããã¡ãŒã ãŠã§ã¢ãšãäºåã«å®çŸ©ãããŠããªãéä¿¡ãã£ãã«ãåããã«ãŒã¿ãŒã管çããæ¹æ³ã«å°å¿µããŠãããšããæžãããšãã§ããŸããã
ããŠãå°æ¥ãžã®ã¹ã¿ãŒãã§ããæšæºã® zabbix ããŒã«ã䜿çšããŠããµãŒããŒã«å±ãçµæ (ã³ãã³ãã®å®è¡çµæãªã©) ãåæ ããæ¹æ³ããŸã ããããŸããã
ãã¹ãŠã®ãœãŒã¹ã¯æ¬¡ã® Git ãªããžããªããååŸã§ããããšãæãåºããŠãã ããã
åºæïŒ habr.com