Skocz do zawartości
overkill

[VPS] Automatyczny Fast Download

Polecane posty

Witam wszystkich użytkowników.

 

Ostatnio dla nauki zakupiłem serwer vps, postawiłem tam sobie serwer gry na silniku Half-Life. Obecnie dużo firm oferujących serwery gier posiada opcję włączenia Fast Download. Zastanawiam się czy istnieje możliwość zdobycia takiego gotowego skryptu. Tradycyjna metoda z fast download nie jest zła ale należy wrzucać pliki na serwer gry i oczywiście na fast download zajdujący się w public_html. Zastanawiam się także jak taki skrypt działa. Wrzucając pliki na serwer gry, automatycznie za pomocą skryptu mapy, modele trafiają także do katalogu z fast download ? + dla bezpieczeństwa nie są odczytywane pliki .cfg aby np. niekontrolowana osoba nie zdobyła hasła rcon. Mile widziane linki do materiałow które mogą rozwiać moje wątpliwości w tej sprawie.

 

Z góry dzięki za wszystkie odpowiedzi.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Może folder z twoimi plikami jest podmontowany w dwóch miejscach?
1. tam gdzie powinien być, czyli w odpowiednim folderze aplikacji serwera gry
2. w folderze do którego ma dostęp apache/nginx i serwuje pliki na zewnątrz po http.

Drugi pomysł to częsta synchronizacja danych (jakiś rsync czy coś) z zewnętrznym serwerem.

Obstawiam, że rozwiązań jest sporo :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Kszysiu dzięki za odpowiedź.

 

Jeśli chodzi o punkt 1. Czyli włączając opcję "fast download" automatycznie np. do paramterow startowych serwera dopisywany jest adres http://adresip/numerpidusera/cstrikei wtedy podczas kopiowania plikow na serwer gry trafiają one do tego katalogu.

 

2. Serwer www ma dostęp do określonego katalogu/plików czyli np. ~/steam/games/cstrike i udostępnia je po swojej stronie. Czyli zamiast kombinować z tworzeniem w public_html katalogu z plikami, dane pliki są odczytywane z folderu gry i udostępnianie pod innym adresem.

 

Jestem Newbie dlatego tak się dopytuje :).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

myślę, że da się zrobić tak:
ln -s /sciezka/do/folderu/cstrike /sciezka/do/folderu/z/ktorego/ciagnie/apache

a jak chcesz zabezpieczyć niektóre rodzaje plików możesz użyć htaccess:
http://www.ducea.com/2006/07/21/apache-tips-tricks-deny-access-to-certain-file-types/

przynajmniej ja bym tak chyba zrobił :) Ale nie wiem na ile to jest bezpieczne, bo się nie zastanawiałem :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ja bym użył w takim celu innego rozwiązania ;)

 

Będzie potrzebne apache2 (inne serwery też mogą działać na tej zasadzie, jednakże poniższa konfiguracja nie będzie działała).

Jeżeli posiadasz domenę utwórz nowy rekord A wskazujący na adres IP twojego serwera, dla jakiejś subdomeny (i najlepiej dla www.subdomena.jakaśtwojadomena.pl, aby nie następowały pomyłki).

Następnie utwórz plik konfiguracja1.conf w lokalizacji /etc/apache2/sites-available/ o treści:

<VirtualHost subdomena.jakaśtwojadomena.pl:80>
DocumentRoot /ścieżka/do/folderu/gry/
ServerName sudbomena.jakaśtwojadomena.pl
ServerAlias www.subdomena.jakaśtwojadomena.pl
</VirtualHost>

A następnie użyj komendy:

sudo a2ensite konfiguracja1.conf && service apache2 restart

Po zastosowaniu powyższej komendy, subdomena będzie działała na zasadzie aliasu - każdy podfolder w folderze gry będzie również miał ścieżkę w subdomenie. Np. pliki z folderu folder1 będą widoczne też na stronie www subdomena.jakaśtwojadomena.pl/folder1/. A jeżeli nie chcesz, aby jakiś folder był w ten sposób widoczny, wystarczy w nim utworzyć pusty plik o nazwie index.html :)

Edytowano przez mediauser (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

kszysiu, mediauser dzięki za odpowiedzi. Jeśli chodzi o domenę obecnie nie posiadam żadnej ale dla nauki zakupię i zobaczym co z tego wyjdzie.

 

Ogólnie jeśli dobrze mi się wydaje. Utworzenie subdomeny w pzypadku gdy ktoś ma stronę na vps jest bezpieczniejsze a z kolei za pomocą http://www.ducea.com/2006/07/21/apache-tips-tricks-deny-access-to-certain-file-types/wyklucze folder cfg, gdyż tam w pliku server.cfg znajduje się hasło rcon, oczywiście można przypisać hasło rcon w parametrach startowych ale wolę je mieć w server.cfg(kwestia wygody). Zastanawiam się jeszcze nad jedną sprawą. Ciekawe czy można zastosować regułę która będzie pomijała wszystkie pliki ".cfg".

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

No to właśnie w tym linku co ci podałem możesz wykluczyć pliki o konkretnej nazwie. wg mnie jeszcze możesz ustawić odpowiednie uprawnienia dla folderów, tak, żeby użytkownik www (a chyba na takim chodzi apacz) nie mógł po prostu czytać tego folderu i powinien zwracać przeglądarce 403 (chyba tak było permission denied?:P ). mi się wydaje, że wszystkiemu możesz dać 700, a ewentualnie to co ma widzieć apache 750 albo 755

 

http://pl.wikipedia.org/wiki/Chmod

 

W ogóle pamiętaj o takich podstawach:
1. Nie odpalasz nic na roocie

2. tworzysz użytkownika najlepiej dla każdej usługi (adduser)

3. zabraniasz logowania do roota po ssh (najlepiej to w ogóle po kluczu, ale jak nie to wymyśl długą niesłownikową nazwę użytkownika i hasło) plik /etc/sshd/sshd.config (jakoś tak)

4. Dropujesz w iptables wszystko co ci nie potrzebne. (polecam się nauczyć, ale pewnie w necie znajdziesz generatory), nie "utnij" sobie ssh ;)
5. Ustawiasz dobre uprawnienia dla plików.

6. Dajesz sudo tylko użytkownikom którzy na prawdę tego potrzebują.

 

 

w powyższym przykładzie zamiast domeny (którą możesz z resztą darmową na dot.tk sobie założyć. polecam, staraj się nie podawać adresów ip a właśnie domeny - ułatwia ewentualną migrację) możesz podać ip.

mediauser:

Moje rozwiązanie ma taką zaletę, że nie musi udostępnić całego folderu cstrike, tylko może np. pojedyncze potrzebne foldery symlinkować, a ich "skład" chyba raczej się nie zmienia:)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
wyklucze folder cfg, gdyż tam w pliku server.cfg znajduje się hasło rcon, oczywiście można przypisać hasło rcon w parametrach startowych ale wolę je mieć w server.cfg(kwestia wygody).

 

No to 2min po tym co zrobisz,jakis rusek przejmie kontrole nad twoim serwerem.

Zabawi sie hasłem i będziesz szukał winnych.

RCON sie do polecenia startowego dodaje.

z server.cfg obecnie da sie wszystko wyciągnać.

Wygoda?

Jaka w tym wygoda że dasz do pliku.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wygoda w każdej chwili mogę zmienić hasło i wystarczy tylko wykonać restart serwera gry. Jeśli chodzi o RCON obecnie sam podałem go w parametrach startowych. Zauważ jednak że większośc firm hostujących serwery gier umożliwia tylko dodanie parametru "map", przeważnie u nich hasło rcon jest w server.cfg(tak wiem mają lepsze zabezpieczenia) Jeśli chodzi o hasło rcon dawniej bez problemu można było je wyciagnąc z server.cfg Podobno problem ten rozwiązano. Przecież jesli nie udostępnie możliwości pobierania plików .cfg i nadam odpowiedni chmod i o ile naprawdę nie ma obecnie żadnej luki nie widzę powodów do obaw. Chyba że mówisz o wyciągnieciu hasła rcon w inny sposób. Jeśli wiesz jak działa mechanika takiego ataku podziel się swoją wiedzą. Wszyscy skorzystają.

 

Kszysiu dziękuje, jeśli chodzi o security vps'a wykonałem następujące kroki.

1. Zmiana standardowego portu "22" do połączenia ssh na inny czterocyfrowy.

2. authorized_keys, możliwość logowania tylko przez klucz, dostęp przez pass nieaktywny, logowania do konta roota wyłączone.

3. Utworzony nowy user, dodałem go do grupy sudo. Podanie hasła użytkownika umożliwia dopiero skorzystanie z uprawnień roota.

4. ZainstalowanA nakładka na firewall fail2ban, zmieniłem tylko restrykcje.

 

Jeśli chodzi o domene super że podzieliłeś się informacjami.

 

Dziś przeprowadzę testy i podziele się informacjami.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

zainteresuj się pakietem GOD - jest to system monitorowania procesów. Możesz dopisać logikę typu "jeśli proces przekracza cpu to coś, jeśli przekracza ram to coś, jeśli proces padł to coś, bla bla bla bla"

Tworzysz tam specjalny skrypt z poziomu którego możesz odpalać serwer, wystarczy wtedy np. "god cstrike start", "god cstrike restart", "god cstrike status"

Na prawdę fajna sprawa, dużo lepsze od uruchamiania serwerów ze screena, co pojawia się w co drugim poradniku.

Udostępnij ten post


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

Co do 3. to jeszcze wyłącz możliwość logowania się po ssh na root-a.

 

@Krzysiu też z god-a chyba skorzystam ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Kamikadze zrobione, Serwer obecnie uruchamiałem w tmux ale z checią wyprobuję god'a, mam nadzieje ze ogarne go jako tako.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Domena już podpięta: blyskawica.tk

Zastanawiam się jednak czy dobrze ją podpiąłem. Zalogowałem się do panelu mojej domeny i w rekordach podałem ip swojego serwera vps już pod dwóch minutach mogłem dokonywać tesu "ping blyskawica.tk" w cmd. Edytowałem także plik index.html i zawarłem słowa "Glover wymiata :)" czy w przypadku mojego serwera ip =dns.

 

Oczywiście mam problem z fast download. Katalog z plikami serwera gry pomyślnie został podmontowany.

 

 

drwxr-xr-x 2 root root 4096 Mar 14 19:46 .
drwxr-xr-x 12 root root 4096 Apr 15 2014 ..
lrwxrwxrwx 1 root root 26 Mar 14 19:14 dod -> /root/over/steam/games/dod
-rw-r--r-- 1 root root 65 Mar 14 19:46 index.html

 

Chmody dla katalogów są odpowiednie 755.

 

Jednak fiaskiem kończy się pobranie mapy.

 

http://blyskawica.tk/dod/maps/dod_anzio.bsp

 

Brak uprawnień.

 

Podam przykład ja wygląda to na pewnym serwerze gier.

 

http://k.1shot1kill.pl/FD/srv24730/dod/maps/dod_tiger2008.bsp

 

Sprawdzałem sam katalog maps ma uprawnienia "755" pliki zanjdujące się w nim "644"

 

Czy nie muszę się skupić przypadkiem na "lrwxrwxrwx" czyli tych uprawnieniach do calego katalogu.

 

Mam nadzieję że zbytnio nie zawracam nikomu głowy.

Edytowano przez overkill (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

sprawdz czy na 777 działa... jak zadziała to potem spróbuj zejść w dół z uprawnieniami... pytanie czy apache ma prawa do wszystkich folderów "wyżej"?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Sprawdzałem na "777" jednak prawde mówiąc nadając chmod "777" umożliwiłem tylko dodatkowo zapis. Wrociłem do standardowych uprawnień "755". Jeśli chodzi o drugie to chodzi konkretnie o katalog /dod ?. Mógłbyś mi podpowiedzieć jak umożliwić serwerowi www czytanie plików z katalagou /dod.

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ę


×