Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Cześć,
Załóżmy że mam serwer fizyczny na którym zainstalowany jest Debian 9 "Stretch". Serwer ten pełni rolę serwera WWW, gdzie zainstalowany jest również nginx, php, mysql. Czy w tym przypadku kiedy wychodzą aktualizacje systemu czy poszczególnch "składników" instalujecie je używając
apt-get update
oraz
apt-get upgrade
? Znam przypadki gdzie raz "postawiony" serwer działa latami, a kiedy chcemy go zaktualizować zatrudniamy programistów do przepisania aplikacji na wyższe wersje php oraz "stawiamy" obok drugi serwer z aktualnymi wersjami na który docelowo przenosimy się. Tylko tego nie robi się dwa razy w tygodniu a aktualny serwer to bardziej bezpieczy serwer niż nie aktualizowany na bieżąco.
Jak to się robi we firmach w których pracujecie?
Ostatnio edytowany przez shiver25 (2018-12-29 21:21:32)
Offline
Ja wszystko na serwerach trzymam aktualne, praktycznie aktualizacje bezpieczeństwa się wgrywa co najmniej raz, dwa na tydzień.
Czasem zdarzają się takie przypadki jak np Ghost czy Heartbleed, wtedy trzeba łatać systemy w ciągu minut a nie dni czy tygodni.
Offline
Lepiej sobie kontenery docker'a porobić — są [url=https://hub.docker.com/]oficjalne obrazy[/url] praktycznie do wszystkiego i aktualizacja ich nie powinna nic psuć. :] A nawet jeśli coś się zepsuje to zawsze wcześniej zrobić drugi kontener z nowszą wersją i podpiąć testowo i sprawdzić czy działa — jak działa, to stary kontener wywalić albo dezaktywować.
Offline
Dzięki @morfik @Jacekalex @Pakos za odpowiedzi.
Rozjaśniliście mi jak to można zrobić. Jest nad czym pracować :). W przypadku serwerów zwirtualizowanych jak np xen to spoko, zawsze snapshot można zrobić, ale takich maszyn bermetal sprawa już tak różowo nie wygląda jeśli mamy jakiś dług technologiczny i zainstalowany system który już nie jest wspierany.
Ostatnio edytowany przez shiver25 (2018-12-30 16:38:59)
Offline
W przypadku całego serwera chyba lepiej zamiast Dockera użyć konteneryzacji LXC. Masz wtedy administrację takim kontenerem zbliżoną do zarządzania zwykłym systemem (podobnie jak w przypadku maszyn wirtualnych). No i powinien być trochę wydajniejszy i lepiej zintegrowany z systemem gospodarza.
W przypadku aktualizacji klonujesz wcześniej taki kontener i w razie jakichkolwiek problemów przełączasz się na działający kontener.
Offline
LXC i Docker to są konkurencyjne projekty, które w zasadzie robią dokładnie to samo
i niemalże tak samo.
Jak serwer ma odpowiednie zasoby a procek wsparcie dla wirtualizacji (czyli ma w wielkim uproszczeniu maksimum 10 lat i odpowiednie mechanizmy) to można się rzucić na KVM, czyli pełną wirtualizację.
Konfiguracja KVM nie jest trudniejsza niż LXC czy Dockera, za to każda VM jest samowystarczalnym autonomicznym systemem operacyjnym, także nie łatwo jest zrobić krzywdę systemowi gospodarza z poziomu prawidłowo skonfigurowanej maszyny wirtualnej.
Jeszcze trudniej jest uszkodzić inne maszyny wirtualne z poziomu jakiejś skompromitowanej VM.
Jedna wada maszynek wirtualnych jest taka, że jak wyniesiesz na różne VM poszczególne usługi sieciowe z systemu gospodarza, to w przypadku Dockera można między nimi mapować sockety UNIX, co w przypadku KVM jest już chyba całkowicie niewykonalne, także poszczególne w usługi różnych VM mogą qadać ze sobą tylko przez połączenia TCP.
Identyczna sytuacja jest z gniazdami IPC, w systemie są dostępne, w kontenerze Docker czy LXC już nie, ale być może jakoś je tam można podłączyć (jakąś kombinacją "alpejską"), za to w maszynie wirtualnej gniazd IPC systemu gospodarza nie ma na pewno.
Sznurki:
https://pl.wikipedia.org/wiki/Kernel-based_Virtual_Machine
https://www.linux-kvm.org/page/HOWTO
KVM jest odpowiednikiem wirtualizacji XEN, często nazywanym nawet XEN-killerem.
Coraz więcej komercyjnych VPS jest wykonanych już nie w technologiach XEN czy OpenVZ ale najczęściej KVM Openstack.
Pozdro
Ostatnio edytowany przez Jacekalex (2018-12-30 14:31:23)
Offline
[quote=Jacekalex]LXC i Docker to są konkurencyjne projekty, które w zasadzie robią dokładnie to samo
i niemalże tak samo.[/quote]
To nie są konkurencyjne projekty, W zasadzie służą do zupełnie innych rzeczy. Dlatego zresztą Docker dosyć szybko przestał korzystać z LXC i dla swoich potrzeb stworzył niezależną bibliotekę [tt]libcontainer[/tt], która bezpośrednio komunikuje się z jądrem bez udziału [tt]lxc[/tt]:
https://blog.docker.com/2014/03/docker-0-9-introducing-execution-drivers-and-libcontainer/
W skrócie, Docker używa konteneryzacji do zarządzania aplikacjami (wdrażania, wersjonowania, przenoszenia etc.), a LXC do wykonywania tych samych operacji, ale na całych obrazach linuksowych systemów — czyli taka właśnie alternatywa dla maszyn wirtualnych.
Tu można znaleźć więcej informacji:
https://docs.docker.com/engine/faq/#what-does-docker-technology-add-to-just-plain-lxc
A co do KVM, czy w tym konkretnym przypadku KVM oferuje coś przełomowego by poświęcać większe zasoby na na pełną wirtualizację i dodatkowy czas na dodatkową konfigurację oraz administrację?
Offline
Docker też obsługuje całe systemy operacyjne, podobnie jak LXC.
Natomiast faktycznie, potrafi znacznie więcej niż LXC.
W czym lepszy jest KVM?
A czym się różni pełna witrualizacja od cudownego chroota dozbrojonego przez cgroup,namespaces, seccomp i apparmora? (jakiego tworzy Docker czy LXC )
i dodatkowy czas na dodatkową konfigurację oraz administrację?[/quote]
tu mnie rozbawiłeś.
Z reszta mogę się założyć, ze admini z OVH i innych dużych firm oferujących serwery VPS umarli by ze śmiechu po takim stwierdzeniu.
Czy odpalisz Debiana w kontenerze Dockera, czy LXC czy na KVM robota jest praktycznie taka sama.
Oczywiście każdą robotę możesz zrobić ręcznie albo zautomatyzować jakimiś programami czy skryptami, ale to już sprawa każdego Admina z osobna.
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
[quote=Jacekalex]W czym lepszy jest KVM?
A czym się różni pełna witrualizacja od cudownego chroota dozbrojonego przez cgroup,namespaces, seccomp i apparmora? (jakiego tworzy Docker czy LXC )[/quote]
Znacząco większym użyciem zasobów? ;)
Pytanie było bardzo precyzyjne: co w tym konkretnym przypadku przemawia za użyciem KVM, biorąc pod uwagę dodatkowy czas na konfigurację/administrację oraz użycie większych zasobów (czyli możliwa mniejsza wydajność)?
Czy odpalisz Debiana w kontenerze Dockera, czy LXC czy na KVM robota jest praktycznie taka sama.[/quote]
W pełni skonfigurowany i zabezpieczony kontener nawet średnio rozgarnięty laik może postawić w kilka minut. KVM wymaga jednak trochę więcej roboty.
A administracja takimi kontenerami może być zupełnie intuicyjna nawet dla nowicjusza.Z reszta mogę się założyć, ze admini z OVH i innych dużych firm oferujących serwery VPS umarli by ze śmiechu po takim stwierdzeniu.[/quote]
Problem w tym, że tego wątku nie założyli admini OVH i argument szybszej oraz łatwiejszej konfiguracji/administracji może mieć dla autora wątku znaczenie. Szczególnie, gdy się przeczyta dokładnie o co [b]shiver25[/b] pyta.Offline
[quote=yossarian]Problem w tym, że tego wątku nie założyli admini OVH i argument szybszej oraz łatwiejszej konfiguracji/administracji może mieć dla autora wątku znaczenie. Szczególnie, gdy się przeczyta dokładnie o co [b]shiver25[/b] pyta.[/quote]
Niestety nie pracuje w OVH, może kiedyś ale na pewno nie teraz jak zadaje takie pytania na forum.
Firma w której jestem zatrudniony powinna mieć w logo cebulę. W moim zespole są sami juniorzy których doświadczenie oscyluje w okolicach 2 lat. Generalnie żadnego seniora nie ma, więc stan sprzętu czy systemów jest jaki jest. Sprzęt, sprzętem nawet leciwy można w fajny sposób wykorzystać jeśli ma się obrany kierunek i wiedzę jak to można zrobić.
Konteneryzacja brzmi fajnie, masa wiedzy i rozwiązań w internecie jeśli chodzi o Docker-a. Z tego co się orientuję dużo firm przechodzi/przeszło na takie rozwiązania. W ofertach pracy też widuję pozycję dot. znajomości Docker-a. Może warto przegadać w moim zespole wdrożenie jakiegoś serwera testowego opartego o kontenery.
Ostatnio edytowany przez shiver25 (2018-12-30 18:14:42)
Offline
[quote="Yossarian"]Znacząco większym użyciem zasobów? ;)[/quote]
Zużycie zasobów może jest większe, ale nle nie kosmiczne większe wbrew pozorom,
przy w miarę współczesnych prockach maszyna witrualna, parawirtualizacja a kontener dockera to nie są różnice kosmiczne.
Obrazy maszyn KVM też możesz kopiować, i to nawet bez wyłączania, żeby było weselej,
co mocno upraszcza konfiguracje wielu maszyn VM.
[quote="shiver25"]Firma w której jestem zatrudniony powinna mieć w logo cebulę. W moim zespole są sami juniorzy których doświadczenie oscyluje w okolicach 2 lat. Generalnie żadnego seniora nie ma, więc stan sprzętu czy systemów jest jaki jest. Sprzęt, sprzętem nawet leciwy można w fajny sposób wykorzystać jeśli ma się obrany kierunek i wiedzę jak to można zrobić.[/quote]
Zróbcie sobie lokalne środowisko testowe, przy którym powstanie też repozytorium pakietów dla serwerów produkcyjnych.
Uprości to bardzo aktualizacje, bo na etapie testowym da się wyłapać wiele różnych błędów i kłopotów.
Dodatkowo w takiej organizacji nie ważne, czy to Debian, CentOS, Gentoo czy BSD, wszystkie systemy unixopodobne korzystają z repozytoriów i potrafią instalować binarne paczki testowane lub nawet budowane na innych maszynach w sieci lan.
W ten sposób życie staje się prostsze. xD
Poza tym maszyny hostingowe już na poziomie Wordpressa się słabo sprawdzają,
także ich czas jest już policzony, raczej przyszłość to VPSy.
Oczywiście nie twierdzę że wszystko natychmiast zmigruje na VPS i dedyki, ale na kontach hostingowych już coraz trudniej posadzić Magento czy nowego Prestashopa,
porządnie zabezpieczyć Wordpressa,Joomlę czy Drupala też się tam nie da tak skutecznie zrobić, jak na VPS.
Dodajmy do tego RODO i legendarne podatności typu database.cośtam i SQL.cośtam we wszystkich wersjach PHP i wszystkich popularnych skryptach PHP, i widać, że dla hostingów przyszły bardzo ciężkie czasy.
Do tego VPSy kiedyś kosztowały minimum 50 zeta/mies a dziś już 15 zeta/mies,
to są zupełnie inne pieniądze.
Do prostych kont hostingowych brałbym Dockera, powinien się sprawdzić elegancko, szablon takiego typowego konta hostingowego zrobić to nie problem.
VPsy to już przede wszystkim KVM i gotowe obrazy VM.
Trzeba też jak pacierza nauczyć się cgroup, namespaces i jakiegoś ACL np Apparmora czy SELinuxa.
PS:
Pewnie niedługo będzie u Was szukał roboty pewien "super pro administrator" z firmy Morele.... xD
Ostatnio edytowany przez Jacekalex (2018-12-30 22:25:11)
Offline
[quote=Jacekalex]PS:
Pewnie niedługo będzie u Was szukał roboty pewien "super pro administrator" z firmy Morele.... xD[/quote]
To jest właśnie to gdzie cebula rzuca się na oczy. Zamiast zatrudnić osobę wykwalifikowaną, która będzie miała pieczę nad infrastrukturą myśli się że osoby znające w jakimś stopniu Linuxa ogarną temat, więc po co przepłacać? Nie mam nic do ludzi, którzy pytają i chcą się czegoś nauczyć czy dowiedzieć, bo to jest dla mnie normalne, ale powinny takie osoby być kontrolowane przez Adminów z większym stażem by właśnie wychwycić błędy i opier.... by poprawił jeden z drugim to co puścił albo próbował na świat a nie powinien był.
Druga sprawa to co mnie irytuje, w ... byl, ... widział ale Pan Administrator :)
Ostatnio edytowany przez shiver25 (2018-12-30 19:18:31)
Offline
To jest właśnie to gdzie cebula rzuca się na oczy. Zamiast zatrudnić osobę wykwalifikowaną, która będzie miała pieczę nad infrastrukturą myśli się że osoby znające w jakimś stopniu Linuxa ogarną temat, więc po co przepłacać? Nie mam nic do ludzi, którzy pytają i chcą się czegoś nauczyć czy dowiedzieć, bo to jest dla mnie normalne, ale powinny takie osoby być kontrolowane przez Adminów z większym stażem by właśnie wychwycić błędy i opier.... by poprawił jeden z drugim to co puścił albo próbował na świat a nie powinien był.[/quote]
Problem wygląda troszkę inaczej.
Sam znam kilku takich "super profesjonalnych profesjonalistów" wśród nich jest jeden dr inż z Politechniki, którzy mogą przedstawić cudowne CV.
I każdy pewnie by myślał, że wiele potrafią.
Ale jak jeden taki spec konfigurował serwer, na którym sklep internetowy Oscommerce został zhakowany po dwóch tygodniach z powodu istniejącego kiedyś REGISTER_GLOBALS, to wyszło, jak jest prawdziwa wiedza takiego "wielkiego specjalisty z pięknym CV".
Dlatego w teorii możesz sobie szukać wielkich super profesjonalistów, ale jak nie masz dosyć wiedzy, żeby ocenić ich umiejętności, to skąd masz wiedzieć, że taki facet nie ściemnia?
Żeby zrobić bezpieczny serwer i posadzić na nim bezpiecznie choćby Wordpressa
trzeba mieć sporo pomysłowości i doświadczenia, i przede wszystkim trzeba potrafić zignorować oczywiste bzdury w oficjalnych dokumentacjach.
Tu masz taki przykład fachowej pomocy z ostatnich dni uzyskanej na pewnym forum:
https://community.mybb.com/thread-220808.html
Patrz co to znaczy "pilnować interesu":
http://www.linuxsecurity.com/content/view/216634?rdf
http://www.linuxsecurity.com/content/view/216631?rdf
To są dwa raporty z jednego dnia.
Nieźle odpowiadają na Twoje pytanie o częstotliwość aktualizacji. :P
Obie podatności w SUSE wynikają z błędów w interpreterze języka go, którego używa min Docker (ten błąd dotyczył wszystkich Linuxów), np:
https://security.gentoo.org/glsa/201812-09
Ten błąd niezałatany też mógł firmy hostingowe drogo kosztować (był obecny we wszystkich Linuxach):
https://security.gentoo.org/glsa/201812-07
PozdroOstatnio edytowany przez Jacekalex (2018-12-30 20:02:32)
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
[quote=Jacekalex]Problem wygląda troszkę inaczej.
Sam znam kilku takich "super profesjonalnych profesjonalistów" wśród nich jest jeden dr inż z Politechniki, którzy mogą przedstawić cudowne CV.
I każdy pewnie by myślał, że wiele potrafią.[/quote]
No cóż, muszę się z Tobą tutaj zgodzić że faktycznie zatrudniając taką osobę nie zależnie już gdzie i tak trzeba ją zweryfikować, a tylko ktoś kto pracuje w branży (i nie gapi się tylko w monitoring ;)) jest w stanie mniej więcej zweryfikować takiego osobnika.
To są dwa raporty z jednego dnia.
Nieźle odpowiadają na Twoje pytanie o częstotliwość aktualizacji. :P[/quote]
Dzięki za uświadomienie. To nie jest tak że nie wiem jak to się powinno robić, (tylko brakuje odwagi aby ruszać na serwerach produkcyjnych) czy nie jestem świadomy tego że aktualizacje powinno się przeprowadzać. Tutaj chodzi o pewne standardy/procedury których w firmie w której pracuje nie ma. Myślę że u moich kolegów z działu jest podobnie. Jest świadomość zagrożenia ale skoro serwer działa to nic z nim się nie robi bo działa.Ostatnio edytowany przez shiver25 (2018-12-31 09:09:14)
Offline
Jest świadomość zagrożenia ale skoro serwer działa to nic z nim się nie robi bo działa.[/quote]
Tak samo działa 99% profesjonalnych firm włącznie z Microsoftem.
Działa? to koniec roboty, a jak są dziury, przez które klient straci 5 mln$ z konta bankowego, to niech się sam kretyn martwi, że regulaminu nie czytał.
99,9% serwerów jest postawionych w rytmie 15 minut, zrobione i na piwo.
Dlatego nie trzeba być jakimś wybitnym hakerem żeby uceglić niejeden serwer.
Albo wjechać do bazy jak ostatnio w Morele, poczytaj, co znaleźli "włamywacze".
Albo jeszcze sławniejsze sprawy, admin:admin1 user i hasło do serwera WWW Urzędu Rady Ministrów (oczywiście Windows Serwer), czy sławne zdjęcie laptopa ważnego polityka z naklejką zawierającą usera i hasło do systemu rządowego.
Z innej beczki, posłuchaj tutaj znanych dziennikarzy (żadnych faszystów, Durczok i Czyż), co mówią o Kopalni Brzeszcze i polityce.
https://www.youtube.com/watch?v=w-jRvf9Sad4
W Niemczech taka robota nazywa się wirtschaft, w Polszy to dosyć powszechny standard.
Pozdro
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
Time (s) | Query |
---|---|
0.00013 | SET CHARSET latin2 |
0.00008 | SET NAMES latin2 |
0.00115 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.147.27.129' WHERE u.id=1 |
0.00091 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.147.27.129', 1733248290) |
0.00053 | SELECT * FROM punbb_online WHERE logged<1733247990 |
0.00066 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=30789 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00152 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=30789 ORDER BY p.id LIMIT 0,25 |
0.00085 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=30789 |
Total query time: 0.00588 s |