Nowe posty

xx Iptables podział łącza (1)
Dzisiaj o 18:05:09
xx Libreboot i 100% libre dystrybucja (2)
Dzisiaj o 17:07:34
xx Libreboot i 100% libre dystrybucja (0)
Dzisiaj o 13:41:04
xx Swap w serwerach http (1)
Wczoraj o 18:50:33
xx Czy mój ls to malware, czy nie malware (15)
Wczoraj o 12:24:59
xx Linux mint na Panasonic CF-53 (5)
2019-11-20, 12:56:05
xx Problem z uruchomieniem Kali Linux! (9)
2019-11-18, 22:40:25
xx postfix otrzymane emaile from z mojej domeny (2)
2019-11-18, 07:59:13
xx Zmiana części pliku tekstowego (sed?) (5)
2019-11-17, 16:31:07
xx Prawy przycisk myszy - > Nowy plik (4)
2019-11-14, 21:35:55

Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - 1709

Strony: [1] 2 3 ... 151
1
Inne / Odp: Czy mój ls to malware, czy nie malware
« dnia: Wczoraj o 12:24:59 »
Musisz sobie kwestie jak audytować przed atakiem i po ataku jakoś rozgraniczyć co powinieneś zrobić.
Zbieranie jak największej ilości danych jest słuszne w każdym wypadku w celu wykrycia ataku.

Ale pisząc że gdy jest możliwy dostęp do dowolnego pliku,
 to znaczy że nie możesz już niczemu w tym systemie zaufać.
( np. logi mogą zostać wyczyszczone z włamania lub sfałszowane )

Dlatego jeśli masz np. serwer to bardzo ważne są od razu powiadomienia w przypadku ataku.
( jeszcze zanim zdobędziesz podejrzenie o udanym włamaniu )
A czasami także wyłączenie urządzenia na czas ataku, choć może o wyłączeniu tylko raz słyszałem. ( zanim zostanie zainfekowane )
Dlatego gdy mamy już podejrzenie zainfekowania to podejrzany system sprawdza się z innego systemu. ( np. z live-cd )

Cytuj
Czy z poziomu C możemy zmodyfikować time-stamp utworzenia pliku ?
Skoro z poziomu komendy się da, to z większości języków programowania także.

Możesz jeszcze poczytać
np. " linux hardening guide "
i o innych narzedziach których nie wspomniałem
do audytu np. Lynis, Audit
i może np.  https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/security_guide/chap-system_auditing

Edit.
- Przy wykryciu ataku / włamania,  wyłączenie komputera / serwera może uchronić np. przed całkowitym zaszyfrowaniem danych.
W sensie ze jeśli zdążysz to istnieje szansa odzyskania części danych które jeszcze nie zostały zaszyfrowane.
Mimo wszystko czasami może być za późno i przydają się kopie zapasowe plików.
- Należy sobie zdawać sprawę ze obrona serwera przy specjalnie otwartych portach na świat jest czasami nie możliwa
ze względu choćby na ciągle znajdywanie jeszcze nie znanych luk bezpieczeństwa.
Dlatego należy posiadać przynajmniej kilka zabezpieczeń i sposobów wykrywania nieprawidłowości i być przygotowanym na reinstalacje systemu.

2
Inne / Odp: Czy mój ls to malware, czy nie malware
« dnia: 2019-11-19, 20:38:44 »
No bo np. jeśli podejrzewamy, że jest coś nie tak to mogli byśmy bacznie obserwować ruch/port/pid i zobaczyć, czy podejrzany  proces nawiązywał jakieś połączanie do serwera zewnętrznego.
Troszkę się tym też ostatnio interesuje. I mogę odrobinę napisać aczkolwiek nie wiem wszystkiego.

1. Generalnie potrzebujesz zainstalować lub stworzyć piaskownicę / sandbox.
I tutaj chcę jeszcze jedno napisać.
Jeśli uważam że komenda /bin/ls jest zainfekowana, to równie dobrze mogę przypuszczać że
ktoś lub coś miało dostęp do dowolnego pliku w systemie.
Uważam że większy sens jest blokowanie / nadzorowanie uruchamiania aplikacji innych niż systemowych,
czyli takich które domyślnie można zapisać np. w /tmp , /home/user/ i uruchomić.
Aczkolwiek fajnie by było nadzorować wszystkie aplikacje zarówno systemowe, jak i od razu pobrane.
-  Przykłady piaskownic to np. Firejail , AppArmor.  To co mnie się rzuciło w oczy to że jedna z nich przy uruchomieniu systemu próbuje ładować gotowe ustawienia,
co wydaje mi się zbędne jeśli chcę śledzić wszystkie aplikacje jednakowo. ( może coś się zmieniło, nie wiem )
-  " Prosty sandbox "
Pierwszy sposób: https://wiki.gentoo.org/wiki/Simple_sandbox
Drugi sposób:
https://www.cyberciti.biz/faq/debian-ubuntu-restricting-ssh-user-session-to-a-directory-chrooted-jail/
https://www.tecmint.com/restrict-ssh-user-to-directory-using-chrooted-jail/
-  Możesz też poczytać o SELinux https://www.linux.com/tutorials/run-applications-secure-sandboxes-selinux/

2.   Zapora iptables.
Iptables pozwala na blokowanie, logowanie i akceptowanie połączeń.
W jednym z linków jest wspomniane o module owner
https://www.netfilter.org/documentation/HOWTO/packet-filtering-HOWTO-7.html
https://www.crybit.com/block-incoming-outgoing-network-access/
Sama dokumentacja wspomina krenela 2.4. Spotkałem się z informacją że może być problem ze znalezieniem tego modułu lub w pełni wykorzystaniem ze względu na jego słabą skuteczność.
Aczkolwiek ciężko mi konkretnie tą informacje teraz znaleźć.

3.  Problemy z komendami.
Komendy pozwalają na wiele, ale nie które z nich nie działają w  czasie rzeczywistym lub ciężko uchwycić zmianę
np. jeśli będę chciał uchwycić nazwę pliku używanego przez dany proces lub wyłapać pakiet internetowy jakąś komendą,
to ta nazwa / informacja może przelecieć szybciej niż będę wstanie wyłapać to innym programem, dlatego istotne jest współpracowanie z kernelem (chyba) aby się tak nie stało. ( albo używać po prostu lepszych komend lub innego sposobu )
Np. użycie jednej komendy pozwala mi wykryć jakiś proces, ale czas procesu może być zbyt krótki zanim użyje/ przefiltruje wynik przy pomocy grep i spróbuje użyć innej komendy.

4.   Problem z kernelem.
Polecam poczytać o komendach nice and renice , ulimit , nproc.
Problem jaki spotkałem to np.  że mogę zatrzymać forkbomb zrobioną przez aplikacje ale nie potrafię zalogować tego zdarzenia.
Podobno jest to możliwe z kernelem grsecurity lub jakimś patchem.
Bardzo fajną rzeczą związaną z kernelem jest także  inotifywait /  inotifywatch
Dzięki tej aplikacji można nadzorować czy jakaś aplikacja nam nie otworzyła lub zmodyfikowała dany plik bez zbędnego obciążania systemu.
I dzięki aplikacji notify-send możemy na pulpicie wyświetlić komunikat że jakiś program próbuje coś robić z naszym obserwowanym plikiem.

5.  Problem z plikami konfiguracyjnymi i zmiennymi środowiskowymi.
Problem jest taki że znajdują się one w katalogu domowym gdzie możemy je modyfikować.
Przykład takiego przypadku  https://www.zdnet.com/article/kde-rips-out-ability-for-kconfig-to-run-shell-code/
Środowisko KDE automatycznie wyszukiwało ikonki do pliku, ale przy okazji jeśli był to skrót to można było tam dodać własną komendę np. instalującego wirusa.
Efekt był taki, że wystarczyło pobrać plik aby system wykonał automatycznie komendy z tego pliku bez naszej wiedzy.
Inny przykład z bash-em.
Wystarczy podmienić zmienną środowiskową $PATH aby przy wpisaniu komendy ls
uruchamiało się /home/user/ls zamiast /bin/ls.
Owy nowy program może też być uruchamiany z plików lokalnych np. ~/.profile , ~/.bashrc
https://wiki-dev.bash-hackers.org/scripting/bashbehaviour
https://access.redhat.com/solutions/65822
Można też próbować uruchomić program w raz ze startem środowiska graficznego np. ~/.config/autostart/
Dlatego jak widzę np. antywirusa który nie sprawdza tak podstawowych rzeczy i jeszcze unika sprawdzić pliku systemowego, to jestem załamany.

Edit
Odnośnie zmiennych warto też przeczytać np. o rbash , " Restricted Linux Shell Escaping Techniques ".

Edit
Możesz jeszcze przeczytać o systemd-run ProtectSystem , aczkolwiek musisz mieć świadomość że nie każdy system używa systemd.
https://endocode.com/blog/2016/11/04/new-sandbox-features-features-in-systemd/

Edit
Gdybyś kiedyś się nudził :D
to odnośnie kernela możesz jeszcze poczytać o ( ewentualnie zatrudnij syntezator mowy do czytania np. google translatora xD )
" Kernel Page Table Isolation " ,  " Forcefully Unmap Complete Kernel With Interrupt Trampolines "
" Linux Kernel Runtime Guard  "  https://zaufanatrzeciastrona.pl/post/linux-kernel-runtime-guard-ochrona-przed-jeszcze-nieznanymi-exploitami/
" Kernel Self Protection Project "  https://linux-magazine.pl/lm171/na-strazy-kernela-projekt-kernel-selfprotection-zamierza-podniesc-bezpieczenstwo-linuksa-422.html

3
Inne / Odp: Czy mój ls to malware, czy nie malware
« dnia: 2019-11-19, 07:55:07 »
Pytanie wydaje mi się "w miarę proste" i pewnie oczekiwano także prostej odpowiedzi.
Ale temat bezpieczeństwa systemu jest trochę bardziej rozległy.
Jeśli zanudzam to proszę pominąć mój post ...

Więc gdyby kogoś interesował trochę szerszy zakres tematu to polecam jeszcze trochę poszukać i poczytać, np.
1. Czy skompilowany plik binarny odzwierciedla kod źródłowy?
2. Czy repozytorium główne jest identyczne z innymi repozytoriami?
3. Czy nie dochodzi np. oszukania pakietu w trakcie przesyłania pakietu.

Ad. 1. Czy skompilowany plik binarny odzwierciedla kod źródłowy?
  Chyba najlepiej jest to opowiedziane w temacie " Reproducible builds "
https://www.youtube.com/watch?v=JmHRfT9MeiA

Ad. 2. Czy repozytorium główne jest identyczne z innymi repozytoriami?
Nie posiadam na ten temat wiedzy jak działa system Debian. Ale wspomniałem że pliki można pobrać i zweryfikować bit po bicie.
Znalazłem taki trochę pomocny temat
https://serverfault.com/questions/322518/can-dpkg-verify-files-from-an-installed-package
oraz ciekawą informacje w  https://www.commandlinux.com/man-page/man8/apt-secure.8.html
W linku niżej są linki np. do dokumentacji Debiana https://www.debian.org/doc/manuals/securing-debian-howto/ch7

Przykładowo mogę sprawdzić plik ls na Mincie. ( pomijając że powinienem to zrobić np. z live-cd )
# locate ls | grep "bin/ls"$
/bin/ls
/usr/lib/klibc/bin/ls

##  Sam sie zdziwiłem ze mam dwa pliki ls w systemie :D Wiec dla pewności sprawdziłem który plik uruchamiam.

# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

## Dla pewności sprawdziłem także na koncie użytkownika, więc wpisując ls w terminalu wykonuję komendę tylko  /bin/ls

# dpkg -S /bin/ls
coreutils: /bin/ls

# dpkg -s coreutils
Package: coreutils
...
Architecture: amd64
Version: 8.28-1ubuntu1
...

##  Teraz wiem ze komenda pochodzi z pakietu coreutils
##  W linku wyżej wspomniana jest ścieżka  /var/lib/dpkg/info/

# ls /var/lib/dpkg/info/ | grep ^coreutils
coreutils.list
coreutils.md5sums
coreutils.postinst
coreutils.postrm

# cat /var/lib/dpkg/info/coreutils.md5sums
749bda6cb12341b7c83c5bb45579201a  bin/cat
...
931606baaa7a2b4ef61198406f8fc3f4  bin/ls
...

##  Czyli mam w systemie listę plików i ich hash-e (tylko md5).
##  Nowsze algorytmy znalazłem tylko samych pakietów, w nieskompresowanych bazach danych w ścieżce /var/lib/apt/lists/   (SHA1, SHA256)
##  o czym wspomina inny link

$ grep -ri "Package: coreutils" /var/lib/apt/lists/
...
/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_bionic_main_binary-amd64_Packages:Package: coreutils

## Choć to nie sugeruje na 100% linku, to znalazłem podobieństwo do http://archive.ubuntu.com/ubuntu/dists/bionic/main/binary-amd64/

# grep -A18 "Package: coreutils" /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_bionic_main_binary-amd64_Packages
Package: coreutils
...
Filename: pool/main/c/coreutils/coreutils_8.28-1ubuntu1_amd64.deb
Size: 1230832
MD5sum: 7d95d8dbaca7e89694e63ea4aa907c55
SHA1: 297d10f91608486816dddfa439a308bb9e3361c8
SHA256: 24541a48e25dfb17c98ce77dda61800e6cd68d74c25725753613fbcc00f2418f

##  Pobieram

$ curl -O http://archive.ubuntu.com/ubuntu/pool/main/c/coreutils/coreutils_8.28-1ubuntu1_amd64.deb
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1201k  100 1201k    0     0  2013k      0 --:--:-- --:--:-- --:--:-- 2010k

##  Moze warto sprawdzic pobrany, czego wczesniej nie zrobilem, w tym celu musze stworzyc hash z pliku

sha256sum coreutils_8.28-1ubuntu1_amd64.deb
24541a48e25dfb17c98ce77dda61800e6cd68d74c25725753613fbcc00f2418f  coreutils_8.28-1ubuntu1_amd64.deb

##  I porównać ten hash z hashem z tym znalezionym w systemie

$ [[ 24541a48e25dfb17c98ce77dda61800e6cd68d74c25725753613fbcc00f2418f == 24541a48e25dfb17c98ce77dda61800e6cd68d74c25725753613fbcc00f2418f ]] && echo OK || echo NOT
OK

##  *Rozpakowuje plik (sprawdzilem wczesniej gdzie on jest)

$ ar vx coreutils_8.28-1ubuntu1_amd64.deb

$ tar -xf data.tar.xz "./bin/ls"

Sprawdzam md5

$ md5sum ./bin/ls
931606baaa7a2b4ef61198406f8fc3f4  ./bin/ls

##  *Info:  " ./bin/ls " to mój rozpakowany plik ls

##  *Info:  Skoro pobraliśmy pakiet, to możemy zamiast md5 użyć dowolnie inny algorytm np. sha256. Ja niżej użyłem md5
##  Generujemy dla /bin/ls

$ md5sum /bin/ls
931606baaa7a2b4ef61198406f8fc3f4  /bin/ls

##  Porownalem oba hashe korzystajac z basha
$ [[ 931606baaa7a2b4ef61198406f8fc3f4 == 931606baaa7a2b4ef61198406f8fc3f4 ]] && echo OK || echo "sa nie jednakowe"
OK

##  Być może nie musiałem pobierać paczki, ale nie wiem czy i gdzie są sumy md5 plików w repozytorium.
##  Gdy chcę porównać pliki ...
##  Niżej ( cmp - compare two files byte by byte  /  diff - compare files line by line )

$ cmp  /bin/ls /home/user/bin/ls
$

$ diff -s  /bin/ls /home/user/bin/ls
Pliki /bin/ls i /home/user/bin/ls są identyczne

Czy klucz GPG zapewnia większe bezpieczeństwo?
Nie mam pewności. Może w internecie będzie coś więcej na ten temat.
Może dłuższy opis lub doklejenie klucza lub czegoś innego może zwiększyć ilość kolizji o jeden bit by ułatwić wstrzyknięcie bardziej złośliwego kodu.
Równie dobrze może przypadkowo utrudnić znalezienie idealnego miejsca na edycję kodu.
Na pewno także suma bitów musi się zgadzać.
Warto poczytać o kolizjach i sprawdzić przykładowo czy suma kontrolna przykładowego pakietu zgadza się z tym podanym w samym pakiecie
oraz może na jakimś przykładzie z bardzo słabym algorytmem.

Ad. 3. Czy nie dochodzi np. do oszukania pakietu w trakcie przesyłania pakietu?
O bezpieczeństwie przesyłania paczek można dowiedzieć się także czytając o błędzie który kiedyś wystąpił
https://thehackernews.com/2019/01/linux-apt-http-hacking.html
oraz https://whydoesaptnotusehttps.com/

Edit: Dla lepszej informacji odrobinę poprawiłem przykład z Mint-em.

Edit.
Zapomniałem tez wspomnieć że można tez poczytać
- o błędach sprzętowych ( np. Spectre, Foreshadow, SPOILER, ZombieLoad, RAMBleed, SWAPGS, NetCAT, TPM-Fail, Meltdown, ...)
- o CVE i błędach w oprogramowaniu ( np. Escalation of Privilege, Denial of Service, Information Disclosure, buffer overflow, integer overflow, ... )

4
Inne / Odp: Czy mój ls to malware, czy nie malware
« dnia: 2019-11-18, 23:48:10 »
1. Zdanie jest trochę nie jasne
Cytuj
Suma kontrolna może być w tym przypadku myląca (jeśli nie miałem jej gdzieś zapisanej tuż po świeżej instalacji systemu z oficjalnego źródła).
Zgaduje ze myląca masz na mysli zainstalowanie np. rkhunter , AIDE , ...  i stworzenie bazy poczatkowej.
Wtedy masz racje, aczkolwiek nie mam pewności czy któreś z narzędzi nie da Ci ostrzeżenia jeśli suma kontrolna w bazie danych pakietów jest inna niż suma kontrolna pliku w systemie.


2. Wydaje mi się ze nie rozumiesz istoty problemu.

2.1 - md5
Dziewczyna widać już tego nie aktualizuje, ale ta tabelka świetnie pokazuje
* dlaczego md5 nie jest uważane zbyt bezpieczne
* ze algorytmy padają jak muchy :D
http://valerieaurora.org/hash.html

2.2 - kolizje
Jak przeczytasz o wspomnianych kolizjach, to uznasz ze idealne algorytmy nie istnieją,
wiec żeby być pewnym w 100% musisz po prostu pobrać plik i sprawdzić plik bit po bicie.
https://www.dobreprogramy.pl/Dwa-gwozdzie-do-trumny-SHA1-wbite-w-SVN.-Linus-mowi-jednak-bez-paniki,News,79420.html
https://en.wikipedia.org/wiki/Collision_(computer_science)

Wiec wspomniane programy radzą sobie poprzez zbieranie jak największej liczby informacji o pakietach i informują o wszelkich anomaliach.
Poziom bezpieczeństwa prawdopodobnie wybierasz w plikach konfiguracyjnych.

Jeśli założymy ze komenda ls jest już zainfekowana to sprawdzanie z pod tego systemu mija się z celem jak by się on nie nazywał.
Dlatego zainfekowane systemy sprawdza się innym systemem  np. z live-cd.
Możesz np. napisać sobie skrypt w bash-u który pobierze każdy pakiet po kolei, sprawdzając każdy plik hashem lub bit po bicie.

Edytowane
Mogę polecić komendę cmp do sprawdzania pojedynczych plików.
https://www.computerhope.com/unix/ucmp.htm
Co do kontroli wszystkich plików np. poprzez sprawdzanie sum z bazy danych, lub skorzystanie z opcji w systemie która zapewne już istnieje
to w chwili obecnej nie mam pomysłu jak to zrobić inaczej niż wyżej wspomniano.
Możesz spróbować spytać developerów swojego systemu, być może wiedza jak,
bo menadżer plików na pewno sprawdza sumy kontrolne gdy pobierasz pakiet.
Możesz sam tez poczytać np. o apt-cache jakie informacje o pakietach możesz wyciągnąć z bazy danych.

5
Inne / Odp: Zmiana części pliku tekstowego (sed?)
« dnia: 2019-11-17, 16:31:07 »
Taki przyklad zrobilem

$ cat wzorzec | sed  ':a;N;$!ba;s/\n/wungiel123/g' | sed 's/wungiel123/\n/g'
if (blablabla) {
blabla.bla(bla);
} else {
blablablabla;
}
Ma on za zadanie zastapic nowe linie slowem aby wzorzec byl w jednej linii.
( Oczywiscie drugi sed mial za zadanie prywrocic strukture pliku do poprzedniego stanu )
Jesli tekst bedzie w jednej linii  to mozna uzyc sed.
Pewnie da sie bezposrednio, ale ja nie potrafie narazie.

#!/bin/bash


LISTA_PLIKOW=$(find . -type f -name "*.js")

# $ grep -rin -A4  "if (.*) {" *.js
# $ cat wzorzec | sed  ':a;N;$!ba;s/\n/wungiel123/g' | sed 's/wungiel123/\n/g'

WZORZEC2=$(cat wzorzec | sed  ':a;N;$!ba;s/\n/wungiel123/g')
##  https://stackoverflow.com/questions/1251999/how-can-i-replace-a-newline-n-using-sed
#echo $WZORZEC2

for K in ${LISTA_PLIKOW}; do
    #cat  ${K} | sed  ':a;N;$!ba;s/\n/wungiel123/g' | sed  "s/$WZORZEC2//g" |  sed 's/wungiel123/\n/g'
     sed -i -e ':a;N;$!ba;s/\n/wungiel123/g' -e   "s/$WZORZEC2//g" -e 's/wungiel123/\n/g'  ${K}
done
Skrypt mozesz zastosowac tylko na kopii do testowania.


Cytuj
To już inne techniki wykorzystuję do namierzania tych wstawek.
Nie da sie, musisz przeczytac i sprawdzic kod od zera do deski.
To moze byc nawet tylko jeden znak "=" przy porownaniu lub inny dajacy dodatkowe uprawnienia.

Teoretycznie nawet data powstania pliku jest cyfrowym zapisem i moze byc sfalszowana.
Ale oczywiscie probowac mozesz.

6
Inne / Odp: Zmiana części pliku tekstowego (sed?)
« dnia: 2019-11-17, 13:05:33 »
A nie da sie poprostu przygotowac do postawienia serwera na nowo
i jesli masz pliki konfiguracyjne lub jakies prywatne rzeczy bez kopii zapasowych to przejrzec recznie?
( W tych setkach plikow moze sie skrywac ten jeden najbardziej zlosliwy )

7
Inne / Odp: Zmiana części pliku tekstowego (sed?)
« dnia: 2019-11-17, 12:35:54 »
Myslalem ze by Ci poradzic napisanie skryptu bash i nad takim przykladem myslalem,
ale potem stwierdzilem ze jest to troche skomplikowane, pomijam ze chodzi  ze komendy sed czy teoretycznie grep to jedno-linijkowce
ale chodzi o to ze skladnia "if" ktora pokazales (WZORZEC) jest zgodna z rozszerzeniem plikow *.js
i wedlug podanego wzoru usuneloby Ci zarówno dodatek po ataku jak i poprawne dzialajace konstrukcje "if".

Mozesz te konstrukcje z if wyszukac
grep -rin "if (.*) {" *
i recznie pliki edytowac.
Jest to wygodniejsze bo masz napisany numer linii w ktorej szukac,
chociaz w wiekszosci edytorow tez jest wyszukiwarka.
Ale co zrobisz jesli bylo tam dodane cos wiecej?   Jesli tak, to i tak musisz ręcznie przejrzec pliki.

8
Czytales moze dokumentacje jak to powinno wygladac ?
Bo jak przegladam np. poradnik
https://www.linuxiarz.pl/1425/postfix-blokada-nadawcow-i-domen/
to widze tam REJECT a u Ciebie " 554 SMTP AUTH " i nie kminie skad sie to wzielo.

Dokumentacja faktycznie nie jest łatwa do przetrwawienia ale moze jeszcze zerkniesz
http://www.postfix.org/SMTPD_ACCESS_README.html
i jeszcze jeden poradnik https://linuxlasse.net/linux/howtos/Blacklist_and_Whitelist_with_Postfix
Z praktycznego punktu nie mogę pomóc bo nie używam, wiec radze testować na maszynie wirtualnej.

9
GNOME / Odp: Prawy przycisk myszy - > Nowy plik
« dnia: 2019-11-14, 17:30:56 »
robson75
Ciężko naprawić / ulepszyć całe środowisko Gnome jedną aplikacją.
Proszę mnie źle nie zrozumieć, bo nawet nie wiem czy jakikolwiek problem w Gnome występuje. Czy chodzi autorowi tematu o coś innego.
Thunar jest to menadżer plików i tylko swoje menu kontekstowe potrafi zmodyfikować, wydawało mi się że to logiczne.
Dla mnie nawet tak nie wielka funkcjonalność jak edycja menu kontekstowego w menadżerze plików jest tak wielka,
że używam Thunar-a w środowisku Mate i nie mam z tym problemów.

10
Inne / Odp: Konto root i crontab backupu
« dnia: 2019-11-13, 20:46:30 »
Nie do końca potrafię sobie wyobrazić jak to funkcjonuje.

Jeśli nie jest to z jakiegoś panelu ...
to można z roota.
- Do kopii " całkowitych " taka komenda " cp -r " powinna wystarczyć.
- Do kopii przyrostowych skrypt używający " rsync " powinien wystarczyć.
- Jeśli nie ufasz jakiemuś programowi to nie używaj.

Jeśli ze względów bezpieczeństwa nie używasz root-a,
to tworzysz nowego użytkownika ( bez /home/... )
Ten nowy twór wystarczy ze będzie mógł
 kopiować pliki i foldery z określonego miejsca bez możliwości ich edycji
do określonego miejsca gdzie będzie mógł zapisać.
Musisz poczytać o prawach użytkownika grupach i tworzeniu bez katalogu domowego.

Nie mam na tyle wiedzy / doświadczenia by napisać wybitny poradnik więc polecam poszukać w internecie wpisując
np.  " linux create restricted linux account ".  I zastanowić się tez 2 razy co tam pisze.
Jeden z lepszych poradników jaki na szybko znalazłem https://access.redhat.com/solutions/65822
Ale to nie wszystko, poradnik nie obejmuje jak sprawdzić uprawnienia użytkowników.
Taki przykład chyba widziałem przy tworzeniu użytkownika dla ssh.
Przypomniało mi się coś, zobacz
- https://www.cyberciti.biz/tips/linux-unix-restrict-shell-access-with-rssh.html
- wpisz np. "linux restricted user disable linux shell " dzięki temu badą tam artykuły np. " Restricted Linux Shell Escaping Techniques "
będziesz dzięki temu miał wiedzę na co zwracać uwagę by zabezpieczyć konto.
- wpisz / poczytaj o " linux create user with nologin "
- zobacz https://unix.stackexchange.com/questions/10852/whats-the-difference-between-sbin-nologin-and-bin-false
Ograniczenia mogą spowodować problemy z uruchomieniem komend / skryptu dlatego jeszcze raz sugeruję przetestować na systemie testowym.

Polecam zainstalować na własnym komputerze maszynę wirtualną i tam system testowy i tam przetestować zabezpieczenia.

Gdybys chcial sie pobawic w zabezpieczanie skryptu bash to polecam poczytać o
rbash i opcjach typu --norc --noprofile
https://wiki-dev.bash-hackers.org/scripting/bashbehaviour

Edytowane:
Wspominalem wczesniej ze widzialem kiedys cos ciekawego przy poradniku ssh.
Moze jak wpiszesz np. " linux ssh create restricted user " to znajdziesz wiecej np.
https://www.cyberciti.biz/faq/debian-ubuntu-restricting-ssh-user-session-to-a-directory-chrooted-jail/
https://www.tecmint.com/restrict-ssh-user-to-directory-using-chrooted-jail/

11
GNOME / Odp: Prawy przycisk myszy - > Nowy plik
« dnia: 2019-11-13, 17:27:22 »
Cytuj
Bo brakuje mi tam skrótu "Nowy plik".
- Gdzie? Może na pulpicie? Czy w menadżerze plików?
- A może opcja jest ukryta pod np. "Utwórz dokument"?

W każdym razie jeśli chodzi o edycje menu kontekstowego w menadżerze plików i gdy nie znajdziesz rozwiązania,
to polecam zainstalować i używać Thunar
Thunar jest to menadżer plików z XFCE. Przy tworzeniu nowej opcji w menu kontekstowym pozwala na dodanie ikonki, dowolnej komendy i przypisania do katalogu lub do dowolnego rozszerzenia pliku.
https://www.youtube.com/watch?v=blJvcDT8Pk4

12
Debian / Odp: debian 10, problem z instalacją MySQLa
« dnia: 2019-11-08, 13:16:36 »
pavbaranov  cos w tym jest co piszesz
Cytuj
większość dystrybucji w repozytoriach ma obecnie mariadb, a nie mysql i tak jest również w Debianie.
Jak poszukac mysql-server dla starszej wersji Debiana, tj. "stretch"
https://packages.debian.org/search?suite=stretch&arch=any&searchon=names&keywords=mysql-server
to w zależnościach jest " default-mysql-server "
https://packages.debian.org/stretch/mysql-server
a w nim "  mariadb-server-10.1 "
https://packages.debian.org/stretch/default-mysql-server

Idac jeszcze po linkach README z kodu zrodlowego ( / Pakiety / jessie (oldoldstable) / database / mysql-server-5.5 )
Natrafilem na taka wzmianke
Cytuj
As of March 2016 the Debian release team decided, that in Debian the default database option should be MariaDB. The primary dependency should therefore be on the MariaDB package but the virtual-mysql-x should be kept as an alternative dependency to satisfy installation of other variants if users explicitly want so.
https://wiki.debian.org/Teams/MySQL/virtual-mysql-server
Nie wiem czy kogoś to interesuje, ale ot taka ciekawostka :D

13
Bash, skrypty powłoki / Odp: Wynik skryptu do txt
« dnia: 2019-11-08, 12:01:07 »
Odnosnie jeszcze pierwszego sposobu
Cytuj
W skrypcie w linijkach, które drukują przekieruj do $tresc (znaczek >>)

Jesli zapisze w ten sposob dane do pliku
 echo -e "\033[1m\tUżytkownik           Folder główny\033[0m" >> /sciezka/do/nazwa_pliku
to nic mi sie nie wyswietli, a zawartosc bedzie tylko w pliku
Ja w skryptach używam " tee -a /sciezka/do/nazwa_pliku "
$  echo -e "\033[1m\tUżytkownik           Folder główny\033[0m" | tee -a plik122
Użytkownik           Folder główny

$ cat plik122
Użytkownik           Folder główny
Dzieki temu wynik mam jednoczesnie wyswietlany i w pliku.


Jeszcze inny sposób to zapisywanie danych do zmiennej
$ A=$(echo -e "\033[1m\tUżytkownik           Folder główny\033[0m") ; B="4kb" ; echo -e "$A \n$B" 
Użytkownik           Folder główny
4kb
i potem na końcu zapisać do pliku np. przy pomocy "tee -a"
Ale w tym przypadku to chyba bez sensu pomysl :D bo bardziej skomplikowany.

O wiele lepszym pomyslem wydaje sie "skrypt > plik" ( czyli drugi sposob uzytkownika arecki )
- Mniej kodu musisz pisac
Dodalbym zapisywanie danych do pliku w skrypcie tylko wtedy gdy istnieje potrzeba selekcjonowania danych ktore chce zapisac do pliku.
Dodatkowo w niektorych przypadkach dodalbym zapisywanie bledow
https://stackoverflow.com/questions/7526971/how-to-redirect-both-stdout-and-stderr-to-a-file

Gdy wykonujemy skrypt recznie to i tak widzimy bledy, ale w logach bez odpowiedniego przekierowania juz nie.
Dzieki temu wiedzialbym np. skrypt zle sie wykonal bo nagle komendy zabraklo w systemie,
lub cos innego sie stalo np. brak uprawnien.
Taki przyklad:
Bez zapisywania bledow
$ bash ./t1 > file ; cat file
du: cannot read directory ‘/home/test/’: Permission denied

Użytkownik           Folder główny
------------------------------------
x                         20G
test                          4.0K

Rozmiar partycji /home/:
19G
Z zapisem bledow
$ bash ./t1 > file 2>&1  ; cat file

Użytkownik           Folder główny
------------------------------------
x                          20G
test                          du: cannot read directory ‘/home/test/’: Permission denied
4.0K

Rozmiar partycji /home/:
19G

14
Debian / Odp: debian 10, problem z instalacją MySQLa
« dnia: 2019-11-07, 23:52:15 »
Z komunikatu Mariusz-a wynika ze pakietu o takiej nazwie brak.
Wynik  pavbaranov-a jest tego potwierdzeniem.
O czym wspomina arecki
A jak wspomniał jeden z administratorów forum jakiś czas temu ...
Jeśli masz jakiś problem, to możliwe ze nie jesteś pierwszy i możliwe ze rozwiązanie problemu jest już w internecie.

Idąc tym tropem można znaleźć
https://unix.stackexchange.com/questions/536538/how-can-i-install-mysql-on-debian-10-buster
W którym 3 rozwiązania instalacji są prawidłowe
1. Zewnętrzne repozytorium Oracle
2. i 3. w zasadzie dotyczą tego samego, czyli dostępny w Debianie program MariaDB stworzonej przez byłych pracowników "MySQL AB".

Wyszukiwarka https://packages.debian.org/ ...
po wpisaniu mysql nie potrafi znaleźć pakietu default-mysql-server
ale jak wpiszemy default to znajdzie.
https://packages.debian.org/buster/default-mysql-server
i tam pisze ze zależnością jest mariadb-server-10.3
Po tym stwierdzam ze mariadb-server i default-mysql-server to to samo.

Jakby ktoś nie wiedział to pisze tam ze jest to metapakiet  / metapaczka (metapackage).
Czyli taki pakiet który zazwyczaj sam w sobie nie posiada kodu do zainstalowania,
ale służy do zainstalowania grupy pakietów przy pomocy tego jednego metapakietu.
W tym przypadku meta-pakiet default-mysql-server instaluje chyba tylko pakiet mariadb-server-10.3.


( Nie znam zasad budowania pakietów w Debianie, chciałem się upewnić czy mam racje odnośnie definicji meta-pakietu )
Z ciekawości  sprawdziłem jeszcze kod źródłowy default-mysql-server czy nie zawiera kodu źródłowego programu.
Nawet na stronie jest lista plików.
Cytuj
/usr/share/doc/default-mysql-server/changelog.gz
/usr/share/doc/default-mysql-server/copyright
Co może świadczyć ze taki meta-pakiet sam w sobie nie zawiera kodu programu.
Jestem tez świadom ze można zbudować taki pakiet który sam w sobie nie będzie posiadał kodu,
 ale będzie pobierał aplikacje portable prosto ze strony developera i to tez będzie pakiet.
Wiec nie zawsze muszę mieć racje.
Chociaż prościej było poszukać definicji w internecie i wtedy miałbym większą pewność.

15
Uwagi i propozycje / PORADNIK ! [Poszukiwanie bledow]
« dnia: 2019-11-07, 12:09:56 »
Proponuję do niektórych działów dodać przyklejony poradnik  z tytułem
" PRZECZYTAJ TO !  "
lub
" PORADNIK ! "
Tematy mają być otwarte, aby każdy mógł zgłosić uwagi, poprawki, aktualizacje,  i inne zastrzeżenia.



1. System się nie uruchamia.

- Wyswietla sie logo i potem czarny ekran.
https://www.dell.com/support/article/pl/pl/plbsd1/sln306327/manual-nomodeset-kernel-boot-line-option-for-linux-booting?lang=en
Poradnik pokazuje dwa rozwiazania ustawienia opcji nomodeset
Pierwszy jest ustawieniem tymczasowym <-- polecanym w celu sprawdzenia czy zadziała
Drugie rozwiazanie jest ustawieniem stalym. <-- polecane gdy juz wiemy ze bez tej opcji nie uruchomimy systemu.

- Jeśli pasek ładowania zasłania komunikaty z uruchomienia systemu to
Cytuj
Uruchamiamy komputer i po pojawieniu się listy wciskamy e przechodząc do edycji “procedury startowej”,
Odszukujemy fragment quiet splash
Usuwamy slowo quiet splash
Bootujemy system

- Tryb awaryjny / Recovery mode
Opcja w menu Grub, ktora pozwala
 na uruchomienie systemu w trybie tekstowym. ( w niektórych systemach jest on ukryty )
Opcja ta przydaje sie gdy musimy zobaczyc logi w trybie tekstowym i naprawic nasz system.
https://www.youtube.com/watch?v=8xFAVvrfEdg


2. Logi.

- Init ... /var/log/
https://www.thegeekstuff.com/2011/08/linux-var-log-files/

Przyklady
dmesg | grep -i 'error\|warning\|fail|\segfault'
grep "(WW)\|(EE)" /var/log/Xorg.0.log
grep -ri 'error\|warning\|fail|\segfault' /var/log/*
Przykład z dokumentacji postfix:
egrep '(reject|warning|error|fatal|panic):' /var/log/nazwa_pliku
Nalezy brac pod uwage ze grep wyswietli tylko jedna linie,
dlatego czasami warto odnalesc blad w logu lub wyswietlic sobie wiekszy fragment bledu
aby sprawdzic czy ponizej nie ma dalszej czesci komunikatu.

- Systemd ... journalctl
https://www.digitalocean.com/community/tutorials/how-to-use-journalctl-to-view-and-manipulate-systemd-logs

Wiecej w
journalctl --help
man journalctl

Moim zdaniem najprzydatniejsze
- Lista logow ze wszystkich uruchomien systemu
journalctl --list-boots
- Log z poprzedniego uruchomienia systemu zapisany do pliku "dziennik.log dzieki czemu mozemy przegladac wygodniej w edytorze lub komus wyslac.
journalctl -b -1 > dziennik.log
- W podobny sposob  jak wyzej przejzec plik tekstowy pod katem bledow lub odrazu w terminalu
journalctl -b 0 | grep -i 'error\|warning\|fail|\segfault'
( Co do opcji zero "-b 0", nie jestem pewien czy zadziala, czy wystarczy samo  "-b", nie mam systemd pod reka by sprawdzic :D )

- Jesli problem dotyczy srodowiska graficznego mozesz zapoznac sie takze z
https://forum.linux.pl/index.php/topic,25285.0.html

- Jesli problem dotyczy sterownikow graficznych mozesz zapoznac sie takze z
https://forum.linux.pl/index.php/topic,25062.0.html


3. Szukanie rozwiązania w internecie.
Dlaczego warto szukać i sprawdzać ?
- Czasami jest to szybsze niż otrzymanie pomocy.
- Czasami istnieje tylko obejscie problemu i nikt nam nie naprawi oprogramowania.

Np. gdy nasz sprzęt jest juz nie wspierany lub słabo wspierany przez danych developerów.
Takimi obejściami problemu są np.
* opcja nomodeset dla starszych i niektórych nowszych kart graficznych których dystrybucja Linuxa nie wspiera.
* opcja libata.noacpi=1 gdy Linuxowe ACPI nie chce wspierac juz naszego starego Biosu, a my nie możemy Biosu zaktualizować.
https://blog.le-vert.net/?p=24

Przy szukaniu
- Używaj slow kluczy, czyli takich najistotniejszych
- Możesz użyć slow na początku takich jak
* klucza linux które będzie sugerowało ze szukasz tylko treści dotyczących Linuxa.
* klucza SOLVED ktore bedzie sugerowalo ze szukasz tematow rozwiazanych

Taka ciekawostka:
Kiedys na forach byl taki zwyczaj ze uzytkownik gdy na forum poprosil o pomoc i rozwiazal problem,
to mial obowiazek na koncu napisac " SOLVED ". Dzieki temu latwiej jest znalesc rozwiazania w internecie.


- Unikaj podawania liczb, np. liczb sugerujących numer linii w logu.
- Staraj się aby twój system wyświetlał błędy po angielsku i również staraj się szukać po angielsku
  Ponieważ wpisując zapytanie po angielsku będziesz miał więcej wyników wyszukiwania.


4. Zgłaszanie błędów

Nie ma jednego miejsca na zglaszanie problemow.
- Jesli nie wiemy gdzie, to najlepiej spytac na forum wlasnej dystrybucji linuxa.

Ostrzezenie:
  Nie zawsze forum na ktorym zglaszamy problem jest tym wlasciwym.
  Glownym zalozeniem for jest otrzymanie pomocy, ale nie zawsze uzytkownicy na nich pisza gdzie potem nalezy zglosic problem / błąd.
  Np. Siedze na polsko jezycznym forum i tu moge teoretycznie dostac pomoc w rozwiazaniu problemu.
  Ale jesli problem dotyczy pakietu i developerzy dystrybucji siedza na anglojezycznym forum,
  to tam na anglojezycznym forum powinienem ponownie zglosic problem ( czesto w odpowiednim dziale )
  aby developerzy naprawili pakiet.

- Jesli okazalo sie ze po zgloszeniu problemu na forum problem wystepuje tylko u nas
  i dotyczy on
np. sterownikow kernela to na stronie https://bugzilla.kernel.org/
1) Znajdz po fragmencie bledu czy byl blad juz zgloszony i czy zostal juz naprawiony
2) Jesli blad nie byl zgloszony to wtedy z czystym sumieniem mozesz im zglosic.

np. jesli problem dotyczy programu
- zglosilismy na forum, wszyscy maja ten sam problem.
- sprawdzamy czy jest nowsza wersja programu,  jesli jest to zglaszamy w swojej dystrybucji prosbe o aktualizacje
  w przeciwnym wypadku musimy czekac
- jesli mamy najnowsza wersje i problem wystepuje to szukamy developerow tej aplikacji

Szczegoly skad byl pobrany kod zrodlowy pakietu
* szukamy w informacji o naszym pakiecie
* mozna tez poszukac informacji w samym programie ... "Pomoc" / "O programie"

i taki tylko przyklad z oem
Znalezlismy ze developerzy swoj projekt oem udostepniaja na Github
Github ma taka zakladke " Issues " w ktorej mozna wyszukac
czy blad byl juz zglaszany i jesli nie byl to zglosic developerom w tej zakladce
https://github.com/mate-desktop/eom/issues

Porady:
1. Jesli masz problem z jezykiem angielskim wspomagaj sie translatorem online.
2. Na forach nie zawsze zmiescisz caly log
- mozesz probowac dac go w zalaczniku ( jesli jest za duzy to mozesz go spakowac )
- mozesz probowac wyslac np. na https://pastebin.com/
  i podac uzytkownikom linka aby mogli przejzec lub pobrac log.
3. Staraj sie omawiac problem szczegolowo jesli to mozliwe,
unikniesz dzieki temu zbednych pytan i masz wieksza szanse na szybsza odpowiedz.


Ostatnie aktualizacje tematu:
- 15.11.2019 / Dodalem 1 przyklad szukania bledu z dokumentacji postfix :)

Strony: [1] 2 3 ... 151