Dove mantenere il repository di origine centrale?

Qual è la best practice del settore per garantire l'accesso al codice sorgente? Penso alle connessioni SSL solo tramite apache consentito al nostro server su una port oscura che non sia in conflitto con qualsiasi altra cosa. La cosa che mi disturba è la memorizzazione del codice sorgente su un server rivolto verso il pubblico, cioè non solo accessibile tramite una LAN. Inoltre, questo server ha diversi usi. Apache sta già servendo altri siti web aziendali. Vorrei che tutti possano accedere al codice sorgente da qualsiasi luogo (case, aeroporti, qualunque cosa) a patto che abbiano le credenziali corrette. Suggerimenti?

  • Come rilevare un process nascosto in Linux?
  • Quanto è sicura la connessione a Desktop remoto?
  • Migliori pratiche di sicurezza per le reti di piccole size - wifi, lan,
  • Come Hacker può accedere ai contenuti VPS CentOS 6?
  • Il file mancante di TortoiseSVN nell'aggiornamento
  • Bloccare le città geografiche di accedere a Asterisk usando Secast
  • 7 Solutions collect form web for “Dove mantenere il repository di origine centrale?”

    Se sei preoccupato di essere in un server rivolto verso pubblico, ma desidera accedere da qualsiasi luogo, dovresti considerare che i tuoi sviluppatori utilizzino una VPN basata su client per accedere alla tua networking in remoto per accedere a un server di controllo di origine interno.

    Non sono troppo sicuro perchè la gente sta pensando che l'approccio VPN sia il migliore. Non è necessariamente più sicuro e offre solo un vantaggio che posso pensare.

    PPTP per esempio è noto per avere less di sicurezza ideale, anche se credo che sia migliorato in qualche modo da quando è stato introdotto per la prima volta … quindi state attenti quali soluzioni VPN utilizzate. Vorrei andare con OpenVPN o IPSEC.

    Tuttavia, non è ansible battere la convenienza di SSL / TLS senza VPN (leggi ulteriormente). E per renderlo ancora più sicuro puoi farlo solo certificato.

    Tuttavia, se pensi di offrire altri servizi diversi dal controllo sorgente, consideri quindi una soluzione VPN perché ti identificherai altri servizi.

    Lo svantaggio con l'utilizzo di una networking VPN è che il PC diventa effettivamente parte della networking in cui si sta collegando. Anche questo può essere un vantaggio. Ma se sei un milione di chilometri da casa e la connessione di networking alla base di casa non è troppo veloce, each volta che vuoi fare una differenza o un codice di check-in o out potrebbe essere necessario collegarsi e scolbind la VPN.

    Posso parlare dall'esperienza personale qui come io sono uno sviluppatore ed è stato un vero dolore nel boom per farlo !!! Idealmente, entrambe le opzioni sono preferite.

    Quindi, se si sta andando a navigare sul web ecc, potrebbe rendere la lettura delle notizie ecc piuttosto lento. Ma alless ottieni l'accesso sicuro alla posta elettronica. Quindi, prendi in considerazione come userai in primo luogo … Se fossi in te, vorrei considerare l'implementazione di entrambi.

    In realtà mi piace il tuo suggerimento. Se il repository di codice sorgente è accessibile SOLO tramite SSL / TLS e si assicura che i tuoi sviluppatori non utilizzino passphrase di tipo "easy-to-brute-force" (o meglio ancora, utilizzare certificati), allora ciò dovrebbe essere sicuro quanto niente .

    Potresti invece hide il tuo server all'interno della LAN e forzare gli sviluppatori a utilizzare una VPN per accedere, ma questo significa solo che i tuoi sviluppatori devono mettere il loro nome utente / password (e / o cert) in una diversa casella di accesso. Raccomerei di non creare un punto di ingresso nella networking, le cui implicazioni di sicurezza potrebbero non essere sempre evidenti, solo per consentire l'accesso a un singolo servizio. Se hai già configurato e protetto VPN per altri usi, allora certamente, è un problema, andi avanti e usalo. Altrimenti, può essere più semplice e più sicuro per rendere il servizio direttamente disponibile tramite SSL / TLS.

    L'standard dell'industria dipende probabilmente da ciò che l'industria del tuo (o dei tuoi clienti) è 🙂

    Praticamente è necessario considerare chi si desidera dare accesso e cosa possono gestire. Alcune persone che potrebbero desiderare / hanno bisogno di accedere non saranno in grado di far fronte a molto di più di un nome utente / password. Altri potrebbero essere in grado di get la loro testa intorno ssh e una chiave privata, che ha fornito che è ansible saldamente get la chiave per loro, non è male. Il client TortoiseSVN può gestire ssh + svn e support chiavi private con un po 'di torsione del arm. Questo è stato abbastanza buono per i miei scopi.

    Un tunnel VPN è anche un giusto suggerimento, anche se in molti posti saresti felice di dare accesso alle persone esterne solo al tuo controllo di origine, ma non a tutta la tua networking!

    Come altri, preferisco una VPN. Un'alternativa sarebbe un tunnel SSH, che suppongo in pratica è comunque una sorta di VPN.

    Rendilo unico e implementa una soluzione VPN per utente remoto. / Doh- duplicate.

    Se vuoi accedere da qualsiasi luogo, allora hai bisogno di un server rivolto verso il pubblico – è molto chiaro.

    Su quel server, si desidera esporre il less ansible , preferibilmente solo Mercurial / Subversion e nient'altro. Ciò è quello di impedire una violazione della sicurezza da diffondere dal controllo sorgente al resto della tua azienda. Per questo motivo, concordo con Matt quando afferma che una VPN può essere pericolosa: fornisce un accesso molto più ampio di quello necessario.

    Per Mercurial, è ansible bloccare le cose con hg-ssh utilizzando hg-ssh per limitare i comandi disponibili per i client che si connettono su SSH. Utilizzando SSH, è ansible richiedere facilmente che i client utilizzino l'authentication a chiave pubblica anziché le password. Questo protegge il tuo server da attacchi di login bruta-forza.

    Anche se una chiave SSH è compromise (forse ha avuto una debole pass phrase e il computer porttile che memorizza è stato rubato), allora il peggiore danno che un attaccante può fare è aggiungere la memory dei rifiuti a Mercurial. Il protocollo utilizzato è intrinsecamente append-only, quindi nulla può essere eliminato con hg push .

    Per HTTPS, l' authentication viene eseguita dal server web front-end . Ciò significa che è ansible richiedere i certificati del sito client se si desidera e quindi get la sicurezza come l'authentication della chiave pubblica SSH sopra.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.