ניווט

    תחומים
    • הרשמה
    • התחברות
    • חיפוש
    • קטגוריות
    • פוסטים אחרונים
    • משתמשים
    • חיפוש
    • מקצועות
    חוקי הפורום

    API לפתיחת וסגירת פורט 3389 לRDP לעולם החיצוני באמצעות PHP

    רשתות
    6
    15
    148
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגב כנושא
    התחבר בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • ח
      חוקר נערך לאחרונה על ידי

      יצרתי לעצמי API שאני יכול ממחשב מרוחק לגשת לIP (הקבוע) של המחשב שלי ולפתוח לעצמי פורט שיחובר לפורט 3389 עבור חיבור לשולחן עבודה מרחוק.
      הרעיון הוא שכל הזמן אין פורט שמופנה לRDP, ורק בעת הצורך פותחים או סוגרים את החיבור
      זה נועד לתוספת אבטחה.
      להלן הקוד
      זה נכתב בהתאם לראוטר D-LINK 225
      הרעיון הוא שעבור פתיחת פורט ניגשים לכתובת של הדף
      http://31.31.31.31/openport.php?action=open
      ועבור הסגירה ניגשים כך
      http://31.31.31.31/openport.php
      כמובן יש לשנות לכתובת הIP הנכון
      וכן להשים את שם הקובץ בו שמרתם את הקוד
      וכן יש לוודא ששמתם את שם המשתמש והסיסמא הנכונים של הראוטר
      וכן לוודא שהמחשב המארח נמצא בכתובת 10.0.0.1 או להחליף בקוד לכתובת הנכונה
      ניתן לשנות את הפורט המאזין לכל פורט אחר כמובן

      <?php
      
      $username = 'Admin';
      $pass = 'Admin';
      
      $header = 'Content-Type: application/x-www-form-urlencoded'.
          "\r\n" . 'Cookie: username=' . $username . '; password=' . $pass . '';
      
      $opts = array('http' =>
          array(
              'method'  => 'GET',
              'header'  => $header,
              'follow_location' => false
          )
      );
      
      $context  = stream_context_create($opts);
      
      $Login = file_get_contents('http://10.0.0.138/login.cgi?web_login_name=' . $username . '&web_login_pass=' . $pass . '&loginfo=on&loginId=Login', FALSE, $context);
      
      $form = file_get_contents('http://10.0.0.138/scvrtsrv.html', FALSE, $context);
      $form = explode('&sessionKey=', $form);
      $sessionKey = explode("'", $form[1])[0];
      //print_r($sessionKey);
      $eStart = '5546'; //תחילת פורט נכנס
      $eEnd = '5546'; //סיום פורט נכנס
      $iStart = '3389';
      $iEnd = '3389';
      if (isset($_GET['action']) && $_GET['action'] == 'open') {
          $open = 'http://10.0.0.138/scvrtsrv.cmd?action=add&srvName=RDP&dstWanIf=ppp1.1&srvAddr=10.0.0.1&proto=1,&eStart=' . $eStart . ',&eEnd=' . $eEnd . ',&iStart=' . $iStart . ',&iEnd=' . $iEnd . ',&sessionKey=' . $sessionKey;
          $open2 = file_get_contents($open);
          print_r($open2);
      } else {
          $delete = 'http://10.0.0.138/scvrtsrv.cmd?action=remove&rmLst=10.0.0.1|' . $eStart . '|' . $eEnd . '|TCP|' . $iStart . '|' . $iEnd . ',&sessionKey=' . $sessionKey;
          $delete2 = file_get_contents($delete, FALSE, $context);
          print_r($delete2);
      }
      
      $LogOut = file_get_contents('http://10.0.0.138/logout.cgi', FALSE, $context);
      
      dovid איש ימיני upsilon01 3 תגובות תגובה אחרונה תגובה ציטוט 6
      • dovid
        dovid @חוקר נערך לאחרונה על ידי dovid

        @חוקר לדעתי זה רכיב מסורבל ולא מספיק בטוח.
        אני מסתפק בסיסמה קשה,
        אבל אם כבר תכבה את השירות של הRDP במחשב.

        ח תגובה 1 תגובה אחרונה תגובה ציטוט 4
        • ח
          חוקר @dovid נערך לאחרונה על ידי

          @dovid אמר בAPI לפתיחת וסגירת פורט 3389 לRDP לעולם החיצוני באמצעות PHP:

          אבל אם כבר תכבה את השירות של הRDP במחשב.

          זה דורש כנראה גישה לAPI של ווינדוס.
          אין לי שמץ של מושג איך לגעת בזה

          yossiz תגובה 1 תגובה אחרונה תגובה ציטוט 1
          • yossiz
            yossiz @חוקר נערך לאחרונה על ידי

            @חוקר אמר בAPI לפתיחת וסגירת פורט 3389 לRDP לעולם החיצוני באמצעות PHP:

            זה דורש כנראה גישה לAPI של ווינדוס.

            לא צריך API. אם זה אפשרי כלל, אפשר לעשות את זה באמצעות פקודות, אבל מסיבה לא ברורה מייקרוסופט לא תומכים בכביית שירות RDP.
            https://www.windows-commandline.com/start-terminal-services-command-line/

            תגובה 1 תגובה אחרונה תגובה ציטוט 3
            • yossiz
              yossiz נערך לאחרונה על ידי

              נסיתי לבדוק קצת יותר (באמצעות procmon), ובעז"ה מצאתי את המתכון להשבית ולהפעיל שירות RDP על ידי פקודה:
              השבתה:

              reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
               /t REG_DWORD /d 1 /f
              

              הפעלה:

              reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
               /t REG_DWORD /d 0 /f
              

              (השירות תמיד מופעל אבל הוא מאזין לשינויים במפתח רג'יסטרי ההוא והוא מפסיק להאזין כאשר משנים את הערך ל-1)

              תגובה 1 תגובה אחרונה תגובה ציטוט 5
              • איש ימיני
                איש ימיני @חוקר נערך לאחרונה על ידי

                @חוקר
                זה דורש התקנת PHP במחשב?
                וא"כ דורש גם פתיחת פורט 80?

                ח תגובה 1 תגובה אחרונה תגובה ציטוט 0
                • MusiCode
                  MusiCode נערך לאחרונה על ידי

                  עדיף פייתון, כדי ליצור קובץ נייד.

                  בכל אופן, הרעיון טוב.
                  רק סיסמא תשלב, כמובן...

                  אני עשיתי כזה דבר להוסיף את עצמי לחומת האש בשרת אסטריסק.
                  רק צריך להריץ את זה בכל הפעלה וכיבוי של הראוטר...

                  ח תגובה 1 תגובה אחרונה תגובה ציטוט 1
                  • ח
                    חוקר @איש ימיני נערך לאחרונה על ידי

                    @איש-ימיני אמר בAPI לפתיחת וסגירת פורט 3389 לRDP לעולם החיצוני באמצעות PHP:

                    @חוקר
                    זה דורש התקנת PHP במחשב?
                    וא"כ דורש גם פתיחת פורט 80?

                    אכן
                    אצלי כבר מותקן בין כך

                    איש ימיני תגובה 1 תגובה אחרונה תגובה ציטוט 1
                    • איש ימיני
                      איש ימיני @חוקר נערך לאחרונה על ידי

                      @חוקר
                      איך אני מתקין את זה?

                      dovid תגובה 1 תגובה אחרונה תגובה ציטוט 0
                      • dovid
                        dovid @איש ימיני נערך לאחרונה על ידי

                        @איש-ימיני נושא חדש בקשה!

                        תגובה 1 תגובה אחרונה תגובה ציטוט 1
                        • ח
                          חוקר @MusiCode נערך לאחרונה על ידי

                          @musicode אמר בAPI לפתיחת וסגירת פורט 3389 לRDP לעולם החיצוני באמצעות PHP:

                          רק צריך להריץ את זה בכל הפעלה וכיבוי של הראוטר...

                          דהיינו כשאין לך כתובת IP יוצא קבוע?
                          כי אני עשיתי את זה לעצמי לטאבלט ששם אין לי IP קבוע, אך במחשב אין לי בעיות (מה גם שהמחשב נטפרי וכמעט אין מושג של שינוי IP, משא"כ הטאבלט הוא סייפטק שם בדר"כ משתנה)

                          תגובה 1 תגובה אחרונה תגובה ציטוט 0
                          • upsilon01
                            upsilon01 נערך לאחרונה על ידי

                            זה מאד מזכיר port knocking

                            יש כאן מאמר בעברית

                            תגובה 1 תגובה אחרונה תגובה ציטוט 2
                            • upsilon01
                              upsilon01 @חוקר נערך לאחרונה על ידי

                              @חוקר

                              עדיף לחסום את הפורט במחשב עצמו, ולא בראוטר
                              ואז יהיה אפשר לפתוח רק ל IP שממנו בוצעה הבקשה
                              ולסגור אוטומטי אחרי זמן מסוים
                              (אפשר ב iptables לתת timeout ל rule)

                              ככה זה יהיה יותר מאובטח

                              yossiz תגובה 1 תגובה אחרונה תגובה ציטוט 1
                              • yossiz
                                yossiz @upsilon01 נערך לאחרונה על ידי

                                @upsilon01 אמר בAPI לפתיחת וסגירת פורט 3389 לRDP לעולם החיצוני באמצעות PHP:

                                (אפשר ב iptables לתת timeout ל rule)

                                הוא משתמש בווינדוס

                                upsilon01 תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                • upsilon01
                                  upsilon01 @yossiz נערך לאחרונה על ידי

                                  @yossiz
                                  אפשר גם ב windows

                                   netsh advfirewall firewall add rule name= "Open Port 80" dir=in action=allow protocol=TCP localport=80
                                  
                                  תגובה 1 תגובה אחרונה תגובה ציטוט 3
                                  • 1 / 1
                                  • First post
                                    Last post
                                  בא תתחבר לדף היומי!