S.M.A.R.T. error monitoring and reporting on drives

Configuring and using S.M.A.R.T

Self test:

smartctl -t short -d ata /dev/sda

Self test results:

smartctl -l selftest -d ata /dev/sda

Show errors (if any):

smartctl -l error -d ata /dev/sda

Old lock file: /var/lib/mongodb/mongod.lock. probably means unclean shutdown

On occasion mongoDB doesn’t start.

[root@serv1 /]# /etc/init.d/mongod status
mongod dead but subsys locked

To fix this problem:

rm -f /var/lock/subsys/mongod
rm -rf /var/lib/mongodb/mongod.lock

ASA 8.x : ACL разрешить доступ к FTP (PASV)

Рассмотрим правила написания ACL на аппаратном файрволе Cisco ASA 55XX серии.
В нашем примере используется подсеть 172.21.4.0/24, которой мы должны разрешить доступ только по протоколу FTP.
Приступим:

Для начала опишем нашу подсеть:

interface Vlan40
 description DMZ-ZONE (SQL/TERMINAL/etc)
 nameif dmz-zone
 security-level 55
 ip address 172.21.4.1 255.255.255.0

Привяжем ACCESS-GROUP к нашему интерфейсу:

access-group sec-dmz-vl40 in interface dmz-zone
access-group sec-dmz-vl40-out out interface dmz-zone

Добавление пользователей SSH

Для того, чтобы быстро добавить пользователя на сервер, с возможностью sudo bash, нужно выполнить команду:

useradd -g root -p'$6$VXsVOZ06$WMZ9gdRR4Yj7GbLaq9iOpLvFdsTYFMA34B05RWnHk65lpr577swAVC.' sshuser1

Пароль можно взять из файла /etc/shadow
Удачного доступа!

Nginx rewrite: remove .html from URL with arguments

Если вам требуется удалять .html из вашего URL с помощью 301-го редиректа, можно выполнить следующую настройку в nginx:

# rewrite html extensions
rewrite ^(/.+)\.html$ $scheme://$host$1 permanent;

location / {
    ...
}

В результате, при открытии http://mydomain.ru/flag.html, у вас откроется http://mydomain.ru/flag

ASA 8.x : AnyConnect VPN доступ к ресурсам локальной сети

В данной статье речь пойдет о МЭ Cisco ASA, о том как можно сравнительно недорого и удобно организовать удаленный доступ в локальную сеть вашего офиса.

Почему же все-таки Cisco? Думаю этот вопрос не встанет у тех, кто хоть раз использовал оборудование данного вендора в своем бизнесе. Я не стану описывать преимущества или недостатки, это слишком личное, каждый видит по-своему. Мой выбор пал на Anyconnect VPN, как на самое оптимальное решение для удаленного подключения в корпоративную сеть, потому что VPN подключение устанавливается через HTTPS. На данный момент Anyconnect VPN поддерживает ОС Windows (иногда работает даже на Windows Server, хотя поддержка такового у циски явно не указана), Linux, MacOS.

Мы заказываем себе Cisco ASA5505 и покупаем лицензии Anyconnect Essential = 25 VPN подключений за 100$, что может быть доступнее из качественного оборудования? При чем, обратите внимание, что если у вас Cisco ASA 5510, то там вы получаете 250 VPN подключений за те же 100$, я думаю что это очень удобно!

Переходим к настройке:

Поиск больших файлов в linux

Один из вариантов быстро найти большие файлы, скажем размером больше 1GB:

find / -size +1G | awk '{system("ls -al "$1)}'

httpd dead but subsys locked

Если apache мертв и никак не поднимается:

httpd dead but pid file exists
+
httpd dead but subsys locked

Для запуска вручную можно сделать так:

rm -f /var/run/httpd.pid
ipcs -s | grep apache | perl -e 'while (<STDIN>) { @a=split(/\s+/); print `ipcrm sem $a[1]`}'
rm -f /var/lock/subsys/httpd
/etc/init.d/httpd restart

Cisco: логирование через rsyslog CentOS

Добавляем ключ «-x», чтобы rsyslog писал в логи IP адрес, а не имя железки:
/etc/sysconfig/rsyslog

+SYSLOGD_OPTIONS=-c 5 -x

Включаем логирование в файл (предпочтительнее добавлять через /etc/rsyslog.d/):
/etc/rsyslog.conf

# Provides UDP syslog reception
$ModLoad imudp.so
$UDPServerRun 514

<p># Provides TCP syslog reception
$ModLoad imtcp.so
$InputTCPServerRun 514

<p># Cisco ASA5510 FW01 Logging
:fromhost-ip,isequal, 172.28.28.194                  /var/log/cisco/cisco-asa5510.log

Перезагружаем rsyslog:

/etc/init.d/rsyslog restart

Включаем ротацию логов, с помощью logrotate:
/etc/logrotate.d/cisco-log

/var/log/cisco/*.log
{
daily
rotate 10
missingok
notifempty
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}