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/.
Strony: 1
Witam wszystkich. Od jakiegoś czasu planuję kupić VPSa i założyć swój hosting www. Jednak zanim się za to zabiorę, postanowiłem "potrenować" i wypróbować takie rozwiązanie na maszynie wirtualnej w swoim laptopie. W Linuksie siedzę już parę lat, więc nie jest to dla mnie zupełnie obce środowisko, jednak przez ten cały czas nie robiłem zbyt wielu zaawansowanych rzeczy i tak naprawdę moja "administracja" domowym pingwinem ograniczała się do instalacji systemu i aktualizacji paczek. Po wgraniu najnowszej, stabilnej wersji Debiana (czystego, nie zaznaczałem żadnych dodatkowych grup w taskselu) chciałbym go najpierw jakoś odchodzić, żeby nie zajmował tak dużo ramu. Co mógłbym odinstalować/wyłączyć i za co odpowiada taki niepotrzebny proces lub demon? Szczególnie mnie interesuje o co chodzi z procesem kthreadd, ponieważ nie widziałem go w żadnych tutorialach. Czy ma to coś wspólnego z SystemD? Dodatkowo macie jakieś ciekawe wskazówki odnośnie konfiguracji całego systemu? Z góry dziękuję za odpowiedzi :) Poniżej wynik polecenia "ps -ax"
root@krzakovm:~# ps -ax PID TTY STAT TIME COMMAND 1 ? Ss 0:07 /sbin/init 2 ? S 0:00 [kthreadd] 3 ? S 0:02 [ksoftirqd/0] 5 ? S< 0:00 [kworker/0:0H] 6 ? S 0:00 [kworker/u256:0] 7 ? S 0:02 [rcu_sched] 8 ? S 0:00 [rcu_bh] 9 ? S 0:00 [migration/0] 10 ? S 0:00 [watchdog/0] 11 ? S< 0:00 [khelper] 12 ? S 0:00 [kdevtmpfs] 13 ? S< 0:00 [netns] 14 ? S 0:00 [khungtaskd] 15 ? S< 0:00 [writeback] 16 ? SN 0:00 [ksmd] 17 ? S< 0:00 [crypto] 18 ? S< 0:00 [kintegrityd] 19 ? S< 0:00 [bioset] 20 ? S< 0:00 [kblockd] 22 ? S 0:00 [kswapd0] 23 ? S< 0:00 [vmstat] 24 ? S 0:00 [fsnotify_mark] 30 ? S< 0:00 [kthrotld] 31 ? S< 0:00 [ipv6_addrconf] 33 ? S< 0:00 [deferwq] 34 ? S 0:01 [kworker/u256:1] 67 ? S< 0:00 [ata_sff] 68 ? S< 0:00 [mpt_poll_0] 69 ? S 0:00 [khubd] 70 ? S< 0:00 [mpt/0] 71 ? S< 0:00 [kpsmoused] 74 ? S 0:00 [scsi_eh_0] 75 ? S< 0:00 [scsi_tmf_0] 77 ? S 0:00 [scsi_eh_1] 78 ? S< 0:00 [scsi_tmf_1] 80 ? S 0:00 [scsi_eh_2] 81 ? S< 0:00 [scsi_tmf_2] 85 ? S< 0:01 [kworker/0:1H] 105 ? S 0:00 [jbd2/sda1-8] 106 ? S< 0:00 [ext4-rsv-conver] 138 ? S 0:00 [kauditd] 145 ? Ss 0:00 /lib/systemd/systemd-journald 148 ? Ss 0:01 /lib/systemd/systemd-udevd 178 ? S< 0:00 [ttm_swap] 206 ? S< 0:00 [kworker/u257:0] 207 ? S< 0:00 [hci0] 208 ? S< 0:00 [hci0] 224 ? S< 0:00 [kworker/u257:1] 370 ? Ss 0:00 dhclient -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0 390 ? Ss 0:00 /sbin/rpcbind -w 399 ? Ss 0:00 /sbin/rpc.statd 404 ? S< 0:00 [rpciod] 406 ? S< 0:00 [nfsiod] 413 ? Ss 0:00 /usr/sbin/rpc.idmapd 414 ? Ss 0:00 /usr/sbin/atd -f 415 ? Ss 0:00 /usr/sbin/cron -f 417 ? Ss 0:00 /lib/systemd/systemd-logind 420 ? Ss 0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 444 ? Ssl 0:00 /usr/sbin/rsyslogd -n 452 ? Ss 0:03 /usr/sbin/acpid 1256 ? Ss 0:00 /usr/sbin/exim4 -bd -q30m 3181 ? S 0:13 [kworker/0:1] 3746 tty1 Ss 0:00 /bin/login -- 3750 tty1 S+ 0:00 -bash 3800 ? Ss 0:00 /usr/sbin/sshd -D 3801 ? Rs 0:02 sshd: root@pts/0 3803 pts/0 Ss 0:01 -bash 3943 ? S 0:00 [kworker/0:0] 3959 ? S 0:00 [kworker/0:2] 3960 pts/0 R+ 0:00 ps -ax
Ostatnio edytowany przez krzaczunio (2016-04-05 21:39:11)
Offline
Za wiele tu nie poszalejesz z odchudzaniem. Możesz nie korzystać z dhclienta i ustawić statyczny IP. Możesz też od biedy zatrzymać Exima. kthreadd jest demonem kernela, który służy do wywoływania innych wątków na jego potrzeby (m. in. rzeczy związane ze sprzętem, systemami plików itp.).
Offline
Exima ze względów bezpieczeństwa lepiej od razu wywalić, to chyba najbardziej dziurawy program w historii Debiana.
Do poczty lepiej brać Postfixa albo najlepiej Qmaila - o ile ktoś się nie boi kompilacji i nakładania łatek na kod.
Oprócz tego Apache czy Nginx nie powinny działać z uprawnieniami roota, lepiej nadać im uprawnienie CAP_NET_BIND_SERVICE i niech się uruchamiają z konta nieuprawnionego użyszkodnika.
Do tego wszystko (w sensie demonów sieciowych), co się łączy z siecią albo świadczy jakieś usługi w sieci, albo otwiera czy sprawdza pliki z netu, powinno mieć zrobione profile ACL w jakimś systemie bezpieczeństwa, np Apparmor, Tomoyo czy SElinux.
Ostatnio edytowany przez Jacekalex (2016-04-05 22:36:12)
Offline
@Pavlo950 co złego jest w systemd?
Offline
@jacekalex: co jest takiego niebezpiecznego w eximie i dlaczego postfix jest lepszy i w czym?
tylko nie zaczynaj bajek o wyższości jednych świąt nad drugimi a odpowiedz konkretnie, najlepiej podając źródła.
Offline
Poczytaj sobie o ostatnim exploicie na Exima, i pokaż mi coś podobnego w Postfixie czy Qmailu na przestrzeni ostatnich 10 lat.
https://www.exploit-db.com/exploits/39549/
W Postfixie proces master musi wisieć w z uprawnieniami root, ale przynajmniej nie bierze udziału w dostarczaniu poczty, tylko uruchamia inne usługi z obniżonymi uprawnieniami.
Qmail można tak uruchomić, że w ogóle żadna jego część nie wskakuje na konto root, począwszy od tcpserwera aż po qmail-local.
Dodatkowo w paczkach z profilami Apparmora są gotowe profile dla całego Postfixa (które można dosyć łatwo uruchomić, czy coś w nich poprawić),
do Exima nic podobnego nie zauważyłem, jak ktoś nigdy nie tworzył profili AA od zera, to na kolanie takowego nie napisze.
Nie wspominając o Tomoyo czy SELinuxie, które w ogóle są dosyć trudne w konfiguracji, zwłaszcza dla początkujących adminów.
Pozdro
[quote=jurgensen]@Pavlo950 co złego jest w systemd?[/quote]
Póki działa, to nic, ale jak się skicha, to bywa różnie.
Polecam bawić się z Systemd na tym [url=https://packages.debian.org/sid/kernel/linux-image-4.4.0-1-grsec-amd64]jaju[/url] - i opisać wrażenia, zazwyczaj bywają dosyć efektowne. :D
SysVinit jest po prostu bardziej przewidywalny, a serwer to nie lapek, żeby był jakiś problem z 3 sekundami zaoszczędzonymi na uruchomieniu.
Ostatnio edytowany przez Jacekalex (2016-04-06 18:09:47)
Offline
No właśnie systemd na serwerach do tej pory sprawdza się świetnie. I posiada tę spójność, której brakowało sysvinit (np. zwracanie kodu błędu po zmianie stanu usługi - w sysvinit bywało różnie, mogłeś dostać kod błędu, ale mogłeś dostać kod 0 w przypadku niepowodzenia i komunikat tekstowy).
Offline
Na Debianie testing domyślna konfiguracja systemd się wywalała po zainstalowaniu jajka grsec prawie zawsze, ostatnio tylko to się poprawiło o tyle, że po crashu systemd można wyskoczyć na konsolę root po wpisaniu hasła.
Pół roku temu trzeba było ubijać systemd przez Sysrq+k.
Jest to rzecz, której w OpenRC ani SysVinit nie doświadczyłem nigdy.
Jest bardzo możliwe, że w RHEL i CentOS Systemd działa, nawet NM w Fedorze działa zawsze, a Debianie różnie z nim bywa.
Ale za to, jak ktoś do CentOS próbuje wsadzić Grseca, to przeważnie ląduje z "płaczem" na forum Grsec. ;)
Jak np tutaj:
https://forums.grsecurity.net/viewtopic.php?f=8&t=4202
Ostatnio edytowany przez Jacekalex (2016-04-06 19:27:27)
Offline
@jacekalex: czy to, że w eximie wykryto błąd a w postfiksie (jeszcze) nie świadczy o błędności (exim)/bezbłędności (postfix) danego programu?
zapoznaj się z historią TeXa - może pomóc na tego typu młodzieńcze wyobrażenia o tym, jak zbudowany jest świat.
poza tym prosiłem o konkrety, a ty znowu chrzanisz o tym co ci się wydaje. wielki admin od serwera na neostradzie...
Offline
@jacekalex: czy to, że w eximie wykryto błąd a w postfiksie (jeszcze) nie świadczy o błędności (exim)/bezbłędności (postfix) danego programu?[/quote]
W każdym programie jest ważna architektura tego programu i sposób jego działania.
Jesteś programista, to może zajrzyj w źródła Qmaila, i wytłumacz, dlaczego w tym serwerze przez kilkanaście lat nie znaleziono żadnej dziury.
Dlatego najbardziej cenię Qmaila.
Postfix jest moim zdaniem ma dużo gorszą architekturę, ale jednak nie na tyle, żeby to wykluczało jego używanie.
Wtopa Exima moim zdaniem wynika ze spadku po sendmailu, czyli dosyć idiotycznej architekturze.
To z resztą nie pierwsza i nie ostatnia podobna dziura, w przeszłości było kilka podobnych.
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
Jak dla mnie najbardziej podatny na wszelkie ataki jest postfix. Exim to kombajn dla tych co chcą mieć wszystko.
Wszystko przy odpowiedniej konfiguracji będzie bezpieczne, tylko trzeba wiedzieć co się robi.
Offline
[quote=mati75]Jak dla mnie najbardziej podatny na wszelkie ataki jest postfix. Exim to kombajn dla tych co chcą mieć wszystko.
Wszystko przy odpowiedniej konfiguracji będzie bezpieczne, tylko trzeba wiedzieć co się robi.[/quote]
Hmm:
https://www.cvedetails.com/vendor/8450/Postfix.html
https://www.cvedetails.com/vendor/10919/Exim.html
W przypadku najgroźniejszych ataków typu Remote_Code_Exec czy eskalacji uprawnień, jednak wolę Postfixa.
Chociaż, jak Qmail się dorobi stabilnego wsparcia Ipv6, to nastąpi uroczyste pożegnanie Postfixa.
Oczywiście żadnej aplikacji nie warto ufać, wszystko powinno działać z absolutnie minimalnymi, bezwzględnie koniecznymi do działania uprawnieniami.
Ostatnio edytowany przez Jacekalex (2016-04-06 22:32:46)
Offline
Potwierdzam - na Debianie wywalał mi sie na starcie lapsa systemd dość często. Na lapsie połowicy z ubuntu działa ok (systemd). Jak zmieniłem na Debianie na sysvinit to startuje stabilnie.
Offline
Ale wywalał się na czym konkretnie? Ja mam Debiana na prywatnym blaszaku i lapku, na służbowym lapku i na dużej częśći serwerów i nic się nie wywala.
Offline
Szczerze to nie pamiętam. Jak wpisywałem systemctl restart to niestety to samo - błędy. Dopiero jak wpisałem systemctl default to system startował ... na sysvinit tego nie ma. Chciałem od nowa zainstalować system bo troszkę tam napsułem. Zainstalowałem z netinstal, potem wywaliłem systemd, zainstalowałem sysvinit i działa bez zająknięcia - czyli spełnia swoje zadanie. Z drugiej strony przy sysvinit umiem zabijac demony, natomiast przy systemd zawsze jak coś ubiłem to mi to włączał i nie mogłem znaleźć rozwiązania... Co prawda ten drugi problem to być może z niedouczenia, jednak poza problemami systemd nie dał mi nic, poza problemami, więc wróciłem do sysvinit. Być może jak będę wdrażał produkcyjny serwer niedługo to okaże się, że systemd ma jakieś zalety - narazie na lapsach sprawia problemy.
Offline
Jeśli chodzi o podnoszenie usług, to jest to kwestia konfiguracji (np. opcja Restart odpowiada za to, czy systemd ma podnieść usługę, jeśli została ona zatrzymana inaczej, niż przez systemd). Jak dla mnie, to jedna z lepszych opcji i właśnie część tego, co uważam za wielką zaletę systemd - spójność konfiguracji. Jeśli potrzebuję coś ustawić, wiem od razu gdzie tego szukać, a nie muszę analizować, często naprawdę długich skryptów startowych).
Offline
Jak usługa ma działać zawsze, to ja wolę Daemontools.
root 4357 0.0 0.0 4100 648 ? S 17:43 0:00 supervise php56 root 4358 0.0 0.0 4104 640 ? S 17:43 0:00 supervise nginx root 4359 0.0 0.0 4104 692 ? S 17:43 0:00 supervise opendkim root 4361 0.0 0.0 4104 692 ? S 17:43 0:00 supervise mysqld root 4367 0.0 0.0 4100 1116 ? S 17:43 0:00 supervise robot root 4376 0.0 0.0 4104 648 ? S 17:43 0:00 supervise sshd root 4382 0.0 0.0 4100 728 ? S 17:43 0:00 supervise dovecot root 4383 0.0 0.0 4100 628 ? S 17:43 0:00 supervise named
Po ubiciu dowolnej usługi sieciowej, wstaje w czasie maks 2 sekund.
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00098 | 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.133.128.227' WHERE u.id=1 |
0.00065 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.133.128.227', 1732635110) |
0.00066 | SELECT * FROM punbb_online WHERE logged<1732634810 |
0.00098 | SELECT topic_id FROM punbb_posts WHERE id=300257 |
0.00008 | SELECT id FROM punbb_posts WHERE topic_id=28501 ORDER BY posted |
0.00073 | 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=28501 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00217 | 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=28501 ORDER BY p.id LIMIT 0,25 |
0.00086 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28501 |
Total query time: 0.0073 s |