Tippek & Trükkök (Debian)
A HupWiki-ből...
Debian HOWTO-k, írások: Útmutató (egyszerű)
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-listchanges | elküldi a változások listáját | csomag újrakonfigurálásával |
cron | az ütemezett parancsok hibáit | automatikusan a rootnak küld |
hp-toolbox | nyomtatási problémát | hp-toolbox - Configure - Email Alerts |
logrotate | a logok kezelésének hibáit | /etc/logrotate.conf végére szúrj be egy mail foo@bar.baz részt |
psad | valószínűsíthető port scan adatait | /etc/psad/psad.conf:EMAIL_ADDRESSES |
rkhunter | frissítés vagy hiba esetén | /etc/default/rkhunter:REPORT_EMAIL |
smartmontools | kritikus diagnosztikai értékeket | /etc/smartd.conf -ban az adott teszt végére szúrj be egy -m foo@bar.baz részt |
watchdog | rendszer újraindítás okát | automatikusan 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ő
- AllTray
- Devil's Pie (útmutató: Debian Administration :: Manipulating the windows upon your desktop
- Skippy
- wmctrl
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:
- a kde-look egér oldalát rendezd abc rendbe, majd "Bean Cursor Thema" és ezen belül "download"
- lejön a '6277-bean.tar.bz2' állomány. tömörítsd ki
- 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
- 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"
- 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)