Linux系统安全配置 | 您所在的位置:网站首页 › 系统配置有哪些 › Linux系统安全配置 |
目录
账户锁定安全策略配置账户密码安全配置限制任何用户使用su切换用户
SSH安全加固1.禁止root远程登录
2.禁止使用密码登录,改用密钥登录系统3.防止绕过2的验证方式登录4. SSH登录安全机制5. 设置某个ip或ip段的主机连接目标机SSH端口6. 更改默认端口
FTP服务安全配置1. 什么是FTP服务2.Linux下vsftpd的默认主配置文件
Apache 服务安全配置1.什么是apache服务2.账号设置3. 授权设置3.1修改httpd.conf文件,找到 server root设置为:3.2设置文件夹权限,非root用户禁止修改浏览
4.日志设置4.1Apache 日志格式分类(1)4.1.1 错误日志:4.1.2 访问日志:
5.禁止访问外部文件5.1 禁止访问除了WEB目录以外的文件5.2 设置可访问目录5.3 禁止目录列出
6.隐藏敏感信息6.1 隐藏版本号
7. 安全配置apache服务(使用密码认证机制访问策略)7.1 创建密码文件7.2 访问控制7.3 创建.htaccess文件,进行限制访问登录
检查相关服务状态审计策略1.1 系统日志策略配置文件1.2 系统特殊文件安全性
参考文章
账户锁定安全策略配置
账户密码安全配置
配置文件: /etc/login.defs PASS_MAX_DAYS 密码最长的有效期设置 最好设置的有效期较短比较安全 PASS_MIN_DAYS 与第一个相反,设置最短密码有效期时间 PASS_MIN_LEN 设置密码长度不低于xxx位,建议设置的密码为8位以上较为安全 PASS_WARN_AGE 密码失效日期警告天数 限制任何用户使用su切换用户使用命令 vim /etc/pam.d/su 添加一行内容为auth required pam_wheel.sogroup= 指定xxx用户可以使用su SSH安全加固SSH 配置文件: /etc/ssh/sshd_config 1.禁止root远程登录 修改该文件的#PermitRootLogin yes一行,把yes改为no。 PasswordAuthentication yes 改为 on 禁止使用密码验证方式登录系统 ChallengeResponseAuthentication yes 改为 no 4. SSH登录安全机制UsePAM yes 改为 no 则标识拒绝登录ssh服务器 路径: /etc/ssh/sshd_config 在文件末尾添加上 allowusers [email protected] 192.168.220.138 为我的ip,可以更改为其他ip地址设置之后,其他主机都被拒绝访问连接,只能138这个ip可以访问 6. 更改默认端口ssh默认端口为22 Port 将/etc/ssh/sshd_config 中的Port 22 改为其他任何端口 只要不超过65535 不占用特殊端口就行 如果把默认端口更改为其他端口后,出现连接失败的状况 提示: " Connection refuse .... " 的字样,可能防火墙屏蔽了指定端口参考链接 解决方案: 1.执行 " service iptables stop" 把防火墙关闭,就可以访问目标端口 service iptables start 开启防火墙 service iptables stop 关闭防火墙 service iptables status 查看防火墙状态 2.或者 添加防火墙规则,添加指定端口号 FTP服务安全配置 1. 什么是FTP服务FTP Server 服务器是一种专供其他电脑检索文件和存储的特殊电脑。文件服务器通常比一般的个人电脑拥有更大的存储容量,并具有一些其他的功能,如磁盘镜像、多个网络接口卡、热备援多电源供应器。到后来,文件服务器逐渐进化成带有RAID(Redundant Array of Independent Disk)存储子系统和其他高可用特性的高性能系统。 参考链接: FTP服务器 参考链接: FTP Server 2.Linux下vsftpd的默认主配置文件 /etc/vsftpd/user_list # 根据vsftpd.conf 的 userlist_deny进行决定/etc/vsftpd/ftpusers # 指定了某些用户限制访问FTP服务器/etc/vsftpd/vsftpd.conf 以上三个是vsftpd的主要配置文件 详细参考 : 参考链接 参考链接 名称内容允许匿名登录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 服务安全配置 1.什么是apache服务Apache服务 参考链接 简单了解下apache;进行安装apache 等相关服务 参考链接 2.账号设置配置文件: /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服务 如果没有专用的用户,则新键用户,并在apache配置文件中指定 i. 创建apache用户组 groupadd apacheii. 创建Apache 用户 并加入到Apache用户组 useradd apache -g apacheiii. 将下面两行设置参数加入apache配置文件的httpd.conf中 User apacheGroup apache 检查httpd.conf 配置文件是否允许使用非专用账户(如 root 用户) 运行apache服务,Linux默认使用apache 或者 nobody用户 如果开启状态下,使用ps-aux 命令 查看apache进程可找到什么类型的用户在运行 3. 授权设置 3.1修改httpd.conf文件,找到 server root设置为:Server Root /usr/local/apache 默认设置为/etc/httpd/ 3.2设置文件夹权限,非root用户禁止修改浏览 执行 chmod 600 /etc/httpd/conf/httpd.conf,设置配置文件属主可读写执行 chmod 644 /var/log/httpd/*.log设置日志文件为属主可读写,其他用户只有只读权限 /etc/httpd/conf/httpd.conf 默认权限为644,根据需要进行修改权限为600/var/log/httpd/*.log 日志文件默认权限644![]() 参考链接 4.1Apache 日志格式分类(1)apache中日志记录格式有两种,普通型(common)和复合型(combined),安装时默认使用普通型 配置文件: /etc/httpd/conf/httpd.conf 删除/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 allIndexes的作用就是当web根目录下没有index.html文件时,自动显示目录所有文件 6.隐藏敏感信息 6.1 隐藏版本号隐藏web页面显示Apache版本号以及其他敏感信息 修改 httpd.conf 文件 找到 “ServerSignature On” 一行 把 On 改为 off“ServerTokens OS” 改为 “ServerTokens Prod” 3.关闭TRACE功能,防止Trace方法被恶意利用 在httpd.conf文件中添加一行 " TraceEnable off" 注意: 该参数适用于apache 2.0以上版本 7. 安全配置apache服务(使用密码认证机制访问策略) 7.1 创建密码文件使用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 查看文件内容 在httpd.conf文件中添加以下内容 这里我们给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 审计策略 1.1 系统日志策略配置文件系统日志文件(默认): /var/log/messages 安全日志文件(默认): /var/log/secure cron日志文件: /var/log/cron 查看日志文件:cat /etc/logrotate.d/syslog 检查日志文件是否存在;并备份文件 备份方法:cp -p /etc/logrotate.d/syslog 1.2 系统特殊文件安全性使用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安全加固方法 |
CopyRight 2018-2019 实验室设备网 版权所有 |