Skocz do zawartości
Zaloguj się, aby obserwować  
Gość

SFTP Jail

Polecane posty

Gość

Witam

 

Mam problem, mianowicie tworzę konto user dedyka wg tego tutoriala:

 

http://osworld.pl/sftp-jail-alternatywa-dla-ftp/

 

Wszystko fajnie, do czasu. Chcę, aby użytkownik mógł także korzystać z konsoli swojego konta (uruchamianie i zatrzymywanie aplikacji), zaś nie mieć dostępu do plików poza katalogiem domowym /home/xxx

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
zaś nie mieć dostępu do plików poza katalogiem domowym /home/xxx

Rozwiązanie to chroot, ale... zdajesz sobie sprawę, że owe aplikacje w znacznej większości przypadków wymagają różnorakich bibliotek ładowanych dynamicznie a znajdujących się poza katalogiem domowym użytkownika, przez co musi on mieć do nich dostęp?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nadal nie rozumiesz, w czym problem.

Jak najbardziej da się tak skonfigurować środowisko, aby zablokować odczyt wszystkiego poza katalogiem domowym.

No ale wtedy zablokujesz także odczyt owych dynamicznych bibliotek, więc i tak nie odpali się nic sensownego.

Żeby się odpaliło, to do takiego chroota musisz skopiować wszystkie potrzebne biblioteki zachowując strukturę katalogów.

Czyli - w uproszczeniu (duużym) - stworzyć takiego miniaturowego VPS.

 

Są jakieś tam metody utrudniające szkodzenie - np. powłoki z ograniczeniami (rsh).

Ale i tu nie jest większym problemem uciec z takiej powłoki i wykonywać polecenia systemowe.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość

Rozumiem, w zasadzie tylko udostępniam dedyka do działania serwera gry, więc chyba nie będą konieczne tak głębokie ograniczenia.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ja osobiście nie udostępniałbym w takim wypadku konsoli, a zrobił np. jakieś skrypty .php dostępne z zewnątrz, które np. restartowałyby serwer. Oczywiście to tylko przykład, ale tak naprawdę można zrobić wiele rzeczy nie dając fizycznego dostępu do konsoli. Kwestia pomysłu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość

Tyle że nie potrafię wykonać takowego skryptu, ani nie mam wiedzy z tego zakresu, dlatego chciałem to załatwić jak najłatwiejszą drogą.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie masz wiedzy?

 

Apache z PHP działa sobie dumnie pod nazwą xyz. Tworzysz w np. katalogu /var/ plik restart.sh i dajesz chmod 744 i ownera xyz. Następnie piszesz sobie skrypt:

 

<?php
echo shell_exec('/var/restart.sh');
?>

 

To oczywiście jest bardzo niebezpieczna metoda, ale jeśliby ją wrzucić w jakiś folder, do którego trzeba się zalogować czy coś w ten deseń to zdaje egzamin.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

A może w php po ssh2?

 

Pod to jakiś fajny skrypt napisać i nie ma problemu ze sterowaniem serwerem gry przez przeglądarkę. Zrobić do tego jeszcze skrypt logowania i już "jako tako" jesteś bezpieczny ;)

 

Powyższa metoda jest niebezpieczna, ale po SSH2 już można poszaleć ;)

  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość

Hmm... Gdym tylko umiał to bym napisał, ale wracając do tematu, jak zablokować usera w katalogu domowym poprzez OpenSSH z dostępem do konsoli?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

<?php
## Logowanie
$ip = '123.123.123.123';
$portssh = '1234567';
$userssh = 'user_aaaaaa';
$hashssh = 'hasło_aaaaaa'; 

//KOMENDA SSH
$polecenie = "./home/serwer_gry/restart.sh"; 


$polaczenie = ssh2_connect($ip, $portssh);
ssh2_auth_password($polaczenie, $userssh, $hashssh); 
$stream = ssh2_exec($polaczenie, $polecenie);

stream_set_blocking($stream, true);
echo '<pre>';
echo stream_get_contents($stream);
echo '</pre>';

?>

 

Trochę przerobione z tego forum...

  • Upvote 2

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość

Testowałem ten skrypt i stwierdzam, że coś nie działa (na 100% to moja wina). Zatem potrafi ktoś skonfigurować odpowiednio grupę dla OpenSSH?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×