星期五, 9月 30, 2016

vsftpd @CentOS 7.2

Vsftpd - 一個歷久不衰的老牌FTP 軟體,原本以為可以輕輕鬆鬆地架設起來,沒想到 真沒想到限制使用者目錄那搞了許久。(苦笑)
只要我限制使用者只能在家目錄的時候,登入就會出現refusing to run with writable root inside chroot(),解除就正常,後來爬了文一下才知道。(參考下方連結網站說明)

這次沒意外的也是在CentOS7.2的平台上運作(笑)

1.安裝vsftp
yum install vsftpd
2.設定vsftp
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to  FTP service.
user_config_dir=/etc/vsftpd/userconf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
chroot_local_user=YES
allow_writeable_chroot=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=NO
tcp_wrappers=YES
 3.啟動服務
systemctl start vsftpd
systemctl enable vsftpd
4.設定防火牆
firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
5.設定selinux (或是停用)
vi /etc/selinux/config
 SELINUX=disabled
或是
setsebool -P allow_ftpd_full_access 1
setsebool -P ftp_home_dir 1
6.限制速度
mkdir -p /etc/vsftpd/userconf
vi /etc/vsftpd/userconf/user
local_max_rate=100000
7.進階設置,限制N次錯誤鎖定M秒
vi /etc/pam.d/vsftpd

auth required pam_tally2.so deny=N unlock_time=M



Reference
Install vsftpd for CentOS 7
[CentOS 7] 傳輸檔案的好伙伴,老當益壯的 FTP 伺服器 - vsFTPd
vsftpd解決方案 : refusing to run with writable root inside chroot()

星期四, 9月 22, 2016

Disable Cipher Block Chaining (CBC) Mode Ciphers and Weak MAC Algorithms in SSH

話說今天使用OpenVAS做弱點掃描的時候,發現弱點
SSH Weak Encryption Algorithms Supported

Vulnerability Detection Result
The following weak client-to-server encryption algorithms are supported by the remote serv↵
ice:

aes128-cbc
arcfour256
cast128-cbc
aes192-cbc
3des-cbc
arcfour128
rijndael-cbc@lysator.liu.se
aes256-cbc
arcfour
blowfish-cbc

The following weak server-to-client encryption algorithms are supported by the remote serv↵
ice:

aes128-cbc
arcfour256
cast128-cbc
aes192-cbc
3des-cbc
arcfour128
rijndael-cbc@lysator.liu.se
aes256-cbc
arcfour
blowfish-cbc
稍微爬了一下,發現解決方法也很簡單,打開SSH加入以下內容
vi /etc/ssh/sshd_config

Ciphers aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha1
重新啟動服務
systemctl restart sshd
打完收工

Reference

How to harden SSH on CentOS 6.5

FAQ: How do I disable Cipher Block Chaining (CBC) Mode Ciphers and Weak MAC Algorithms in SSH in IBM PureData System for Operational Analytics

自己的Yum Server 自己架 (CentOS 7)

突然有種自己的文章一直在歪樓的感覺 XD

因為工作需要,使用的設備也一一更新到CentOS 7.2之後,發現每台機器都要連到網路上去做更新實在是非常浪費頻寬且不便於管理,於是便興起了自己架設Yum Server的念頭。
整個過程可以說是非常的簡單,沒有什麼特別複雜的部份,稍微紀錄一下這幾個簡單的步驟。

一、伺服器端
1.安裝CentOS 7
這部份選擇預設的最小安裝即可。
空間的部份,我一開始是劃分30GB,但沒想到光是CentOS 7就佔了27GB,這部份就依個人需求調整吧。
2.安裝必要的套件
yum install httpd yum-arch createrepo  -y
如果找不到yum-arch 可以透過下列連結下載
yum install wget -y
wget ftp://rpmfind.net/linux/epel/6/ppc64/yum-arch-2.2.2-9.el6.noarch.rpm
rpm -ivh yum-arch-2.2.2-9.el6.noarch.rpm
 3.準備好要存放檔案的資料夾
mkdir -p /var/www/html/yum/centos/7/os/x86_64
mkdir -p /var/www/html/yum/centos/7/updates/x86_64
mkdir -p /var/www/html/yum/centos/7/extras/x86_64
 4.同步網路上的來源 (可以選擇使用mirrordir或是rsync)
由於看到有鄉民說他使用mirrordir有同步上的問題,所以我就直接使用rysnc(沒有實際測試)
其中同步的來源請自行挑選


rsync -aqzH --delete centos.cs.nctu.edu.tw::CentOS/7.2.1511/os/x86_64 /var/www/html/yum/centos/7/os

rsync -aqzH --delete centos.cs.nctu.edu.tw::CentOS/7.2.1511/updates/x86_64 /var/www/html/yum/centos/7/updates

rsync -aqzH --delete centos.cs.nctu.edu.tw::CentOS/7.2.1511/extras/x86_64 /var/www/html/yum/centos/7/extras
5.yum arch 分析下載好的RPM套件
yum-arch /var/www/html/yum/centos/7/os/x86_64
yum-arch /var/www/html/yum/centos/7/updates/x86_64
yum-arch /var/www/html/yum/centos/7/extras/x86_64
 6.產生XML Metadata
createrepo /var/www/html/yum/centos/7/os/x86_64
createrepo /var/www/html/yum/centos/7/updates/x86_64
createrepo /var/www/html/yum/centos/7/extras/x86_64
 7.啟用網站服務,並在防火牆中允許80 PORT
chkconfig httpd on
systemctl start httpd
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --reload
8.把上述4 ~ 6的步驟寫成sh 並排程自動更新

 二、使用端
1.修改Client端的更新來源
vi /etc/yum.repo/CentOS-Base.repo
把原本的mirror list 跟baseurl 註解 加入伺服器的來源,請把ip自行替
[base]
baseurl=http://192.168.1.168/yum/centos/$releasever/os/$basearch/
gpgkey=http://192.168.1.168/yum/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-7

[updates]
baseurl=http://192.168.1.168/yum/centos/$releasever/updates/$basearch/
gpgkey=http://192.168.1.168/yum/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-7

[extras]
baseurl=http://192.168.1.168/yum/centos/$releasever/extras/$basearch/
gpgkey=http://192.168.1.168/yum/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-7

Reference
自建 YUM Server (CentOS 6.4)
Yum Server For Centos 7
CentOS Linux 6.8