30.09.14

ShellShock check

https://github.com/hannob/bashcheck


#!/bin/bash

r=`x="() { :; }; echo x" bash -c ""`
if [ -n "$r" ]; then
echo -e '\033[91mVulnerable to CVE-2014-6271 (original shellshock)\033[39m'
else
echo -e '\033[92mNot vulnerable to CVE-2014-6271 (original shellshock)\033[39m'
fi

cd /tmp;rm echo 2>/dev/null
X='() { function a a>\' bash -c echo 2>/dev/null > /dev/null
if [ -e echo ]; then
echo -e "\033[91mVulnerable to CVE-2014-7169 (taviso bug)\033[39m"
else
echo -e "\033[92mNot vulnerable to CVE-2014-7169 (taviso bug)\033[39m"
fi

bash -c "true $(printf '<<EOF %.0s' {1..79})" 2>/dev/null
if [ $? != 0 ]; then
echo -e "\033[91mVulnerable to CVE-2014-7186 (redir_stack bug)\033[39m"
else
echo -e "\033[92mNot vulnerable to CVE-2014-7186 (redir_stack bug)\033[39m"
fi

bash -c "`for i in {1..200}; do echo -n "for x$i in; do :;"; done; for i in {1..200}; do echo -n "done;";done`" 2>/dev/null
if [ $? != 0 ]; then
echo -e "\033[91mVulnerable to CVE-2014-7187 (nested loops off by one)\033[39m"
else
echo -e "\033[96mTest for CVE-2014-7187 not reliable without address sanitizer\033[39m"
fi

r=`a="() { echo x;}" bash -c a 2>/dev/null`
if [ -n "$r" ]; then
echo -e "\033[93mVariable function parser still active, likely vulnerable to yet unknown parser bugs like CVE-2014-6277 (lcamtuf bug)\033[39m"
else
echo -e "\033[92mVariable function parser inactive, likely safe from unknown parser bugs\033[39m"
fi

loop on f20.

echo loop > /etc/modules-load.d/loop.conf
systemctl status systemd-modules-load.service

echo options loop max_loop=10 > /etc/modprobe.d/loop.conf
dracut --force

Mounting a disk image using the loop device

losetup /dev/loop0 /pathto/file.img
fdisk -l /dev/loop0
losetup -d /dev/loop0

losetup /dev/loop0 /pathto/file.img -o 8704

13.09.14

SSD в f20,rhel7. базовый тюнинг

1) Блочный уровень
Глобально тип планировшика ввода-вывода можно задать в grub'e:
#vim /etc/default/grub
...
GRUB_CMDLINE_LINUX="vconsole.font=latarcyrheb-sun16 $([ -x /usr/sbin/rhcrashkernel-param ] && /usr/sbin/rhcrashkernel-param || :) elevator=noop rhgb quiet"
...

#grub2-mkconfig -o /boot/grub2/grub.cfg

Для отдельного диска можно воспользоваться rc-local:

#vim /etc/rc.d/rc.local
#!/bin/bash
echo noop > /sys/block/sdX/queue/scheduler

#chmod +x /etc/rc.d/rc.local
#systemctl enable rc-local
#systemctl start rc-local


2) Файловый уровень.
#tune2fs -o journal_data_writeback,user_xattr,acl /dev/sdX

#vim /etc/fstab:
...
UUID=XXX    /    ext4    defaults,noatime,data=writeback,barrier=0        1 1
...

#vim /etc/cron.daily/trim 
#!/bin/sh
/usr/sbin/fstrim -v /

#chmod +x /etc/cron.daily/trim

29.08.14

Укрощение HP Elitebook folio 9470m

Нужен был легкий ноутбук и почти решился купить Dell XPS 13, как в руки попал корпоративный HP Elitebook folio 9470m, не собственный, ну да какая разница) Первым делом решил избавиться от установленной ОС, сделав копию разделов. В системе 2 диска: hitachi hts72505 и samsung mzmpc032 (SSD), твердотельный использовался как кэш, что просто кошунство на мой взгляд). Проблема заключалась в том, что при установке fedora, anaconda не видела оба диска, решение нашлось почти сразу - отключение raid в bios и выполнение команды (в live режиме):
#dmraid -r -E

Теперь система на ssd, home на hdd, для шифрования home используется luks. wifi работает, звук тоже, в планах потестить fingerprint.


24.08.14

NetHogs

NetHogs позволяет вывести сетевую скорость по процессам.

21.08.14

Orange Book & CC

Классика)

TCSEC (Trusted Computer System Evaluation Criteria) aka "Orange Book"
http://csrc.nist.gov/publications/history/dod85.pdf
+
CC (common criteria), ISO/IEC 15408
http://www.commoncriteriaportal.org/cc/

10.06.14

Red Hat Forum 2014 & RHEL7

Сегодня посетил Red Hat Forum 2014, все было весьма интересно, как и на всех мероприятиях проводимых Red Hat или сообществом Fedora. Были обзоры практически всех продуктов компании, выступления партнеров и спонсоров (HP, IBM, Dell), общий акцент как уже принято на облака и big data, но самое главное это то, что в этот же день выходит долгожданный RHEL 7!!!

24.05.14

MySQL max_connection

#vim /etc/my.cnf

[mysqld]
...
max_connection=1000
...


(по умолчанию 151)

MySQL InnoDB

#vim /etc/my.cnf

[mysqld]
...
default-storage-engine=InnoDB
...

10.04.14

24.01.14

HP Software Delivery Repository

HP Software Delivery Repository
This site provides yum and apt repositories for Linux-related software packages.

http://downloads.linux.hp.com/SDR/

20.10.13

Отключение IPv6

sysctl
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

RHEL6 (/CentOS6):
Отключаем модули ядра для ipv6:
#cat > /etc/modprobe.d/ipv6.conf << EOF
options ipv6 disable=1
alias net-pf-10 off
alias ipv6 off
install ipv6 /bin/true
EOF

Первая строка здесь отключает ipv6, остальные предотвращают загрузку уже ненужного модуля ядра для ipv6.

Отключаем iptables для ipv6:
#chkconfig ip6tables off

Ubuntu 13.10:
#cat /etc/default/grub
...
GRUB_CMDLINE_LINUX_DEFAULT=" ipv6.disable=1"
...

#update-grub2

21.09.13

Конференция «Дорога в облака»

Посетил конференцию «Дорога в облака»

* «Нестандартное использование Puppet в деплойменте» - Михаил Щербаков, Mirantis.
* «Как облачные технологии меняют Linux-дистрибутивы?» - Петр Леменков, Fedora Project.
* «Производительность и масштабируемость OpenStack» - Борис Павлович, Mirantis.
* «Configuration Management at large companies» (in English) - Matthew Mosesohn, Mirantis.
* «Развертывание OpenStack с помощью Fuel» - Михаил Щербаков, Mirantis.
* «Elliptics, отказоустойчивое распределенное KV-хранилище» - Евгений Поляков, Яндекс.
* «Облачные решения от Red Hat, и будущее» - Сергей Бугрин, Red Hat.
 

07.09.13

RPi

Недавно переехал и сейчас задумался отказываться от yota в пользу полноценного интернета (и более дешевого) и заключая сегодня договор с провайдером, я отказался от услуг настройки оборудования и предложений о покупки роутера) мой RaspberryPi куда лучше всей этой шелухи. Geek's HandMade) Only GNU/Linux! Да, сейчас на фото ubuntu, а в Pi - raspbian, но можно и дубль два - будет fedora + pidora) ...дело вкуса...!!!)))

22.07.13

ubuntu edge

Вот телефон который я хочу, ubuntu edge, все остальные по сравнению с ним меркнут!















Очень жаль, что это пока только краудфандинг и поэтому хочется сказать следующее:

16.06.13

WIFI точка доступа в Linux (или WIFI-router из RaspberryPi)

WIFI точку доступа в linux можно настроить используя hostapd, dhcp сервер и поддерживаемый wifi-адаптер, драйвер которого сможет выступать в качестве AP. http://wireless.kernel.org
Один из поддерживаемых USB wifi-адаптеров - TP-LINK TL-WN722N(С) (http://www.tp-linkru.com/products/details/?categoryid=&model=TL-WN722N) им я и воспользовался.

Ниже описана конфигурация wifi точки доступа, собранной из RaspberryPi (raspbian), LTE-модема yota и уже упомянутого wifi-адаптера TP-LINK TL-WN722NС.


  • Настройка интерфейсов:
Устанавливаем resolvconf, необходим для работы опции "dns-nameservers":
#apt-get install resolvconf

Редактируем сами интерфесы:
#cat /etc/network/interfaces
auto lo
        iface lo inet loopback
        iface eth0 inet dhcp

#onboard ethernet
auto eth0
iface eth0 inet static
        address 172.16.0.10
        netmask 255.255.255.0

#yota
auto default eth1
iface eth1 inet dhcp
        dns-nameservers 8.8.8.8

#wifi
auto wlan0
iface wlan0 inet static
        address 192.168.0.1
        netmask 255.255.255.0
        dns-nameservers 8.8.8.8

  • Настройка dhcp:
Ставим dhcp сервер, я воспользовался стандартным:
#apt-get install isc-dhcp-server

Правим стандартную конфигурацию:
#cat /etc/dhcp/dhcpd.conf

ddns-update-style none;
#option domain-name "example.org";
#option domain-name-servers 8.8.8.8;

default-lease-time 600;
max-lease-time 7200;
log-facility local7;

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.25 192.168.0.30;
  option domain-name-servers 8.8.8.8;
  option routers 192.168.0.1;
  interface wlan0
}
  • Настройка точки доступа hostapd:
Устанавливаем пакет:
#apt-get install hostapd

Создаем конфиг, в итоге должно получится следующее:
#cat /etc/hostapd/hostapd.conf

interface=wlan0
driver=nl80211
ssid=SSIDName
hw_mode=g
channel=11
wme_enabled=1
ieee80211n=1
ht_capab=[HT40-][SHORT-GI-40][DSSS_CCK-40]
wpa=2
wpa_passphrase=SecretPasswordPhrase
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
wpa_ptk_rekey=600
macaddr_acl=0

Здесь нужно заменить SSIDName на желаемое имя wifi сети, а SecretPasswordPhrase соответственно на пароль wifi сети.

Также необходимо подправить init-скрипт демона /etc/init.d/hostapd:
присвоить значение для
... 
DAEMON_CONF=/etc/hostapd/hostapd.conf
...
а также добавить управление интерфейсом wlan0 при старте, рестарте и останове демона:

...
#wlan iface
WLAN=wlan0
...
  start)
    #up wlan iface
    /sbin/ifup $WLAN

    log_daemon_msg "Starting $DESC" "$NAME"
    start-stop-daemon --start --oknodo --quiet --exec "$DAEMON_SBIN" \
        --pidfile "$PIDFILE" -- $DAEMON_OPTS >/dev/null
    log_end_msg "$?"
    ;;
  stop)
    log_daemon_msg "Stopping $DESC" "$NAME"
    start-stop-daemon --stop --oknodo --quiet --exec "$DAEMON_SBIN" \
        --pidfile "$PIDFILE"

    #down wlan iface
    /sbin/ifdown $WLAN

    log_end_msg "$?"
    ;;
...

  • Настройка файервола:

Включаем forwrding в sysctl.conf:
net.ipv4.ip_forward=1
В iptables разрешаем forwarding для беспроводного интерфейса и разрешаем masquerading для интерфейса подключенного к Интернет:
#iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
#iptables -A FORWARD -i eth1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
#iptables -A FORWARD -i wlan0 -o eth1 -j ACCEPT
Плюс ко всему необходимо блокировать ненужный трафик.

Существует ряд способов применить настройки правил iptables при старте системы, в debian/ubuntu я пользуюсь iptables-persistent:
Ставим пакет, при установке можно не сохранять текущие правила, т.к. будут редактироваться:
#apt-get install iptables-persistent

Далее добавляем необходимые правила в файл:
#cat /etc/iptables/rules.v4

*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT

*filter
:INPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i wlan0 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -i eth1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan0 -o eth1 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Это необходимый минимум правил. Далее их можно добавлять и совершенствовать усиливая защиту, например добавив проверку по MAC адресам, установить IPS/IDS и т.д.

Такая реализация wifi-роутера меня лично больше устраивает чем скажем OpenWRT+поддерживаемый им роутер, чем я и пользовался ранее, в плане ПО уж точно.
Были опасения по поводу нагрева RaspberryPi в этом корпусе, но температура была вполне штатная 51'С и скорее всего установка радиаторов или отверстий в корпусе не потребуется.

TODO: аналогичная настройка, но на fedora.

12.06.13

Red Hat выпустила Red Hat Enterprise Virtualization 3.2


Вышла новая версия системы виртуализации RHEV 3.2. Основные новшества - полная поддержка Storage Live Migration и поддержка последних моделей процессоров Intel и AMD.

08.06.13

NetGWM

"NetGWM (Network Gateway Manager) — утилита для автоматического переключения сетевых шлюзов в случае недоступности интернет-подключения в операционной системе GNU/Linux. NetGWM позволяет с лёгкостью создавать отказоустойчивые подключения к глобальной сети.", flant.ru

Linux Advanced Routing & Traffic Control

http://lartc.org

06.06.13

Подключение yandex disk в nautilus 3.6+

Connect to Server:
davs://login@webdav.yandex.ru:443