sikkerhed - Sikring af Git-server på Windows?

Indlæg af Hanne Mølgaard Plasc

Problem



Ved hjælp af msysgit og copssh er det muligt at sikre ssh-delen sådan, at den kun kan få adgang til de relevante git-eksekverbare filer og også være begrænset til at få adgang til kun en mappe?


Jeg har en fornemmelse af, at en git-server på windows vil være meget mere åben end en svn-server som visuel svn. Jeg håber at blive vist forkert.

Bedste reference


Jeg vil meget anbefale at bruge et af Git-HTTP-projekterne.
Se mit svar på: https://serverfault.com/questions/58425/setting-up-git-repository-on-remote-windows-server/163065#163065[4]


Du forsøger at få Windows til at opføre sig som UNIX.
Bedre med strømmen, og brug en .NET-baseret løsning som Git-serverbackend.





Når du har en aftale om et lille 2-personsprojekt (som du nævnte i kommentarerne), kan du også være vært for git-depotet på en Windows-netværksdeling. Det virker bare, og du kloner UNC-stien (eller kortlagt drevbogstav) i din git-klient.


For UNC-stier, når du bruger skråstreger i stedet for tilbagekoblinger (dvs. //server01/git/myrepos.git).

Andre referencer 1


Jeg ville bruge en Linux-server til dit centrale Git-depot. Installer gitolite. Dette giver dig mulighed for at administrere filialrettigheder mv.


UPDATE:


Som i dine seneste kommentarer, bare gå med ufuldstændige og gøres med det om 1 minut. Hvis du er bekymret for at bruge op på 500 MB plads, de giver, kan store ikke-private artefakter gemmes som en submodule, der kan hostes på github.


Håber dette hjælper!

Andre referencer 2


På Windows har jeg fundet Apache og Smart Http (git-http backend) for at være den bedste måde at være vært for en Git-server.


https://web.archive.org/web/20100308035130/http://progit.org/2010/03/04/smart-http.html[5]


Og jeg kommer til at få adgangskontrol, jeg vil rådgive dig om at holde det enkelt og få adgangsfil til fil svn eller endda gitolite/gitosis og skrive simple kroge i Git repo (i Python, Ruby, etc.)


Kroge vil give dig ret god kontrol over Git repo. Du kan kontrollere checkins pr. Filial, checkins til bestemte mapper mv.


Kig på git kroge man siden. pre-receive eller update er de kroge, du kan bruge til dette formål.


Se på dette fantastiske kapitel fra Pro Git om, hvordan du bruger Git kroge på serversiden for at håndhæve politikken - https://git-scm.com/book/en/v2/Customizing-Git-An-Example-Git-Enforced- politik [6]


Du kan nemt justere dem og tilføje funktionalitet, der passer til dit formål.

Andre referencer 3


Et alternativ kan være at bruge https://github.com/jakubgarfield/Bonobo-Git-Server/wiki[7]

Andre referencer 4


Da jeg begyndte at se på at etablere en corporate git service, har vi følgende krav:
1. Administrer git repositories som projekter, hvor vi kan levere selvbetjeningsadgangskontrol på projektniveau.
2. LDAP login integration
3. Lav administrativ indsats


Jeg vurderede vanilje git, git + git-http, gitolite. Denne løsning ville kræve en administrativ person til at styre adgangskontrollen. Hvis holdet er stort, vil dette være en betydelig indsats. Hvis holdet er lille (5-10 udviklere), er vanilla git ok.


Jeg kiggede på github enterprise, brug github, og senere bitbucket. Vi købte til sidst bitbucket og har en on-prem version op og kører. bitbucket opfylder alle vores krav. Derudover kan vi selektivt synkronisere nogle af AD-grupperne til bitbucket og styre adgang på gruppens niveau.