пʼятниця, 23 березня 2012 р.

VSFTPD доступ до директорії /var/www через ftp

Задача підняти ftp сервер для заливки на www сервер вмісту сайту

1. Встановлюємо vsftpd:
         yum install vsftpd 
Можна перед інсталяцією поновити локальний кеш yum check-update

2. Редагуємо конфігураційний файл  /etc/vsftpd/vsftpd.
    Забороняємо заходити на ftp анонімно
         anonymous_enable=NO
    Кожного користувача обмежуємо своєю директорією
         chroot_local_user=YES
    Дозволяємо записувати файли на сервер
         write_enable=YES

3. Робимо щоб сервіс vsftpd піднімався при старті системи через програму setup або за допомогою команди :
        chkconfig vsftpd on

4. Створюємо користувача та призначаємо йому домашню директорію /var/www
         useradd wwwuser
         passwd wwwuser ...
     Редагуємо файл /etc/passwd. Стрічка 
         wwuser:x:501:501::/home/wwwuser:/bin/bash
     повинна виглядати 
         wwuser:x:501:501::/var/www/vhosts/site.ua:/sbin/nologin
       де /var/www -  домашня директорія,
         /sbin/nologin - закриває користувачу вхід в систему (через термінал, ssh ...).

5. Стартуємо ftp сервер
         service vsftpd start

6. Пробуємо зайти на ftp, якщо видно тільки пусту директорію то у вас піднятий selinux і потрібно дозволити користувачам заходити у власну директорію
    setsebool -P ftp_home_dir 1,
дозволити записувати у власні директорії
    setsebool -P allow_ftpd_full_access 1, 
перевіряємо
    getsebool -a


7. Назначаэмо права доступу до домашньої директорії нашого користувача
     chown -R wwwuser /var/www/vhosts/toe.te.ua
     chmod 775 /var/www/vhosts/site.ua

четвер, 22 березня 2012 р.

VSFTP настройка на CentOS


Файл конфігурації vsftpd.conf

listen=YES
listen_address=192.168.158.7
pam_service_name=vsftpd
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_root=/var/ftp/anonymous
dirmessage_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=ftp
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
idle_session_timeout=600
data_connection_timeout=12000
nopriv_user=ftp
ascii_upload_enable=NO
ascii_download_enable=NO
ftpd_banner=Hello.
user_config_dir=/etc/vsftpd/ftpusers
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
userlist_file=/etc/vsftpd/user_list
userlist_enable=YES
userlist_deny=NO
file_open_mode=0777   # Права з якими створюються файли на ftp сервері


 userlist_deny=NO  Без цього параметру видавало помилку "530 Permission denied"

Сворив в системі нового користувача upload
Створив файли в папці  /etc/vsftpd   user_list та chroot_list. В файлі user_list записав upload користувача якому можна підключатися до фтп. Файл chroot_list залишив пустим.
 Створив папку /etc/vsftpd/ftpusers, в якій створив файл upload в якому зберігаються параметри користувачів, а саме
local_root=/var/ftp/upload.
local_umask=0137 # Маска яка накладається file_open_mode

В папці /var/ftp створив дві папки upload та anonymous.

Доступ до папок і запису в них виставляється командами chown та chmod.

Як правильно виставити права на закачуваємі файли?

file_open_mode=0777
local_umask=0137
В даному випадку права по замовченню rwxrwxrwx
          421 421 421
Маска для користувача                              rwx rwx rwx
                                                                     001 021 421
В результаті виходять такі права               rwr--   ---

Маска  local_umask накладається на права по замовченню file_open_mode, якщо маска 077 то ми отримаємо права -rw------.

Якщо потрібно щоб файли які записуються на ftp мали права -rw-rw---, для цього потрібно поставити маску 012. 
Число маски повинно бути тризначним, якщо перед ним не стоїть 0 то воно десяткове.

пʼятниця, 16 березня 2012 р.

Настройка SSH Заборонити підключитися під root.

1. Заборонити підключитися по ssh під root. В файлі /etc/ssh/sshd_config присвоїти наступному параметру "no":
          PermitRootLogin no

середа, 14 березня 2012 р.

HTTP Error 401.2 - Unauthorized: Access is denied due to server configuration. Internet Information Services (IIS)

При авторизації на IIS сервері через проксі сервер SQUID виникає наступна помилка 

HTTP Error 401.2 - Unauthorized: Access is denied due to server configuration.
Internet Information Services (IIS)

Настройки squid такі як "no_cache deny ...", "always_direct allow ...". не допомогли. Скоріше всього IIS використовує NTLM- аутентифікацію, яка не може кешуватися.


Прописуєм на фаерволі доступ на пряму до сайту:
$IPTABLES -A FORWARD -p ALL -s 192.168.1.1/32 -d 80.91.1.1/32 -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -j SNAT -s 192.168.1.1/32 -d 80.91.1.1/32 -o eth2 --to-source 80.95.1.1