Archiv štítku: CentOS

Logování Fireholu mimo messages

V /etc/firehol/firehol.conf:

FIREHOL_LOG_PREFIX="FIREHOL: "

v /etc/rsyslog.d/10-firehol.conf

:msg, startswith, "FIREHOL: " -/var/log/firehol.log
& ~

rotaci zprovozníme v /etc/logrotate.d/firehol

/var/log/firehol.log
{
	rotate 7
	daily
	missingok
	notifempty
	delaycompress
	compress
	postrotate
	invoke-rc.d rsyslog reload > /dev/null
	endscript
}

 

Nastavení kerberos na CentOS

Konfigurace Kerberos

[libdefaults] 
default_realm = DOMAIN.INTERNAL 
dns_lookup_kdc = no 
dns_lookup_realm = no 
ticket_lifetime = 24h 
default_keytab_name = /etc/squid/PROXY.keytab 
default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5 
default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5 
permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5 

[realms] 

DOMAIN.INTERNAL = { 
kdc = dc.domain.internal 
admin_server = dc.domain.internal 
default_domain = domain.internal 
} 

[domain_realm] 
.domain.internal = DOMAIN.INTERNAL 
domain.internal = DOMAIN.INTERNAL

funkci vyzkoušíme pomocí:

kinit administrator

případně:

klist

pak nainstalovat msktutil, stáhnout z webu RPM verze 0.4, ta dostupná pomocí yum je zastaralá

vyzkoušet lze přidání účtu do domény:

msktutil -c -b "CN=COMPUTERS" -s HTTP/proxy.domain.internal -k /etc/squid/PROXY.keytab --computer-name PROXY \
--upn HTTP/proxy.domain.internal –-server dc.domain.internal --verbose --enctypes 28

tím by se mělo vytvořit keytab v adresáři squidu

nastavíme práva

chgrp squid /etc/squid/PROXY.keytab
chmod g+r /etc/squid/PROXY.keytab

aktualizujeme keytab

msktutil --auto-update --verbose --computer-name proxy -k /etc/squid/PROXY.keytab

do crontab přidáme

00 4  *   *   *     msktutil --auto-update --verbose --computer-name proxy | logger -t msktutil

squid musí vědět, kde hledat keytab

echo "export KRB5_KTNAME=/etc/squid/PROXY.keytab" | tee /etc/default/squid

Squid v AD

Nejdřív NTP

nastavíme do samba.conf

#GLOBAL PARAMETERS
[global]
  workgroup = DINTERNAL
  realm = DOMAIN.INTERNAL
  preferred master = no
  server string = squid proxy server
  security = ADS
  encrypt passwords = yes
  log level = 3
  log file = /var/log/samba/%m
  max log size = 50
  printcap name = cups
  printing = cups
  winbind enum users = Yes
  winbind enum groups = Yes
  winbind use default domain = Yes
  winbind nested groups = Yes
  winbind trusted domains only = Yes
  winbind cache time = 3600
  winbind separator = +
  template shell = /bin/bash

do hosts přidat řádek s adresou serveru s plným i zkráceným jménem

spustit připojení k doméně a konfiguraci přihlašování do ad

authconfig \
--update \
--kickstart \
--enablewinbind \
--enablewinbindauth \
--smbsecurity=ads \
--smbworkgroup=$ADSWorkgroup \
--smbrealm=$ADSDomain \
--smbservers=$ADSServer \
--winbindjoin=$AdminUser \
--winbindtemplatehomedir=/home/%U \
--winbindtemplateshell=/bin/bash \
--enablewinbindusedefaultdomain \
--enablelocauthorize

konfigurace squidu

### NTLM
auth_param ntlm \
   program /usr/bin/ntlm_auth \
   --diagnostics \
   --helper-protocol=squid-2.5-ntlmssp \
   --domain=DINTERNAL
auth_param ntlm children 10
auth_param ntlm keep_alive off

### LDAP
auth_param basic \
   program /usr/lib/squid/squid_ldap_auth \
   -R -b "dc=DOMAIN,dc=INTERNAL" \
   -D user@domain.internal \
   -W /etc/squid/ldappass.txt \
   -f sAMAccountName=%s \
   -h dc.domain.internal
auth_param basic children 10
auth_param basic realm Internet Proxy
auth_param basic credentialsttl 1 minute

### access list
acl auth proxy_auth REQUIRED

### vynutime overeni klientu
http_access deny !auth
http_access allow auth

spusteni sluzeb

/sbin/chkconfig winbind on
/sbin/service winbind start
/sbin/chkconfig smb on
/sbin/service smb start

Omezení logování na systémovou konzoli pod CentOS

Pokud často pracujete se systémem přes systémovou konzoli (tedy ne přes SSH ani z X terminálu) a běží vám v systému služby, které častěji zapisují do systémového logu, velmi pravděpodobně se zprávy vypisují i přímo na konzoli. Je to dost nepříjemná vlastnost, která mi navíc přijde poněkud zbytečná. Koho zajímají výpisy logu přímo na konzoli, když se v nich stejně nedá listovat, hledat, atd.? Je to věc, která by dle mého zasloužila vypnutí už při instalaci.

Pro verzi 5.x v /etc/sysconfig/syslog upravíme řádek s možnostmi klogd:

KLOGD_OPTIONS=”-x -c 2”

Ve verzi 6.x je rsyslog, který potřebuje jiné nastavení. Je v souboru /etc/sysctl.conf, stačí přidat následující řádek:

kernel.printk = 3 4 1 3

 

Co se soubory .rpmnew po instalaci aktualizací

Někdy se stane, že po instalaci aktualizace nějakého balíčku přes yum se objeví soubory (většinou konfigurační) s koncovkou .rpmnew. Takové soubory obsahují novou defaultní konfiguraci, původní konfigurační soubory se nepřepisují, aby nedošlo ke ztrátě dlouho vytvářeného a zkontrolovaného nastavení. Nové soubory je potřeba najít, porovnat s aktuálními a případné odlišnosti prozkoumat a správně nastavit.

find /etc /var -name *.rpmnew
diff <aktualniconf> <aktualniconf.rpmnew>

Poté může být soubor .rpmnew smazán. V případě, že je vysoký předpoklad, že aktualizovaný balíček nebude se starými konfiguračními soubory fungovat správně, zazálohuje se starý soubor do souboru s příponou .rpmsave a místo něj se nakopíruje nový defaultní. Na tyto je potřeba dát extrémní pozor.

Omezení logování na systémovou konzoli pod CentOS

Pokud často pracujete se systémem přes systémovou konzoli (tedy ne přes SSH ani z X terminálu) a běží vám v systému služby, které častěji zapisují do systémového logu, velmi pravděpodobně se zprávy vypisují i přímo na konzoli. Je to dost nepříjemná vlastnost, která mi navíc přijde poněkud zbytečná. Koho zajímají výpisy logu přímo na konzoli, když se v nich stejně nedá listovat, hledat, atd.? Je to věc, která by dle mého zasloužila vypnutí už při instalaci. V /etc/sysconfig/syslog upravíme řádek s možnostmi klogd:

KLOGD_OPTIONS=”-x -c 2”

 

Nastavení časovače v CentOS pod Hyper-V

Při instalaci Windows pod Hyper-V je součástí instalovaných integračních služeb i služba zajišťující synchronizaci času mezi hypervizorem a virtuálním strojem. V Linux Integration Components ovšem nic takového není. Jistou náhradou má nejspíše být adjtimex, ovšem já osobně jsem nezpozoroval žádný rozdíl. Ve virtuálním linuxu prostě běží čas rozdílně a to v řádu několika vteřin za minutu. Je možné to řešit pomocí NTP, které ostatně doporučuji nainstalovat v každém případě, ovšem pak se stejně dostaneme do situace, kdy nám na virtuálním stroji bude běžet čas velmi nelineárně, protože NTP démon bude čas upravovat vždy a o hodně. Řešením je úprava v bootovacích parametrech v /etc/grub/grub.conf. Liší se pro 32 bitů:

divider=10 clocksource=acpi_pm

a pro 64 bitů:

divider=10 notsc