Tippek & Trükkök (Debian)

A HupWiki-ből...

Debian HOWTO-k, írások: Útmutató (egyszerű)

Tartalomjegyzék

A biztonság fokozása

Kapcsolódó szócikkek: Számítógépes biztonság

Tűzfal

A 2.4 és 2.6 kernelek alapértelmezett csomagszűrési felülete a "netfilter", használatba vétele az 'iptables' parancs segítségével lehetséges; a folyamat leegyszerűsítésére léteznek olyan programok, amelyek egyszerűbb beállítás alapján generálnak egy scriptet, amely elvégzi az alacsonyszintű beállítást; szóval tűzfal beállító programok.

Elterjedt tüzfalakat találsz itt, első menetben a Firestarter használata ajánlott.

Biztonsági másolat (backup)

Rengeteg megoldás érhető el, itt a backup manager kerül ismertetésre, mivel a desktop igényeket böven kielégíti és jó a Debianba integráltásága.

Telepítsd fel a csomagot, majd kérdések: Archives location: adj meg egy teljes elérési utat, ahová a biztonsági mentéseket pakolja (legjobb, ha nem a root partícióra / mervlemezre kerülnek); Archives storage format: mentés formátuma, a tar.bz2 elég jól tömörít; CRON frequency: milyen gyakran mentsen, napi (daily) ajánlott; Follow symlinks?: ha nem követi a symlinkeket, akkor kisebb lesz az archívum (a symlinkek célállományait nem lehet visszaállítani); Archives name format: biztonsági mentések neve mennyire legyen érthető (long); Age of kept archives (days): hány napig tartsa meg a mentéseket, pld. 14 beállítást a napi mentéssel kombinálva két hétre visszamenőleg lehet válogatni; Directories to backup: mely könyvtárakat mentse le (ajánlott az /etct és ami még jólesik); Directories to skip in archives: hasznos beállítani, hogy mit ne mentsen le, pld. /etc esetéb a jelszavakat tartalmazó állományokat (/etc/ppp/chap-secrets /etc/ppp/pap-secrets /etc/shadow /etc/shadow- /etc/shadow.org); Enable backup-manager's uploading system? ha beállítod, feltölti hálóra a mentéseket ... ; Enable automatic burning? ... vagy kiírja cdre.

Kézi mentés (tesztelés): backup-manager -f -v

Bastille

Egy jól konfigurálható komplex biztonságot erősítő scriptgyűjtemény. Karakteres (NCurses) és grafikus (Tcl/Tk, kell hozzá a perl-tk csomag) beállítófelülete van.

Telepítsd fel a bastille csomagot. Beállítása két módon lehetséges: interaktív módban (kérdés - válasz) vagy előre felállított szabályok szerint. Most az előbbi ismertetése következne, de egy kevés angol és unix tudással könnyen megérthető, hogy miről van szó. Általános desktop esetén az alapválaszok jók, de ezeket érdemes átállítani: Would you like to set more restrictive permissions on the administration utilities?: minimalizálja néhány admin program esetén a futtathatók körét? igen (egyébként egy fsckval bárki bekavarhat a rendszerbe); Would you like to disable SUID status for mount/umount?: a(z u)mount parancsot csak a felhasználók egy szűk köre hasnálhassa? nem (egyébként pld. cd se lehet mountolni); Would you like to enforce password aging?: 3 hónap után kötelező legyen lecserélni a jelszavakat? nem (oké, ez egy kicsit kényelmes hozzállás); Should we disallow root login on all ttys?: ne lehessen közvetlenül rootként bejelentkezni? igen (előbb valamelyik userként, majd su; kicsit megnehezíti a betörést); Would you like to set a default-deny on TCP Wrappers and xinetd?: az alapvető szolgáltatások (time, echo, ...) lekapcsoljuk? igen (nincs már rájuk szükség, így bitonsági kockázatot jelentekenek); Would you like to add additional logging?: loggoljon a 7es és 8as ttyre? nem (ezt már korábban beállítottuk, úgy Debiánosabb); Would you like to run the packet filtering script? : használjuk a Bastille saját tűzfal rendszerét? nem (elsőre kicsit bonyolult lenne helyesen belőni).

PSAD

A Port Scan Attack Detector egy ipchains/iptables szabálygyűjtemény (rules set) portscan, backdoor és hasonló káros események elleni védelekezésre.

Beállítás:

  • /etc/syslog.conf: a végéhez ad hozzá ezt a sort: kern.info |/var/lib/psad/psadfifo
  • /etc/psad/psad.conf: HOSTNAME: az aktuális hostneved (hostname megadja); HOME_NET: NOT_USED
  • végül indítsd újra a psad: invoke-rc.d psad restart

A támadásokat a /var/log/psad/fwdataba loggolja.

PSD unboat: a VMware valamiért nem szimpatikus neki, ezért a következő paranccsal kikapcsolhatod az ismeretlen kimenő forgalom loggolását: iptables -D OUTPUT -p all -j LOG --log-level=info --log-prefix "Unknown Output"

Vegyes

boot üzenetek loggolása

Az alaprendszerrel települő initscripts csomag tartalamzza a bootlogd daemont, ami a boot elején megjelenő rendszerüzenetek (amíg a kernel el nem indítja az init folyamatot) loggolására alkalmas. Ezek az üzenetek hasznosak lehetnek, pld. hardware kompatibilitási problémák felderítéséhez. A loggolás bekapcsolásához az /etc/default/bootlogd állományban a BOOTLOGD_ENABLE értéke Yes legyen. (Előfordulhat, hogy a boot üzenetek legeleje lemard, mert megtelik a kernel log bufferje. Ennek megnöveléséhez a boot paramétereket egészítsd ki egy log_buf_len=32vel, ami 32kbytera emeli.)

logrotate

küldjön emilt, ha probléma van:
az '/etc/logrotate.conf' végére (a "system-specific logs may be configured here" után) szúrd be: "mail letezo_emil_cim"

cron

Az alap cron felel az előre beállított, időzített karbantartó feladatokért (man cache újragenerálása, stb.). Hibája, hogy csak akkor üzemel megfelelően, ha a rendszer folyamatosan működik, ezért érdemes felrakni az fcron csomagot, ami visszamenőleg végrehajtja a kimaradt feladatokat.

(Az anacron is jó megoldás lenne, de a project nincs karbantartva.)

alternatives

az '/etc/alternatives/' -ben szereplő szimbolikus linkek egy adott célra alkalmazható programok közti váltást könnyítik meg; ha pld. mindig az 'x-terminal-emulator'-ra hivatkozol az 'xterm' helyett, akkor az 'xterm'ről 'mlterm're váltáskor elég az előbbi symlinket módosítani ('update-alternatives --config x-terminal-emulator');
összes ellenőrzése és módosítása: 'update-alternatives --all'

init scriptek kezelése

A futásszintek és prioritások grafikus kezelésére alkalmas a bum (Boot-Up Manager) csomag. Parancssoros kezelésre az update-rc.d parancs.

Hasznos még az invoke-rc.d:

  • invoke-rc.d foo start: foo script indítása
  • invoke-rc.d foo stop: foo script leállítása
  • invoke-rc.d foo restart: foo script újraindítása
  • invoke-rc.d foo status: foo script állapotának lekérdezése


(A scriptek egyébként az /etc/init.d/-ben vannak.)

egyedi init script

1. az '/etc/init.d/'be készíts egy szöveges állományt (pld.: "sajat");
rtc 1024 hzre állítása (mplayer használja):

#! /bin/sh
echo -n "sajat: "
#rtc
echo -n "rtc to 1024; "
echo 1024 > /proc/sys/dev/rtc/max-user-freq &
echo "done"

2. állítsd be a jogokat ('chmod 0755 sajat') és tulajdonost ('chown root sajat' és 'chgrp root sajat')
3. bármelyik indokolt init szinten fusson le, de ez legyen az utolsó, ami lefut:

update-rc.d sajat defaults 99

A fenti konkrét feladathoz nem szükséges egyedi szkriptet létrehozni, lásd: Linux kernel: "Kernel paraméterek valós idejű állítása"

Kapcsolódó olvasmány: The Debian boot process

automatikus hibajelentés emilben

A programok egy része (leginkább a daemonok) képesek emil küldeni, ha valami fontos üzennivalójuk van (leginkább súlyos hiba esetén).

melyik program?mit jelent?hol kell beállítani?
apt-listchangeselküldi a változások listájátcsomag újrakonfigurálásával
cronaz ütemezett parancsok hibáitautomatikusan a rootnak küld
hp-toolboxnyomtatási problémáthp-toolbox - Configure - Email Alerts
logrotatea logok kezelésének hibáit/etc/logrotate.conf végére szúrj be egy mail foo@bar.baz részt
psadvalószínűsíthető port scan adatait/etc/psad/psad.conf:EMAIL_ADDRESSES
rkhunterfrissítés vagy hiba esetén/etc/default/rkhunter:REPORT_EMAIL
smartmontoolskritikus diagnosztikai értékeket/etc/smartd.conf -ban az adott teszt végére szúrj be egy -m foo@bar.baz részt
watchdogrendszer újraindítás okátautomatikusan a rootnak küld

Kapcsolódó anyag: MTA (ssmtp, exim)

visual bell

ha zavar a speaker (vagy speaker hiányában is értesülni akarsz, hogy a rendszer "figyelmeztet vmiért"), akkor tedd ezt:
az '/etc/inputrc'ben szerepeljen a "set bell-style visible" sor;

numlock

automatikus bekapcsolás konzol alatt:
a '/etc/console-tools/config' állományban kommentezd ki a megfelelő sort:

# Turn on numlock by default
#LEDS=+num

x alatt:
telepíteni: numlockx - rákérdez, hogy automatikusan induljon-e;

localepurge

Kitakarítja a felesleges lokalizációs állományokat. Bővebben: localepurge

xbindkeys

lehetővé teszi, hogy tetszőleges programot rendeljünk billentyűzet ill. egér kombinációhoz;
rendkívül alaposan konfigurálható, érdemes körülnézni az '/usr/share/doc/xbindkeys/examples'ben;
egy egyszerű példa:
a '~/.xbindkeysrc'be írd be:

"x-terminal-emulator"          
control+alt+t
 

az 'xbindkeys &' parancs után már használható is;

X élményerősítő

Egérgesztus alapú irányítás:

euro támogatás?

Ha mindent a leírás szerint állítottál be, akkor rendben lesz; az euro szimbólum (€) helye: altgr+u

Linux Standard Base támogatás

Jelenleg a Debian hivatalosan nem LSB kompatibilis (a tanusítvány megszerzése túl sokba kerülne), de ha úgy érzed, hogy tenni akarsz valamit az ügy érdekében, telepítsd az idevágó csomagokat: apt-cache search "Linux Standard Base"

SELinux támogatás

Az SELinux az NSA fejlesztése, célja a az állományszintű jogellenőrzés leváltása egy (szinte) programkód szintű modellre. Debian alatt folyamatban van az SELinux támogatás beforrasztása: állapot, támogattott csomagok. Telepítés és beállítás: Unix and Linux Security: SE Linux

libc6-i686

a glibc legtöbb libraryját lecseréli egy 686os processzorra (minimum pentiumpro) és nptlre (2.6 kernel) optimalizált változatra;
gyorsabb lehet, de néhány zárt forráskódú programmal nem kompatibilis; (megj.: adódhatnak kompatibilitási problémák ezzel a csomaggal; ilyenkor az egyetlen megoldás, ha leszeded;)

az l10n ás ddtp projectek

az l10n célja a debian rendszer felkészítése angoltól eltérő nyelvi környezetekkel történő együttműködésre; magyar levelezőlista: debian-l10n-hungarian mailing list (megj.: az "l10n" és "i18n" magyarázata: Internationalization and localization)
a ddtp feladatköre csomagleírások fordítása: Válogass magyarul

új egérmutató

Az egyik legjobb gyűjtemény a kde-lookon van: KDE-Look.org: X11 Mouse Themes
Példa a "bean" téma telepítésére:

  1. a kde-look egér oldalát rendezd abc rendbe, majd "Bean Cursor Thema" és ezen belül "download"
  2. lejön a '6277-bean.tar.bz2' állomány. tömörítsd ki
  3. ha például áttetsző és árnyékkal rendelkező változatot akarod használni, akkor a 'Bean/Bean-transparent-shadow/' könyvtárat másold át a '/usr/X11R6/lib/X11/icons/' könyvtárba
  4. egy adott kurzor aktiválásához a '/usr/X11R6/lib/X11/icons/default/index.theme' "Inherits=" részében kell az adott könyvtárat megadni, esetünkben: "Inherits=Bean-transparent-shadow"
  5. X újraindítása után életbe lép az új kurzor

A fenti leírás a rendszerszintű egérmutató telepítésre vonatkozik. Ha felhasználóként szeretnél telepíteni, akkor hozd létre a ~/.icons könyvtárat és ezt kezeld az /usr/X11R6/lib/X11/icons/-hoz hasonlóan.

(Megj.: az animált kurzorok villogásának kiküszöbölése: az '/etc/X11/XF86Config-4' "Generic Video Card" részébe helyezd el ezt a sort: Option "HWCursor" "0" )

témák, hátterek, ...

themes.freshmeat.net
KDE-Look.org
art.gnome.org
73lab

automount

külön parancs kiadása nélkül képes állományrendszereket automatikusan csatolni;
1. kernel: a debian gyári kernel csomagjában bent van a támogatás; a 'modconf' segítségével telepítsd az 'fs/autofs4';
2. daemon: az 'autofs' csomagot telepítsd;
3. példa beállítás:
'/etc/auto.master':
/mnt/cdrom /etc/auto.cdrom --timeout 10
/mnt/floppy /etc/auto.floppy --timeout 1
'/etc/auto.floppy'
floppy -user,suid,fstype=vfat,gid=25,umask=002 :/dev/fd0
'/etc/auto.cdrom'
cdrom -fstype=iso9660,ro :/dev/cdrom
4. indítsd újra az 'autofs' daemont;

uptime

Uptime rögzítés és toplistázás.

A célra legjobban az uptimed csomag használható, telepítés közben feltesz pár egyértelmű kérdést, a rögzített eredmények a uprecords paranccsal kérhetők le.

(Az ud is jó megoldás lenne, de a project nincs karbantartva.)

.iso mountolás

'losetup /dev/loop0 foo.iso' majd 'mount /dev/loop0 /mnt/foo'

Egy lépésben: 'mount foo.iso /mnt/cdrom -o loop'

állomány darabolása és összefűzése

darabolás:
'split -b 100m foo bar'
a foo állományt darabolja 100 megás részekre, az állománynevek bara, barb, barc, stb. lesznek

összefűzés:
'cat bar* > foo'
a "bar"ral kezdődő állományokat összefűzi "foo" néven

ki és mi használ egy állományt

pld.:

$fuser -v /dev/dsp

                    USER        PID ACCESS COMMAND
/dev/dsp            user       1708 f....  wish
                    user       1709 f....  wish
                    user       1710 f....  wish

egy állomány felszabadítása a használat alól (pld. beragadt deviceoknál hasznos):
'fuser -k foo'

ki és mi használ egy tcp portot

pld:

$ fuser -v 25/tcp

                     USER        PID ACCESS COMMAND
25/tcp               root       1385 f....  exim4

kódlapok közt kovertálás

'iconv -f iso8859-2 -t utf-8 foo > bar' = az iso8859-2 kódulású foo állomány tartalmát utf-8 kódulású bar állományba konvertálja; az állományok jelenlegi kódolását pld. a 'file foo' megmutatja
'convmv -f iso8859-2 -t utf-8 foo' = a foo állománynak iso8859-2 kódulású nevét utf-8 kódulásuvá alakítja
(megj.: természetesen fel kell telepíteni az 'iconv' és 'convmv' csomagokat)

Kapcsolódó szócikkek