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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2016-04-05 21:36:17

  krzaczunio - Użytkownik

krzaczunio
Użytkownik
Zarejestrowany: 2013-08-07

Optymalizacja i konfiguracja Debiana 8 pod serwer WWW

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"

Kod:

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

 

#2  2016-04-05 22:19:06

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: Optymalizacja i konfiguracja Debiana 8 pod serwer WWW

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

 

#3  2016-04-05 22:35:36

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Optymalizacja i konfiguracja Debiana 8 pod serwer WWW

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)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#4  2016-04-06 11:20:56

  Pavlo950 - człowiek pasjonat :D

Pavlo950
człowiek pasjonat :D
Zarejestrowany: 2012-02-20
Serwis

Re: Optymalizacja i konfiguracja Debiana 8 pod serwer WWW

W pierwszej kolejności wywal systemd i wrzuć openrc albo sysvinit.

Offline

 

#5  2016-04-06 13:04:50

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: Optymalizacja i konfiguracja Debiana 8 pod serwer WWW

@Pavlo950 co złego jest w systemd?

Offline

 

#6  2016-04-06 13:15:28

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Optymalizacja i konfiguracja Debiana 8 pod serwer WWW

@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.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#7  2016-04-06 18:05:31

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Optymalizacja i konfiguracja Debiana 8 pod serwer WWW

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)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#8  2016-04-06 18:40:58

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: Optymalizacja i konfiguracja Debiana 8 pod serwer WWW

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

 

#9  2016-04-06 19:25:40

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Optymalizacja i konfiguracja Debiana 8 pod serwer WWW

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)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#10  2016-04-06 20:01:33

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Optymalizacja i konfiguracja Debiana 8 pod serwer WWW

@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...


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#11  2016-04-06 20:50:03

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Optymalizacja i konfiguracja Debiana 8 pod serwer WWW

@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

 

#12  2016-04-06 21:34:48

  mati75 - Psuj

mati75
Psuj
Skąd: default city
Zarejestrowany: 2010-03-14
Serwis

Re: Optymalizacja i konfiguracja Debiana 8 pod serwer WWW

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.


[img]https://l0calh0st.pl/obrazki/userbar.png[/img]

Offline

 

#13  2016-04-06 21:45:24

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Optymalizacja i konfiguracja Debiana 8 pod serwer WWW

[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)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#14  2016-04-07 18:39:58

  lukas.gab - Użytkownik

lukas.gab
Użytkownik
Zarejestrowany: 2009-02-27

Re: Optymalizacja i konfiguracja Debiana 8 pod serwer WWW

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

 

#15  2016-04-07 20:48:10

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: Optymalizacja i konfiguracja Debiana 8 pod serwer WWW

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

 

#16  2016-04-07 21:08:08

  lukas.gab - Użytkownik

lukas.gab
Użytkownik
Zarejestrowany: 2009-02-27

Re: Optymalizacja i konfiguracja Debiana 8 pod serwer WWW

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

 

#17  2016-04-07 23:15:24

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: Optymalizacja i konfiguracja Debiana 8 pod serwer WWW

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

 

#18  2016-04-07 23:43:48

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Optymalizacja i konfiguracja Debiana 8 pod serwer WWW

Jak usługa ma działać zawsze, to ja wolę Daemontools.

Kod:

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.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.013 seconds, 12 queries executed ]

Informacje debugowania

Time (s) Query
0.00013 SET CHARSET latin2
0.00006 SET NAMES latin2
0.00112 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='18.221.93.167' WHERE u.id=1
0.00066 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.221.93.167', 1732636103)
0.00075 SELECT * FROM punbb_online WHERE logged<1732635803
0.00093 DELETE FROM punbb_online WHERE ident='54.36.148.127'
0.00056 SELECT topic_id FROM punbb_posts WHERE id=300266
0.00005 SELECT id FROM punbb_posts WHERE topic_id=28501 ORDER BY posted
0.00063 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.00146 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.00059 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28501
Total query time: 0.00699 s