вторник, 8 июля 2014 г.

Пароли в разных ОС

  Пароли в разных ОС:

A/UX 3.0s - /tcb/files/auth/?/*
FreeBSD 4.3 - /etc/master.passwd
ConvexOS 10 - /etc/shadpw
ConvexOS 11 - /etc/shadow
DG/UX - /etc/tcb/aa/user/
HP-UX - /.secure/etc/passwd
IRIX 5 - /etc/shadow
Linux 1.1 - /etc/shadow
SunOS 4.1 - /etc/security/passwd.adjunct
SunOS 5.0 - /etc/shadow
UNICOS - /etc/udb
Win 95/98 - c:windows*.pwl
AIX 3 - /etc/security/passwd или /tcb/auth/files/первый символ логина/логин
BSD4.3-Reno - /etc/master.passwd
EP/IX - /etc/shadow
OSF/1 - /etc/passwd[.dir|.pag]
SCO Unix #.2.x - /tcb/auth/files/первый символ логина/логин
System V Release 4.0 - /etc/shadow
System V Release 4.2 - /etc/security/* database
Ultrix 4 - /etc/auth[.dir|.pag]

               Пароли в различных серверах:

Samba  - /etc/samba/smbpasswd
Apache - /usr/local/apache/pwd

                           Основные виды хэшей:

e9a7656f277ba63618e20628fefad321          - md5
14FB05A326C16B2B                          - MySQL
$l$12345678$6KdMANluuNMmoxB4v4SyQ0        - MD5 (Unix)
9ABB8717D8B02F4181274D347622C6927F82725C  - SHA-1
5m84advre2a0p                             - DES

вторник, 1 июля 2014 г.

MySQL root password in Plesk, ISPmanager, DirectAdmin, Cpanel, phpMyAdmin

Plesk (Parallels)
/etc/psa/.psa.shadow

пользователь - admin

ISPManager 
/usr/local/mgr5/etc/common.conf 

root

ISPManager -> Настройки сервера -> Серверы баз данных -> MySQL -> Пароль

DirectAdmin  
/usr/local/directadmin/conf/mysql.conf

da_admin 

cPanel
/root/.my.cnf

DBACCESS="-u root -pPASSWORD"

phpMyAdmin 
/etc/phpMyAdmin/config.inc.php

$cfg['blowfish_secret'] = 'wertyfvv';

$cfg['Servers'][1]['auth_type'] = 'cookie';

$cfg['Servers'][1]['user'] = 'root';

$cfg['Servers'][1]['password'] = 'wejbmjm,n3';
blowfish_secret – это произвольная фраза, которая нужна для шифрования паролей в куках

auth_type – это тип авторизации, который может принимать 3 значения: config, cookie и http:

config – указывает на то, что логин/пароль будут браться из этого файла (две следующие строчки user и password)
cookie – указывает на то, что логин/пароль будут спрашиваться каждый раз, как кто-то переходит по адресу, где лежит phpmyadmin.

понедельник, 30 июня 2014 г.

Sudoers

Формат файла /etc/sudoers прост: начинается с четырех опциональных секций, и заканчивается присвоением специальных прав. Файл может включать пустые строки, строки комментариев, которые начинаются со значка #. Опциональные (необязательные) секции следующие:

User Alias (Псевдоним пользователя): Присваивает псевдоним одному пользователю (не очень полезно) или группе пользователей. Пользователь может иметь несколько псевдонимов.
"Run as" Alias ("Работает как" Псевдоним): Определяет, вместо кого именно пользователь команды sudo будет работать. По умолчанию sudo подразумевает суперпользователя (root), но есть возможность работать вместо кого-либо другого.
Host Alias (Псевдоним рабочей станции): Определяет, каким рабочим станциям присваиваются права. Если вы не системный администратор группы из нескольких рабочих станций Линукс, то не вам это не нужно. А если нужно, то придется скопировать файл при помощи команды rsync на другие хосты, либо использовать что- либо вроде Network Information Service (NIS), чтобы обеспечить кому надо доступ к этому файлу.
Command Alias (Псевдоним Команды): Определяет псевдоним для той или иной команды. Проще напечатать псевдоним APT, чем полный путь, такой как /usr/sbin/apt-get.

Вы не обязаны использовать псевдонимы, но они сильно облегчают дальнейшее редактирование. Например, если вы хотите наделить Дональда_Дака правами, которые имеет Микки_Маус, просто добавьте первого в группу последнего и вам не придется тратить много времени, переписывая везде одинаковые строки. Существует специальный псевдоним ALL (ВСЕ), и его можно использовать везде: он может означать ВСЕ пользователи, ВСЕ хосты, и т.д.

После этих четырех секций, вы должны заполнить секцию специальных прав, которая выглядит как: "who where = (whoelse) what" - "кто где = вместо_кого что". Это означает: who (кто) (пользователь, группа, или псевдоним пользователя) на рабочей станции where (где) может запускать команду what (что) в качестве пользователя whoelse (вместо_кого). (Если это слишком зашифровано, посмотрите ниже пример). Можно также подключить несколько специальных опций, например, NOPASSWD (без_пароля), позволяющей пользователю запускать sudo без введения собственного пароля; другие опции перечислены в манах.

Данный пример не описывает все возможности конфигурации (для этого существует команда man sudoers), но некоторые опции могли бы выглядеть в файле приблизительно так:

#
# Пример файла /etc/sudoers, с извинениями компании Disney company!
#

# Псевдонимы пользователей
# Первая строка создает псевдоним для трех определенных пользователей.
# Вторая строка включает в группу "утки" всех, за исключением "дональда"
# Третья строка создает псевдоним для одного пользователя; это может
# понадобиться в дальнейшем!
#
User_Alias ПЛЕМЯННИКИ = хью, дью, луи
User_Alias ВСЕ_УТКИ_КРОМЕ_ДОНАЛЬДА = %утки, !дональд
User_Alias МИККИ = микки_маус

# Псевдонимы команд

Cmnd_Alias HALT_OR_REBOOT = /sbin/halt
Cmnd_Alias KILL = /usr/bin/killall
Cmnd_Alias SHUTDOWN = /sbin/shutdown
Cmnd_Alias SU = /bin/su

# Права: кто имеет право запускать что

# Стандартное правило: root и пользователи группы "wheel"
# имеют все права
root ALL = (ALL) ALL
%wheel ALL = (ALL) ALL

# Допустим, что микки_маус является системным администратором,
# позволим ему запускать все без пароля
МИККИ ALL = NOPASSWD: ALL

# ПЛЕМЯННИКИ могут выключать машину, если захотят
NEPHEWS HALT_OR_REBOOT, SHUTDOWN 


# In the default (unconfigured) configuration, sudo asks for the root password.

# This allows use of an ordinary user account for administration of a freshly

# installed system. When configuring sudo, delete the two

# following lines:

 
Defaults       targetpw

ALL    ALL = (ALL) ALL  

http://www.opennet.ru/man.shtml?topic=sudoers&category=5&russian=0 

суббота, 28 июня 2014 г.

Проксификация программ на Linux

Решение подходит в т.ч. и для windows приложений запускаемых через wine
Ставим пакет dante-client (он даст нам утилиту socksify)
sudo apt-get install dante-client
Настраиваем (в Ubuntu настройки тут – /etc/dante.conf)
В конце файла:
route {
   from: 0.0.0.0/0 to: 0.0.0.0/0 via: 192.168.1.25 port = 3128
   proxyprotocol: http_v1.0
}
Где 192.168.1.25 – адрес http прокси, 3128 – порт прокси.
Запуск нужного приложения делается следующей командой:

socksify <имя_приложения>
Для Wine вобщем-то то же самое, но дописываем еще и имя запускаемой в wine программы, например для World of Warcraft:
socksify wine icq.exe

RPM Packages Verification

The command rpm -V (The options -y and --verify are equivalent) verifies an installed package. It can alert you to changes made to any of the files installed by RPM.
Also, if a package requires capabilities provided by another package, it can make sure the other package is installed, too.
rpm -V
Output format:
SM5DLUGT c filename
Where:
S is the file size.
M is the file's mode.
5 is the MD5 checksum of the file.
D is the file's major and minor numbers.
L is the file's symbolic link contents.
U is owner of the file.
G is the file's group.
T is the modification time of the file.
c appears only if the file is a configuration file. This is handy for quickly identifying config files, as they are very likely to change, and therefore, very unlikely to verify successfully.


Each of the eight attribute flags will only appear if there is a problem. Otherwise, a "." will be printed in that flag's place.
rpm -Vv $(rpm -qf /sbin/ifdown --qf="%{name}\n") | more

 http://www.rpm.org/max-rpm/s1-rpm-verify-output.html
 http://www.rpm.org/max-rpm/s1-rpm-verify-what-to-verify.html

SSH авторизация по ключу

mik@m1k:~$ ssh-keygen -t dsa -b 1024 -f /home/user/.ssh/id_dsa
-t dsa - тип ключа. Есть rsa и dsa. Dsa это для второй версии ssh, которая сейчас везде по умолчанию. Rsa - первая версия ssh.
-b 1024 (optional) длина ключа
-f /home/user/.ssh/id_dsa - (optional) каталог и имя файла где будет сохранен ключ id_dsa и его публичный ключ id_dsa.pub

После ввода команды, программа попросит ввести пароль, который будет запрашиваться при подключении. Его можно пропустить.

В итоге получаем два файла id_dsa и id_dsa.pub. PUB ключ - это публичный, а id_dsa секретный.
 Переносим файл id_dsa.pub на сервер, к которому мы будем подключаться. Помещаем в директорию /home/user/.ssh/ того пользователя под которым мы будем соединяться по ssh.

Делаем это либо в ручную копированием и вставкой ключа, либо следующей командой:
ssh-copy-id -i .ssh/id_rsa.pub root@212.90.160.1
Теперь надо изменить конфигурацию ssh сервера (файл /etc/ssh/sshd_config) той машины куда мы перенесли публичный ключ.
Раскомментируем строки по которым мы разрешим использовать ключи.
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
Переименовываем ключ id_dsa.pub в файл authorized_keys, назначаем файлу правами 600 и оставляем файл в папке /home/user/.ssh.

Пробуем соединиться с сервером:
В случае если имя ключа имеет название по умолчанию (id_dsa), ключ можно не указывать.
 ssh user@212.90.160.1

Если же при генерации ключа было указано имя отличное от id_dsa, например id_dsa2, то нужно явно указать имя ключа.

ssh -i /home/user/.ssh/id_dsa2 user@212.90.160.1

Выставив в конфигурации sshd PermitRootLogin no мы запретим авторизацию по паролю для рута, а указав UsePAM no мы сможем подключиться к серверу только по ключу.

четверг, 29 мая 2014 г.

How to block shells in 777 directories

Add this to your httpd.conf file. Change directory name.
<Directory "/www/site.ru/images">

php_flag engine off
RemoveHandler .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
AddType application/x-httpd-php-source .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp

</Directory>

php_flag engine off - disable php

 RemoveHandler - disable processing of files with given extensions. This directive removes any handler associations for files with the given extensions. Consequently, .htaccess files in subdirectories can undo any associations inherited from parent directories or the server configuration files.

AddType - AddType добавит Content-Type в HTTP-заголовок - это нужно, чтобы браузер показывал исходный код PHP как текст, а не пытался сохранить.
AddType "text/html" 

AllowOverride

Эта директива регулирует отношения между глобальным файлом доступа и пользовательскими файлами .htaccess. В директиве указываются разделенные пробелами опции управления доступом, переопределение которых в файле .htaccess, находящемся в дереве каталогов ниже этого каталога, разрешено. Возможные значения директивы:

• None. Сервер игнорирует файлы .htaccess в этом каталоге. Если вы не намерены использовать для каталога файлы .htaccess, вам следует явно установить эту опцию, поскольку это повысит производительность сервера.

• Аll. По умолчанию пользователи имеют право переопределять в файлах .htaccess все глобальные установки доступа, для которых в этих файлах имеются эквивалентные команды.

• Options. Разрешает использование директивы Options (см. ниже раздел ?Options¦),

• Filelnfo. Разрешает использование в файлах .htaccess директив Add-Туре и AddEncoding (см. раздел ?srm/conf: карта ресурсов сервера¦, содержащий полное описание).

• AuthConfig. Разрешает использование директив AuthName, AuthType, AuthUserFile и AuthGroupFile, необходимых для защиты каталогов паролями.

• Limit. Разрешает использование директивы секционирования <Limit>. См. раздел, посвященный директиве <Limit>, в котором приведено подробное описание.

Options

Директива Options позволяет управлять тем, какие функции сервера доступны для использования в каталоге, указанном в секции <Directory> или в файле .htaccess. В директиве Options можно использовать следующие аргументы:

• None. В указанном каталоге не разрешается использование каких-либо функций.

• All В указанном каталоге разрешается использование всех возможностей (принимается по умолчанию).

• FollowSymLinks. Сервер следует символьным ссылкам, имеющимся в указанном каталоге.

• SymLinksIfOwnerMatch. Сервер следует символьным ссылкам, только если каталог назначения принадлежит тому же пользователю, что и сама ссылка.

• ExecCGI. В указанном каталоге разрешается выполнение сценариев CGI.

• Includes. В указанном каталоге разрешено использование серверных включений. Использование серверных включений требует, чтобы сервер производил синтаксический разбор всех HTML-файлов перед отправкой их клиентам. Нечего и говорить, что это крайне нагружает сервер, поэтому мы бы порекомендовали отключить эту опцию. Если вам необходимы серверные включения, разрешите их на уровне отдельных файлов при помощи директивы AddType, как это описано в разделе ?srm/conf: карта ресурсов сервера¦

• Indexes. Сервер разрешает пользователям заказывать индексную страницу указанного каталога. Выключение этой опции запрещает передачу только списка файлов в каталоге, но не файла index.html.

• IncludesNoExec. Эта директива разрешает использование в указанном каталоге серверных включений, но запрещает запуск из них внешних программ.

 

Order, Deny, Allow

Директива Order управляет состоянием доступа по умолчанию и порядок, в котором доступ разрешается или запрещается. Order может принимать 3 значения:
  • Allow,Deny - доступ по умолчанию запрещен, кроме хостов, указанных в строке после Allow from.
  • Deny,Allow - доступ по умолчанию разрешен, кроме хостов, указанных в строке после Deny from
  • Mutual-failure - разрешен доступ только для тех хостов, которые присутствуют в Allow и отсутствуют в Deny.
Следующий пример отличается только значением Order: "Deny,Allow" вместо "Allow,Deny". Но логика предоставления прав доступа Apache изменится, на первый взгляд, весьма не ожиданно. Доступ будет открыт абсолютно ко всем доменам, даже к поддомену foo.apache.org, явно запрещенному строкой "Deny from foo.apache.org". Это происходит потому, что порядок строк "Allow from ..." и "Deny from ..." не имеет значения. Порядок установки правил задается директивой Order, изходя из чего Апач сначала запрещает доступ к foo.apache.org, а потом перезаписывает это правило, изходя из директивы "Allow from apache.org".

Order Deny,Allow
Allow from apache.org
Deny from foo.apache.org

вторник, 13 мая 2014 г.

Установка tor, privoxy and torsocks in Linux

Try

Debian-like

sudo apt-get update
sudo apt-get install tor tor-geoipdb

Fedora

sudo yum install tor
If you get fault, let's do next:  

Step 1: Add Tor Repository

Firstly we need to add tor yum repository in our system. To create tor repository create file /etc/yum.repos.d/tor.repo and add following content on basis of your system.

For CentOS/RHEL 6

[Tor]
name=Tor Project Repo
baseurl=http://deb.torproject.org/torproject.org/rpm/el/6/$basearch/
gpgcheck=1
enabled=1
gpgkey=http://deb.torproject.org/torproject.org/rpm/RPM-GPG-KEY-torproject.org.asc

For Fedora 20

[Tor]
name=Tor Project Repo
baseurl=http://deb.torproject.org/torproject.org/rpm/fc/20/$basearch/
gpgcheck=1
enabled=1
gpgkey=http://deb.torproject.org/torproject.org/rpm/RPM-GPG-KEY-torproject.org.asc

Step 2: Install Tor

yum install tor

Start Tor

tor
or
sudo /etc/init.d/tor start
sudo /etc/init.d/privoxy start
or
sudo /etc/init.d/torsocks start

Следующие основные пакеты будут автоматически также установлены :
tor  Анонимизирующая сеть для TCP
tor-geoipdb  GeoIP база данных для Tor
torsocks  Упрощает использование SOCKS-совместимых приложений с Tor

Использование torsocks:
torsocks (like a torify) is an improved wrapper that explictly rejects UDP, safely resolves DNS lookups and properly socksifies your TCP connections.
torsocks wget -q -O - ip.appspot.com
or
torify ssh user@host
The configuration file of Privoxy is located in /etc/privoxy/config
# Generally, this file goes in /etc/privoxy/config
#
# Tor listens as a SOCKS4a proxy here:
forward-socks4a / 127.0.0.1:9050 .
confdir /etc/privoxy
logdir /var/log/privoxy
# actionsfile standard  # Internal purpose, recommended
actionsfile default.action   # Main actions file
actionsfile user.action      # User customizations
filterfile default.filter

# Don't log interesting things, only startup messages, warnings and errors
logfile logfile
#jarfile jarfile
#debug   0    # show each GET/POST/CONNECT request
debug   4096 # Startup banner and warnings
debug   8192 # Errors - *we highly recommended enabling this*

user-manual /usr/share/doc/privoxy/user-manual
listen-address  127.0.0.1:8118
toggle  1
enable-remote-toggle 0
enable-edit-actions 0
enable-remote-http-toggle 0
buffer-limit 4096
If you got any problems with torsocks, you need to install and configure it by manually. In my case I had to patch torsocks to prevent arriving errors. https://code.google.com/p/torsocks/issues/detail?id=3