Отрывка нет, потому что запись защищена.
Архивы рубрики ‘Centos’
Установка и настройка SVN на Centos
SVN+Apache Apache
1 |
# yum install httpd |
1 |
# nano /etc/httpd/conf/httpd.conf |
1 |
ServerName 192.168.1.71:80 |
Centos 6
1 |
# service httpd start |
1 |
# chkconfig --level 2345 httpd on |
Centos 7
1 |
# systemctl start httpd |
1 |
# systemctl enable httpd |
SVN 1.Устанавливаем SVN и модуль Apache для SVN — DAV
1 |
# yum install subversion mod_dav_svn |
2.Создаем репозитарий. Выставляем корректные права на репозитарий
1 |
# mkdir -p /home/svn |
1 |
# svnadmin create /home/svn/joomla |
1 |
# chown -R apache:apache /home/svn/joomla |
3.Создаем пользователей для доступа к SVN-репозитарию
1 |
# htpasswd -cm /etc/svnusers svnuser1 |
1 2 3 |
New password: Re-type new password: Adding password for user svnuser1 |
1 |
# htpasswd -m /etc/svnusers svnuser2 |
1 2 3 |
New password: Re-type new password: Adding password for user svnuser2 |
1 |
# cat /etc/svnusers |
1 2 |
svnuser1:$apr1$8ht1ODsH$dgbRL3oJug5jWmdMmT97d/ svnuser2:$apr1$wZcYr0EK$A1SCry8pX.40pzibmXYGS/ |
4.Настраиваем Apache на поддержку SVN […]
Установка и настройка Spamassassin+Clamav в связке с Sendmail на Centos 7
1.Установка,настройка,тестирование Spamassassin,spamass-milter.
1 |
# yum install spamass-milter spamassassin |
1 |
# cp /etc/mail/spamassassin/v310.pre /etc/mail/spamassassin/v310.pre~ |
1 |
# cat /etc/mail/spamassassin/v310.pre | grep -v \# | grep -v ^$ |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
loadplugin Mail::SpamAssassin::Plugin::DCC loadplugin Mail::SpamAssassin::Plugin::Pyzor loadplugin Mail::SpamAssassin::Plugin::Razor2 loadplugin Mail::SpamAssassin::Plugin::SpamCop loadplugin Mail::SpamAssassin::Plugin::AWL loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold loadplugin Mail::SpamAssassin::Plugin::WhiteListSubject loadplugin Mail::SpamAssassin::Plugin::MIMEHeader loadplugin Mail::SpamAssassin::Plugin::ReplaceTagscp |
1 |
# cp /etc/mail/spamassassin/local.cf /etc/mail/spamassassin/local.cf~ |
1 |
# nano /etc/mail/spamassassin/local.cf |
# количество «очков спама», что бы письмо было помечено как спам
1 |
required_hits 5 |
# что следует делать с оригинальным сообщением, если оно будет признано спамом # оставить как есть – 0 # прикрепить к отчету как вложение – 1 # добавить к отчету как текст — 2 […]
Установка и настройка Sendmail+Dovecot+TLS/SSL на Centos 7
1.Установка Sendmail+Cyrus-sasl
1 |
# yum install sendmail sendmail-cf sendmail-doc cyrus-sasl-{lib,plain} |
2.Настройка Sendmail
1 |
# cd /etc/mail/ |
1 |
# cp sendmail.mc{,.orig} |
1 |
# nano /etc/mail/sendmail.mc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
divert(-1)dnl include(`/usr/share/sendmail-cf/m4/cf.m4')dnl VERSIONID(`setup for linux')dnl OSTYPE(`linux')dnl define(`confDEF_USER_ID', ``8:12'')dnl dnl define(`confAUTO_REBUILD')dnl define(`confTO_CONNECT', `1m')dnl define(`confTRY_NULL_MX_LIST', `True')dnl define(`confDONT_PROBE_INTERFACES', `True')dnl define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl define(`ALIAS_FILE', `/etc/aliases')dnl define(`STATUS_FILE', `/var/log/mail/statistics')dnl define(`UUCP_MAILER_MAX', `2000000')dnl define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl define(`confAUTH_OPTIONS', `A y')dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confTO_IDENT', `0')dnl FEATURE(`no_default_msa', `dnl')dnl FEATURE(`smrsh', `/usr/sbin/smrsh')dnl FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl FEATURE(redirect)dnl FEATURE(always_add_domain)dnl FEATURE(use_cw_file)dnl FEATURE(use_ct_file)dnl FEATURE(local_procmail, `', `procmail -t -Y -a $h -d $u')dnl FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')dnl FEATURE(`blacklist_recipients')dnl EXPOSED_USER(`root')dnl DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl FEATURE(`accept_unresolvable_domains')dnl LOCAL_DOMAIN(`localhost.localdomain')dnl MAILER(smtp)dnl MAILER(procmail)dnl |
1 |
# make all |
1 |
# systemctl restart sendmail |
1 |
# systemctl enable sendmail |
3.Настройка Sendmail на поддержку TLS/SSL
1 |
# cd /etc/pki/tls/certs |
1 |
# make sendmail.pem |
1 |
# cd /etc/mail |
1 |
# nano sendmail.mc |
1 2 3 4 5 6 7 8 |
define(`CERT_DIR', `/etc/pki/tls/certs')dnl define(`confCACERT_PATH', `CERT_DIR')dnl define(`confCACERT', `CERT_DIR/sendmail.pem')dnl define(`confSERVER_CERT', `CERT_DIR/sendmail.pem')dnl define(`confSERVER_KEY', `CERT_DIR/sendmail.pem')dnl define(`confCLIENT_CERT', `CERT_DIR/sendmail.pem')dnl define(`confCLIENT_KEY', `CERT_DIR/sendmail.pem')dnl DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl |
1 |
# make all |
1 |
# systemctl restart sendmail |
Тестируем TLS-поддержку
1 |
# openssl s_client -starttls smtp -crlf -connect 127.0.0.1:25 |
4.Запуск и добавление в автозагрузку демона аутентификации Cyrus—sasl – saslauthd
1 |
# nano /etc/sysconfig/saslauthd |
1 2 3 |
SOCKETDIR=/run/saslauthd MECH=pam FLAGS= |
1 |
# systemctl restart saslatuhd |
1 |
# systemctl enable saslatuhd |
5.Установка и настройка Dovecot
1 |
# yum install dovecot |
1 |
# cd /etc/dovecot |
1 |
# cp -rp conf.d conf.d~ |
1 |
# cp dovecot.conf dovecot.conf~ |
1 |
# nano conf.d/10-mail.conf |
1 |
mail_location = maildir:~/Maildir |
[…]
Тестирование производительности Web-сервера с помощью Siege
Siege
1 |
siege [options] [url] |
Формат url
1 |
[протокол://] [сервер.домен.xxx] [: порт] [/директория/файл] |
Используемые опции:
1 |
-b |
— не будет делать паузу между запросами(режим тестирования производительности)
1 |
-c |
— количество параллельных запросов, отправляемых за один раз
1 |
-r |
— количество повторов запроса
1 |
-v |
— показывает текущие запросы и ответы в консоли
1 |
-t |
— время теста, можно использовать h,m,s
1 |
-f |
— список URL-ов из файла
1 |
-i |
[…]
Тестирование производительности Web-сервера с помощью ApacheBench
1 |
# yum install httpd-tools |
ApacheBench Usage:
1 |
ab [options] [http[s]://]hostname[:port]/path |
Некоторые параметры утилиты AB
1 |
-A |
auth-username:password — передать данные для базовой аутентификации. То есть, фактически можно тестировать даже если доступ закрыт с помощью базовой аутентификации (htpasswd).
1 |
-c |
concurrency — количество параллельных запросов в единицу времени. По умолчанию, один запрос в единицу времени (можно считать, что в секунду).
1 |
-С |
cookie-name=value […]
Настройка оповещения/автоматического обновления пакетов на Centos с помощью yum-cron
В Centos 5 для этих целей использовался
1 |
yum-updatesd |
В Centos 6 он был заменен на
1 |
yum-cron |
1.Устанавливаем yum-cron
1 |
# yum install yum-cron |
2.Настраиваем конфигурационный файл yum-cron
1 |
# nano /etc/sysconfig/yum-cron |
Не устанавливать пакеты,только проверять наличие обновлений(по умолчанию пакеты устанавливаются(используется no))
1 |
CHECK_ONLY=yes |
Длительность случайной задержки в минутах,которую использует yum(по умолчанию до 60 минут)
1 |
RANDOMWAIT="1" |
E-Mail для оповещения о наличии обновлений […]
Установка и настройка собственного облака на основе owncloud на Centos
1.Устанавливаем необходимые пакеты
1 |
# yum install httpd php php-mysql sqlite php-dom php-mbstring php-gd php-pdo wget |
2.Скачиваем и распаковываем дистрибутив owncloud
1 |
# wget https://download.owncloud.org/community/owncloud-7.x.x.tar.bz2 |
1 |
# tar xvfj owncloud-7.x.x.tar.bz2 -C /home/users/username/sitename/ |
1 |
# mv /home/users/username/sitename/owncloud/* /home/users/username/sitename/ |
3.Временно выставляем права 777 для установки owncloud
1 |
# chown -R username:username /home/users/username/sitename/ |
1 |
# chmod -R 777 /home/users/username/sitename/ |
4.Создаем базу и пользователя с доступом к этой базе
1 |
MariaDB [(none)]> create database cloud; |
1 |
MariaDB [(none)]> grant all privileges on cloud.* to 'clouduser'@'localhost' identified by 'cloudpassword'; |
1 |
MariaDB [(none)]> flush privileges; |
5.Настройка Web-сервера Если используется Nginx+PHP-FPM
1 |
# nano /etc/nginx/conf.d/sitename.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
upstream php-handler { server unix:/var/run/php5-fpm.username.sock; } server { listen 80; server_name sitename; # enforce https return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name sitename; ssl_certificate /etc/nginx/ssl/sitename.pem; ssl_certificate_key /etc/nginx/ssl/sitename.key; access_log /var/log/nginx/sitename.access.log main; error_log /var/log/nginx/sitename.error.log; # Path to the root of your installation root /home/user/username/sitename; # set max upload size client_max_body_size 10G; fastcgi_buffers 64 4K; fastcgi_busy_buffers_size 192K; rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect; rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect; rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect; index index.php; error_page 403 /core/templates/403.php; error_page 404 /core/templates/404.php; location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README){ deny all; } location / { # The following 2 rules are only needed with webfinger rewrite ^/.well-known/host-meta /public.php?service=host-meta last; rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; rewrite ^/.well-known/carddav /remote.php/carddav/ redirect; rewrite ^/.well-known/caldav /remote.php/caldav/ redirect; rewrite ^(/core/doc/[^\/]+/)$ $1/index.html; try_files $uri $uri/ /index.php; } location ~ \.php(?:$|/) { fastcgi_split_path_info ^(.+\.php)(/.+)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param HTTPS on; fastcgi_pass php-handler; fastcgi_index index.php; } # Optional: set long EXPIRES header on static assets location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ { expires 30d; # Optional: Don't log access to assets access_log off; } } |
Если используется Apache Apache(слушает 443 порт) Проверка версии Apache
1 |
# apachectl -v | grep version |
[…]
Установка и настройка безопасного ProFTPD-сервера TLS/SSL на Centos 6/7
1.Настройка небезопасного ProFTPD -сервера
1 |
# yum install proftpd proftpd-utils |
1 |
# cp /etc/proftpd.conf /etc/proftpd.conf~ |
1 |
# nano /etc/proftpd.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
ServerName "My FTP server" ServerIdent off ServerAdmin root@localhost DefaultServer on DefaultRoot ~ !adm AuthPAMConfig proftpd AuthOrder mod_auth_pam.c* mod_auth_unix.c UseReverseDNS off UseIPv6 off IdentLookups off User nobody Group nobody TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 MaxInstances 20 MaxClientsPerHost 5 MaxClientsPerUser 5 MaxHostsPerUser 5 MaxLoginAttempts 3 UseSendfile off LogFormat default "%h %l %u %t \"%r\" %s %b" LogFormat auth "%v [%P] %h %t \"%r\" %s" SystemLog /var/log/proftpd/proftpd.log TransferLog /var/log/proftpd/xfer.log ExtendedLog /var/log/proftpd/auth.log AUTH auth <Global> Umask 022 AllowOverwrite yes <Limit ALL SITE_CHMOD> AllowAll </Limit> </Global> |
1 |
# proftpd –t |
Centos 6
1 |
# chkconfig --level 2345 proftpd on |
1 |
# /etc/init.d/proftpd start |
Centos 7
1 |
# systemctl enable proftpd |
1 |
# systemctl start proftpd |
Настройка firewall Iptables
1 |
# iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT |
1 |
# iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT |
1 |
# nano /etc/sysconfig/iptables-config |
1 |
IPTABLES_MODULES="ip_conntrack_ftp" |
1 |
# /etc/init.d/iptables save |
Firewalld
1 |
# firewall-cmd --permanent --add-port=21/tcp |
1 |
# firewall-cmd --reload |
2.Настройка ProFTPD на использование TLS/SSL протокола
1 |
# mkdir /etc/ssl/proftpd |
1 |
# openssl req -x509 -days 3650 -nodes -newkey rsa:1024 -keyout /etc/ssl/proftpd/proftpd.key -out /etc/ssl/proftpd/proftpd.crt |
1 |
# chmod 600 /etc/ssl/proftpd/proftpd.key |
1 |
# nano /etc/proftpd.conf |
1 |
PassivePorts 49152 65534 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<IfDefine TLS> TLSEngine on #TLSRequired on TLSRSACertificateFile /etc/ssl/proftpd/proftpd.crt TLSRSACertificateKeyFile /etc/ssl/proftpd/proftpd.key TLSCipherSuite ALL:!ADH:!DES TLSOptions NoCertRequest TLSVerifyClient off #TLSRenegotiate ctrl 3600 data 512000 required off timeout 300 TLSLog /var/log/proftpd/tls.log <IfModule mod_tls_shmcache.c> TLSSessionCache shm:/file=/var/run/proftpd/sesscache </IfModule> </IfDefine> |
Если расскоментировать опцию #TLSRequired on ,тогда только TLS/SSL соединения будут разрешены. Чтобы […]
Защита wp-login.php от bruteforce-атак средствами Nginx
1.Определяем имя(requests),размер(10m) зоны и кол-во запросов в секунду(1 запрос в секунду) Также определяем тип ошибки при срабатывании правил(по умолчанию стоит 503).Изменим статус на 444. Параметр limit_req_status можно указывать как глобально в секции http {..} , так и локально для конкретного location {..}. В данном случае указано глобально.
1 |
# nano /etc/nginx/nginx.conf |
1 2 3 4 5 6 |
http { ….. limit_req_zone $binary_remote_addr zone=requests:10m rate=1r/s; limit_req_log_level warn; limit_req_status 444; } |
2.В вирт.хосте Nginx для WordPress […]