useradd

dodaje użytkownika squid bez dostępu do shall'a
useradd -d /cache/ -r -s /dev/null squid >/dev/null 2>&1

echo

#echo - jako czyszczenie plików
> nazwa pliku

find

wyszukanie wyrazu ptak w treści plików znajdujących się w katalogu /tmp
find . -exec grep ptak {} /dev/null \;

Lista plików konfiguracji filtrowania treści

Ważna jest liczba punktów tzw. naughtynesslimit w pliku dansguardian1.conf. Liczba 150 blokuje nawet fotka.pl, 200 udostępnia, 250 pokazuje randki...
Pliki znajdują się w katalogu /usr/local/etc/dansguardian/lists
 
bannedextensionlist
lista rozszerzeń plików których kopiowanie z internetu jest zabronione. Pliki te mogą zawierać kod wykonywalny, czyli stanowią groźbę zainfekowania wirusem (np .exe, .zip,.cab itp.). Oprócz tego znajdują się tu rozszerzenia plików, których kopiowanie może znacząco spowolnić połączenie z Internetem (np. .mps, .iso)
bannediplist
lista adresów IP do których dostęp jest zabroniony
bannedmimetypelist
lista zabronionych typów MIME (np. audio/mpeg, video/mpeg)
bannedphraselist
lista wyrażeń, których znalezienie na stronie sugeruje treści niedozwolone. Wyrażenia podaje się w kolejnych wierszach zawarte w nawiasach np.
bannedregexurllist
wyrażenie regularne wyszukujące podejrzane słowa w adresach URL stron WWW
bannedsitelist
lista adresów stron do których dostęp jest zabroniony, przy czym nie trzeba wpisywać http:// ani przedrostka www.
bannedurllist
podobnie jak bannedsitelist, jednak dotyczy sytuacji gdy chcemy zablokować dostęp tylko do części serwisu np: members.home.net/uprn.
banneduserlist
lista użytkowników dla których dostęp jest zabroniony
exceptionlist
adresy IP komputerów dla których filtrowanie jest wyłączone
exceptionphraselist
lista wyrażeń, których znalezienie na stronie wyłączy filtrowanie np. <edukacja>, <biologia>, <medycyna>.
exceptionsitelist
lista stron do których dostęp jest zawsze dozwolony
exceptionurllist
adresy URL do których dostęp jest zawsze dozwolony
exceptionuserlist
lista użytkowników dla których filtrowanie jest wyłączone
pics
filtrowanie PICS (Platform for Internet Content Selection), kontroluje się opcją enablePICS która może przybierać wartości on lub off. Plik zawiera szereg opcji sterujących filtrowaniem.
weightedphraselist
lista zawierająca wyrażenia z przypisanymi wagami, np. <10> przypisuje wagę 10 dla ciągu znakowego adult czyli także dla adults, gadul itp., < edukacja ><-25> przypisuje wagę -25 dla słowa edukacja.

DansGuardian współpraca ze squid

DansGuardian filtruje dostępu do różnych stron, filtrowaniem wyszukiwania haseł itp.
Najpierw trzeba zainstalować squid i upewnić się że działa.
Strona domowa pakietu: http://dansguardian.org/downloads/2/Stable/.

utworzyć użytkownika nobody i nogroup (jeśli nie ma)
./configure &make &make install
program zainstaluje się w:
/usr/local/sbin/dansguardian -program (z opcją -g restart)
/usr/local/etc/dansguardian/ -pliki konfguracyjne
/usr/local/share/dansguardian - pliki z komunikatami jezykowymi
/usr/local/var/log/dansguardian -logi

zmieniamy prawa
chown -R nobody.nogroup ww.katalogi

w pliku dansguardian.conf ustawiamy:
language = 'polish'
# adres IP na którym będzie pracował DG - adres serwera
filterip = 192.168.1.10
# port na którym nasłuchuje DansGuardian
filterport=8080
#adres bramy, serwera proxy (squid'a)
proxyip=192.168.1.10
#port na którym nasłuchuje squid
proxyport = 3128

joomla - przeprowadzka

Gdy chcemy przenieść stronę z jednego serwera na drugi to :
1. Logujemy sie na serwer macierzysty http://..eu.pl/phpmyadmin, wybieramy bazę danych np. strona...._jar.pl i eksport z zapisem do pliku np. ...._jar.sql.
2. w serwerze docelowym poprzez phpmyadmin tworzymy bazę danych : strona..._jar.pl i importujemy dane do tej bazy z wyeksportowanego wcześniej pliku lub jeśli plik jest zbyt duży np przekracza ograniczenia nałożone w php.ini to importujemy z linii poleceń:
plik bazadanych.sql wgrywamy do katalogu np /tmp po czym uruchamiamy mysql poleceniem:
#mysql -u root -p
mysql> use strona..._jar
mysql> source ..._jar.sql
3. Następnie kopiujemy wsie pierdy joomli do katalogu docelowego (zgodnie z ustawieniami z /etc/httpd/httpd.conf).

4. Istnieje możliwość przekierowywania strony z głównego katalogu do np podstrony (podkatalogu):
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=http://192.168.1.10/strona/strona">
<title>mojastrona.PL</title>
<body>
</body>
</html>

4. Edytujemy plik konfiguracyjny jooml'i : ../strona/strona/configuration.php zwracając głównie na :
$mosConfig_absolute_path='/absolutna_sciezka/strona/strona';
$mosConfig_cachepatch='/absolutnasciezka/strona/strona/cache';
$mosConfig_db='strona...._jar';
$mosConfig_live_site='http://www.mojadomena.pl/strona/strona';
$mosConfig_password='...123';
==============================================

Nie udało się bezbłędnie utworzyć sesji. Należy sprawdzić błędy w logach PHP i serwera WWW, a następnie właściwie skonfigurować instalację PHP.

taki komunikat może się pojawić przy zmianie użytkownika i grupy dla apache w pliku httpd.conf, co wiąże się z brakiem dostępu do plików.

pendrive usb

1. wywołujemy polecenie

#  lsusb
# dmesg
lub
#fdisk -l
2. odszukujemy linię
"sda: sda1"
3. polecenia
#mount /dev/sda1 /mnt
dla opornych dysków np ntfs:

mount -t ntfs-3g /dev/sdc1 /mnt/hd/ -o force

squid

Serwer proxy służy przede wszystkim do buforowania stron, dzięki czemu wczytywanie jest szybsze.
1. Ściągamy najnowszą (ale stabilną) paczkę z net'u

ftp://ftp2.piotrkosoft.net/pub/mirrors/squid-cache.org/pub/squid-2.6.STABLE24.tar.gz

2. Dekompresja tar zxvf nazwa_paczki.tar.gz
3. Z linii poleceń wywołać:

groupadd squid
useradd -g squid -d /var/spool/squid -s /bin/false squid

mkdir /squid  #tylko jeśli nie jest podmontowane jako partycja przez /etc/fstab
chmod 770 /squid
chown squid.squid /squid
mkdir /var/log/squid
chmod 770 /var/log/squid
chown squid.squid /var/log/squid

./configure --mandir=/usr/man --enable-dlmalloc --enable-gnuregex --enable-icmp --enable-delay-pools --enable-useragent-log --enable-referer-log --enable-ssl --enable-default-err-language="Polish" --enable-err-languages="Polish English" --enable-linux-netfilter --disable-ident-lookups --enable-auth="digest basic"

Opis ciekawszych opcji:
--enable-dlmalloc -- kompilacja z alternatywną biblioteką do dynamicznej alokacji pamięci
--enable-gnuregex -- biblioteka pozwalająca tworzyć acl oparte na wyrażeniach regularnych
--enable-icmp -- włączenie obsługi protokołu icmp
--enable-delay-pools -- ograniczanie transferów squidem, osobiście nie używam
--enable-useragent-log -- logowanie rodzaju przeglądarek jakie korzystają z proxy
--enable-ssl -- akceleracja https
--enable-linux-netfilter -- umożliwia ustawienie transparentnego proxy
--disable-ident-lookups -- squid nie będzie wykonywał zapytań ident , które często kończą się zbędnym oczekiwaniem na timeout


make

make install

4. Edycja pliku /usr/local/squid/etc/squid.conf i poniższy wpis:


#Access Control List - lista (definicje) podsieci z dostŕpem do serwera proxy
acl manager proto cache_object  
# cache manager - pomocniczy program do sporz▒dzania statystyk zapotrzebowania na pami੠ze strony bie┐▒cych
# procesˇw serwera Squid, CM komunikuje siŕ z serwerem proxy za pomoc▒ protoko│u cache_object
acl localhost src 127.0.0.1/32  
# wymagane dla cache manager'a
acl all src 0.0.0.0/0.0.0.0
##########################################################################################################################
#wpis dot. CM obowiazuje jesli serwer internetowy (192.168.1.5) jest na innej maszynie niz squid
#acl manager proto
#cache_object
#acl localhost src 127.0.0.1/255.255.255.255
#acl webserver src 192.168.0.5/255.255.255.255
#http_access allow
#manager localhost
#http_access allow
#manager webserver
#http_access deny all
##########################################################################################################################
#squid -k reconfigure


acl to_localhost dst 127.0.0.0/8
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network

acl intranet src 192.168.1.0/24
#lista mojej sieci wchodzacej do proxy
acl to_local_networks dst 192.168.0.0/24
acl magda src 192.168.1.152
#komputer Magdy
acl poludnie time MTWHF 12:00-15:00
#okreslenie poludnia jako dotep do internetu od pn-pt w godz. 12-15


acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT


http_access allow intranet  
#zezwolenie na dostep z sieci lokalnej

http_access allow magda poludnie  
#Magda ma tylko dostŕp w okreÂlonych godzinach
http_access deny all      
#inni nie mog▒ - profilaktycznie dla bezpiecze˝stwa

http_access allow manager localhost
http_access deny manager
#wymuszenie by serwer proxy i serwer internetowy (apache) byly na jednej maszynie

no_cache deny to_local_networks
#wy│▒czenie buforowania stron lokalnych


http_access deny CONNECT !SSL_ports
http_access deny CONNECT !SSL_ports


http_access allow localnet
http_access deny all
icp_access allow localnet
icp_access deny all
http_access allow localhost
http_access deny all
http_port 3128 transparent
hierarchy_stoplist cgi-bin ?

#maksymalna ilosc pamieci roboczej jaka squid przeznacza na bufor stron
cache_mem 128 MB

#katalog przechowywania 20 GB, 16 katalogow I poziomu i 256 II poziomu
#ufs bez zmian, 20000 do 80% dostepnej przestrzeni dyskowej
cache_dir ufs /squid 20000 16 256

#Przegladarka zostanie przeladowana kilka sekund po nawi▒zaniu
#po│aczenia z Internetem
negative_ttl 5 seconds
negative_dns_ttl 5 minutes


#uwaga! koniecznie utwórz i nadaj uprawnienia chmod 770, chown squid.squid na poniższe katalogi
#dla logów
maximum_object_size 51200 KB
access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
#coredump_dir /usr/squid/var/cache

refresh_pattern -i \.(gif|jpg|jpeg|png|html|bmp)   0   50%    7200   reload-into-ims
refresh_pattern -i \.(zip|gz|bz2|exe|rar|mp3|mpg|avi|wmv|vqf|ogg)   43200   100%    43200   reload-into-ims
refresh_pattern windowsupdate.com/.*\.(cab|exe|dll)     43200    100%    43200   reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|dll) 43200   100%    43200   reload-into-ims
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|dll) 43200 100% 43200 reload-into-ims
refresh_pattern symantecliveupdate.com/.*\.(zip|exe)    43200    100%    43200   reload-into-ims
refresh_pattern windowsupdate.com/.*\.(cab|exe)         43200   100%    43200   reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe)    43200   100%    43200   reload-into-ims
refresh_pattern avast.com/.*\.(vpu|vpaa)    43200   100%    43200   reload-into-ims
refresh_pattern .               0       20%     4320

#proces squid'a uruchamiany z squid/squid
cache_effective_user squid
cache_effective_group squid

#mail do administrator'a proxy jak rowniez user/passwd do cgi
visible_hostname mariop.alias.pl
cache_mgr squid
cachemgr_passwd squid shutdown offline_toggle config reconfigure


icp_port 3130
error_directory /usr/local/squid/share/errors/Polish
prefer_direct off
check_hostnames on
=========================================================


#chown -R /squid squid.squid
#cd /bin
#ln -s /usr/local/squid/sbin/squid squid
#squid -z
#squid

Powinny się utworzyć 2 procesy squid. Jeśli nie, tzn że gdzieś nie ma uprawnień dostępu do katalogów.


6. Dokonać wpisu do /etc/rc.d/rc.local
/usr/local/squid/sbin/squid

7. dokonać wpisu przekierowującego ruch www przez serwer proxy
iptables -t nat -A PREROUTING -s 192.168.1.10/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128

8. sprawdzić działanie serwera proxy w zapisach liku /var/log/squid/access.log

9. celem minimalizacji rozrastania się logów w /usr/squid/var/logs można zapisać w crontab root'a
crontab -e root
30:21 *** /usr/squid/sbin sqiud -k rotate

Zmiana katalogu serwera www

#mkdir /home/www
#chown root:root www
#cp strona /home/www
#chown -R nobody:nogroup www
lub
#chown -R apache:apache www

zmiany w pliku /etc/httpd/httpd.conf, (w dwóch miejscach pliku)
User apache
Group apache

DocumentRoot "/srv/kaczka/mario"
<Directory "/srv/kaczka/mario>


tworzymy link symboliczny do katalogu /home/www - kaczka:
#ln -s /home/www kaczka

restart apache
apachectl -k restart

proftpd.conf

Tworzymy katalogi
#mkdir /home/ftp/anonymous (z podkatalogami upload download)
#mkdir /home/ftp/users

ustawiamy prawa /home (755 root:root), /home/ftp (755 root:root), /home/ftp/users (750 root:users), /home/ftp/anonymous (750 root:ftp), /home/ftp/anonymous/upload (770 ftp:ftp), /home/ftp/anonymous/download (750 ftp:ftp),

aby móc logować użytkownika anonymous jako ftp bez podawania hasła w pliku blokującym użytkownikom dostęp do serwera (/etc/ftpusers) dokonujemy wpisu:
#ftp

aby utowrzyć użytkownika w systemie z dostępem do ftp, bez dostępu do shell'a:
#useradd -s /bin/false -d /home/ftp/users/test -g users test
#mkdir /home/ftp/users/test
#passwd test

w pliku /etc/proftpd.conf wpis:

=================== wytnij =============================================
#przyspieszenie logowania

UseReverseDNS off
IdentLookups off


#czesc globalna dla uzytkownikow z haslem
# Uruchamiamy serwer jako samodzielny proces
Servername "Serwer ftp Mario"
ServerType        standalone
DefaultServer        on
RequireValidShell off

#------------------ Bannery --------------
    # Wyswietlamy powitanie jeszcze przed logowaniem uzytkownika
    DisplayConnect         /etc/ftpstart.msg

    # Wyswietlamy powitanie po zalogowaniu
    DisplayLogin        ../.ftpwitaj.msg
    AccessDenyMsg    "Dane logowania niepoprawne, skontaktuj się \
z administratorem mariop@zseu.pl \"

#--------------- Bannery end -------------

# Informacje dotyczace programu serwera
ServerIdent        on "Ftp Server"

# Zapobiegamy atakom DoS
MaxInstances        50

# Maksymalna ilosc uzytkownikow
MaxClients        30

# Zezwalamy na dokonczenie przerwanego pobierania pliku
AllowRetrieveRestart    on

# Zezwalamy na dokonczenie przerwanego wysylania pliku
AllowStoreRestart    on

# Podajemy na ktorym porcie ma nasluhiwac serwer (domyslnie 21)
Port            21

# Definiujemy porty jakie beda uzywane dla polaczen pasywnych
PassivePorts        60000 61000

# Maska z jaka beda tworzone pliki i katalogi na serwerze
Umask            0177 0077

# Uzytkownik i grupa do ktorych bedzie nalezal proces serwera po uruchomieniu
User            ftp
Group            ftp

# Gdzie i jak serwer bedzie przechowywal logi
SystemLog        /var/log/proftpd.log
TransferLog        /var/log/xferlog
LogFormat        default "%h %l %u %t \"%r\" %s %b"
LogFormat        auth "%v [%P] %h %t \"%r\" %s"
LogFormat        write "%h %l %u %t \"%r\" %s %b"

# Zamykamy zalogowanych uzytkownikow w tzw. chroot jail
# w zaleznosci od grupy
DefaultRoot        /home/ftp/users users
DefaultRoot        /home/ftp/anonymous ftp

# Pozwalamy na nadpisywanie plikow w katalogu domowym
<Directory ~>
    AllowOverwrite    on
</Directory>


# Konfiguracja dla uzytkownikow anonimowych
<Anonymous /home/ftp/anonymous>
User  ftp
Group  ftp
UserAlias  anonymous ftp
AnonRequirePassword  off
MaxClients  5
RequireValidShell off
#DisplayLogin   welcome.msg
#DisplayFirstChdir   .message
GroupOwner ftp

    <Directory *>
        <Limit WRITE>
        DenyAll
        </Limit>
        </Directory>
      
        <Directory /home/ftp/anonymous/download/>
        <Limit WRITE>
        DenyAll
        </Limit>
#Pobieranie      
        <Limit RETR>
        AllowAll
        </Limit>
        </Directory>
#zapisywanie
        <Directory /home/ftp/anonymous/upload/>
        <Limit WRITE>
        AllowAll
        </Limit>
#pobieranie AllowAll - dla wszystkich dozwolone
        <Limit RETR>
#        DenyAll
    AllowAll
        </Limit>
        <Limit DELE>
        DenyAll
        </Limit>
    </Directory>

</Anonymous>
=======================================================================
restart serwera:
ps -A | grep ftp
kill -9 proces
proftpd

Podróż w Slackware

Fedora mi zbrzydła. Zwłaszcza ten SeLinux mnie dobił. Niby poprawia bezpieczeństwo, ale nieźle też robi bałaganu przy konfigurowaniu programów. Nie wspomnę już o problemach z kartami WiFi.
Więc... rozpocząłem pracę z Slackware.

W tym blogu będę sobie zapisywał wszystko co uda mi się osiągnąć w nauce tego systemu. Nie będe ukrywał interesują mnie przede wszystkim usługi sieciowe.
Na pierwszy rzut (po nieudanym spotkaniu z fedorą) zainstalowałem sobie Slack'a w wersji full z płyty DVD.
Zdaję sobie sprawę, że pewnie wiele rzeczy bez sensu zainstalowałem, ale na razie jestem na etapie poznawczym.

W następnych postach będę opisywał głównie jak z komputera PC z wgranym Slackiem 12.2 uczynić narzędzie sieciowe.