PASS_MAX_DAYS
密码最长的有效期设置最好设置的有效期较短比较安全
PASS_MIN_DAYS
与第一个相反,设置最短密码有效期时间
PASS_MIN_LEN
设置密码长度不低于xxx位,建议设置的密码为8位以上较为安全
PASS_WARN_AGE
密码失效日期警告天数
使用命令 vim /etc/pam.d/su
添加一行内容为auth required pam_wheel.sogroup=<用户名>
指定xxx用户可以使用su
SSH 配置文件:
/etc/ssh/sshd_config
修改该文件的#PermitRootLogin yes
一行,把yes
改为no
。
PasswordAuthentication
yes 改为 on
禁止使用密码验证方式登录系统
ChallengeResponseAuthentication
yes 改为 no
UsePAM
yes 改为 no
则标识拒绝登录ssh服务器
路径: /etc/ssh/sshd_config
在文件末尾添加上
allowusers [email protected]
192.168.220.138 为我的ip,可以更改为其他ip地址
设置之后,其他主机都被拒绝访问连接,只能138这个ip可以访问
ssh默认端口为22 Port
将/etc/ssh/sshd_config
中的Port 22
改为其他任何端口
只要不超过65535
不占用特殊端口就行
如果把默认端口更改为其他端口后,出现连接失败的状况
提示: " Connection refuse .... " 的字样,可能防火墙屏蔽了指定端口
参考链接
解决方案:
1.执行 " service iptables stop"
把防火墙关闭,就可以访问目标端口
service iptablesstart
开启防火墙
service iptablesstop
关闭防火墙
service iptablesstatus
查看防火墙状态
2.或者 添加防火墙规则,添加指定端口号
FTP Server 服务器是一种专供其他电脑检索文件和存储的特殊电脑。文件服务器通常比一般的个人电脑拥有更大的存储容量,并具有一些其他的功能,如磁盘镜像、多个网络接口卡、热备援多电源供应器。到后来,文件服务器逐渐进化成带有RAID(Redundant Array of Independent Disk)存储子系统和其他高可用特性的高性能系统。
参考链接: FTP服务器
参考链接: FTP Server
/etc/vsftpd/user_list
# 根据vsftpd.conf 的 userlist_deny
进行决定/etc/vsftpd/ftpusers
# 指定了某些用户限制访问FTP服务器/etc/vsftpd/vsftpd.conf
名称 | 内容 |
---|---|
允许匿名登录 | anonymous_enable=YES |
允许本地local登录 | local_enable=YES |
开放本地用户写权限 | write_enable=YES |
激活上传和下载日志 | xferlog_enable=YES |
数据连接端口 | connect_from_port_20=YES |
允许匿名用户上传文件 | anon_upload_enable=YES |
开 启匿名用户的写和创建目录的权限 | anon_mkdir_write_enable=YES |
匿名用户对文件系统的上传目录具有写权限 | write_enable=YES |
----- | ------- |
Apache服务 参考链接
简单了解下apache;进行安装apache 等相关服务
参考链接
配置文件: /etc/httpd/conf/httpd.conf
debain系统:
service apache2 start # 开启apache2服务
service apache2 stop # 关闭apache2服务
service apache2 restart #重启apache2服务
centos系统:
service httpd start # 开启httpd服务
service httpd stop #关闭httpd服务
service httpd restart #重启httpd服务
使用专用的用户账号和用户组运行apache服务
groupadd apache
useradd apache -g apache
- User apache
- Group apache
如果开启状态下,使用ps-aux 命令 查看apache进程可找到什么类型的用户在运行
Server Root /usr/local
/apache
chmod 600 /etc/httpd/conf/httpd.conf
,设置配置文件属主可读写chmod 644 /var/log/httpd/*.log
设置日志文件为属主可读写,其他用户只有只读权限
参考链接
apache中日志记录格式有两种,普通型(common)和复合型(combined),安装时默认使用普通型
配置文件: /etc/httpd/conf/httpd.conf
%h | %I | %u | %t | %r | $>s | $b |
---|---|---|---|---|---|---|
远端主机 | 远端登录名 | 远端用户名 | 时间 | 请求第一行 | 状态 | 传送字节 |
1. LogLevel notice # 日志的级别
2. Error /etc/httpd/logs/error_log # 日志的保存位置
1.#CustomLog logs/access_log common
#访问日志配置文件
2. #LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio # 日志的格式
1. 修改 /etc/httpd/conf/httpd.conf 配置文件
1. Order Deny ,Allow
2. Deny from all
1. Order Allow,Deny
2. Allow from /web
3. /web 为网站的根目录
删除/etc/httpd/conf/httpd.conf配置文件中的Options
的Indexes
1. 修改httpd.conf文件
1.#Options Indexes FollowSymLinks #删掉Indexes
2.Options FollowSymLinks
3.AllowOverride None
4.Order allow,deny
5.Allow from all
Indexes的作用就是当web根目录下没有index.html文件时,自动显示目录所有文件
隐藏web页面显示Apache版本号以及其他敏感信息
修改 httpd.conf 文件
- 找到 “
ServerSignature On
” 一行
把 On 改为off
- “
ServerTokens OS
” 改为 “ServerTokens Prod
”
3.关闭TRACE功能,防止Trace方法被恶意利用
在httpd.conf文件中添加一行
"TraceEnable off
"
注意: 该参数适用于apache 2.0以上版本
使用htpasswd命令创建密码文件,Apache将会用它来验证用户身份进行访问web网站
命令 | 参数 |
---|---|
-c | 创建加密的文件 |
-n | 不更新加密文件;只将加密后的用户名密码显示在屏幕上 |
-m | 默认采用MD5算法对密码进行加密 |
-d | 采用CRYPT算法对密码进行加密 |
-p | 不对密码进行加密,即明文密码 |
-s | 采用SHA算法对密码进行加密 |
-b | 在命令行一并输入用户名和密码而不是根据提示输入密码 |
-D | 删除指定用户 |
[root@localhost httpd]# htpasswd -c /etc/httpd/.htpasswd admin
# 设置用户名
New password: # 输入密码
Re-type new password: # 重新输入一次新的密码
Adding password for user admin
[root@localhost httpd]#
ls -a
查看.htpasswd 该隐藏文件
cat filename
查看文件内容
/var/www/html/1.php # web目录文件
这里我们给1.php这个文件进行限制登录
使用nano命令,设置.htaccess文件
nano /var/www/html/.htaccess
写入以下代码:
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/httpd/.htpasswd
Require valid-user
最后通过浏览器访问该xxx/1.php文件,提示需要账号密码才能访问该页面
chkconfig --list
查看相关服务,2,3,4,5
如果为开启状态标识服务已经是启动状态
who
查看系统用户状态
关闭|启动|重启某个服务
chkconfig --level stop|on|restart
系统日志文件(默认):
/var/log/messages
安全日志文件(默认):/var/log/secure
cron日志文件:/var/log/cron
查看日志文件:cat /etc/logrotate.d/syslog
检查日志文件是否存在;并备份文件
备份方法:cp -p /etc/logrotate.d/syslog
使用chattr命令对以下文件设置不可更改属性
[root@localhost sysconfig]# chattr +i /etc//passwd
[root@localhost sysconfig]# chattr +i /etc/shadow
[root@localhost sysconfig]# chattr +i /etc/group
[root@localhost sysconfig]# chattr +i /etc/gshadow
1.参考文章
2. 阿里云
3.参考文章
4.SSH安全配置
5. Linux安全加固方法