Wszystkie wpisy, których autorem jest ziutus

puppet: sprawdzanie co puppet chciałby zrobić

Większość administratorów, wolałaby wiedzieć co puppet chce zrobić zanim pozwoli mu mieszać na serwerach produkcyjnych. Można to w miarę łatwo zobaczyć korzystając z opcji –noop:

root@ziutus:~# puppetd  --test --noop
info: Caching catalog for gateway.linuxexpert.pl
info: Applying configuration version '1340171431'
notice: /Stage[main]//Node[gateway.linuxexpert.pl]/Phpldapadmin::Server[127.0.0.1]/Exec[/usr/local/bin/merge_config_files.sh /etc/phpldapadmin/config_main.php /etc/phpldapadmin/config.d/ /etc/phpldapadmin/config.php]/returns: is notrun, should be 0 (noop)
notice: /Stage[main]/Rsyslog/Service[rsyslog]/enable: is false, should be true (noop)
notice: /Stage[main]/Knockd/Service[knockd]/ensure: is stopped, should be running (noop)
notice: /Stage[main]//Node[gateway.linuxexpert.pl]/Ssh_authorized_key[root_ziutus]/ensure: is present, should be absent (noop)
notice: Finished catalog run in 6.35 seconds

sftponly + chroot – wbudowane w sshd rozwiązanie

Zmieniamy sftp-server dostępny standardowo na wbudowany sftp:

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp -l VERBOSE

Następnie tworzymy grupę sftp, dodajemy do niej użytkowników i konfigurujemy zasady dla tych użytkowników:

Match group sftp
    X11Forwarding no
    ChrootDirectory %h
    AllowTcpForwarding no
    ForceCommand internal-sftp

Wady rozwiązania:
* nie działa scp
* nie działa rsync (możesz oczywiście zbudować w chroot środowisko dla rsync ale nie o to chodzi w łatwych rozwiązaniach…)

Plusy:
* wbudowane rozwiązanie

Ubuntu: sendmail i cronjob który się nie usunął

Dostawałem dużo mail-i jak poniżej:

X-Cron-Env: 
X-Cron-Env: 
X-Cron-Env: 
X-Cron-Env: 
X-Cron-Env: 
Message-Id: <20120609180001.ADE45276C55@xxx.linuxexpert.pl>
Date: Sat,  9 Jun 2012 22:00:01 +0400 (MSK)

/usr/share/sendmail/sendmail: 1267: /usr/sbin/sendmail-msp: not found

Rozwiązaniem okazało się:

sudo apt-get --purge remove sendmail-base sendmail-cf sendmail-doc

Czemu nie robią dobrze pakietów jak kiedyś?

knockd: konfiguracja na VPS-ie opartym na OpenVZ

Na moim VPS-ie mam zainstalowanego Ubuntu. Podstawową sprawą w konfiguracji jest wskazanie karty sieciowej jako venet0:

root@ziutus:/var/log# egrep -v "^#|^$" /etc/default/knockd
START_KNOCKD=1
KNOCKD_OPTS="-d -i venet0:0"

Dalej standardowo konfigurujemy /etc/knockd.conf

root@ziutus:/var/log# cat /etc/knockd.conf
[options]
#       UseSyslog
        logfile = /var/log/knockd.log


[openSSH]
        sequence    =  9537,7496,3512
        seq_timeout = 5
        command     = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
        tcpflags    = syn

[closeSSH]
        sequence    = 3512,7496,9537 
        seq_timeout = 5
        command     = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
        tcpflags    = syn

Linux: nc jako proste narzędzie do pukania

Instalowałem dzisiaj na serwerze knockd aby mój serwer nie miał domyślnie otwartego portu ssh dla wszystkich. Pytanie tylko jak łatwo zapukać do portu? najprościej tak (jeżeli nie ma klienta knock):

for PORT in 9537 7496 3512; do nc -w 1 -z  SERVER $PORT; done

Albo zrobić sobie alias:

alias server_knock_in ='for PORT in 9537 7496 3512; do nc -w 1 -z  SERVER $PORT; done'
alias server_knock_out='for PORT in 3512 7496 9537; do nc -w 1 -z  SERVER $PORT; done'